HTML araç ipucunda satır başı nasıl kullanabilirim?


330

Şu anda sitemize ayrıntılı araç ipuçları ekliyorum ve araç ipucu biçimlendirmek için taşıma iadelerini kullanmak için (bir whiz-bang jQuery eklentisine başvurmak zorunda kalmadan istiyorum!)

İpucu eklemek için titleözniteliğini kullanıyorum . Her zamanki sitelere baktım ve temel şablonunu kullanarak:

<a title='Tool?Tip?On?New?Line'>link with tip</a>

Ben yerine ?ile denedim :

  • <br />
  • &013; / &#13;
  • \r\n
  • Environment.NewLine (C # kullanıyorum)

Yukarıdakilerin hiçbiri çalışmaz. Mümkün mü?


Oldukça zor, ancak bir geçici çözüm olabilir. Başlığınızdaki tüm boşlukları kırılmaz alana dönüştürün &nbsp;. Ardından çizginin kırılmasını istediğiniz yere boşluk bırakın. &nbsp;Alanınızdan önce bir grup karakter eklemeniz de gerekebilir (satır sonu).
jumxozizi

Yanıtlar:


292

Kendinizi tekmelemek çok basit ... sadece enter tuşuna basın!

<a title='Tool
Tip
On
New
Line'>link with tip</a>

Firefox çok satırlı araç ipuçlarını hiç göstermeyecek - yeni satırları hiçbir şeyle değiştirmeyecek.


69
Modası geçmiş Bu cevap, Firefox yapar (ben V25 kullanıyorum) şimdi başlıklarında ekran yeni satırlar. O çalışır \n, \u000Ave \x0A.
Halcyon

1
@Halcyon, diğer okuyuculara açıklık getirmek için yukarıdaki üç kod HTML gibi görünmüyor. Daha çok C-türetilmiş dize kaçış dizilerine benziyorlar.
Sam

3
@Sam ne demek istediğini anlamıyorum. \x0A(bayt), yeni satıra karşılık gelen karakter kodudur. Aynısı \u000A(unicode) için. \naynı zamanda yeni satır.
Halcyon

13
@Halcyon, bu kaçış dizilerini titleFirefox ve Chrome'daki bir özniteliğe eklemeyi denedim ve tam anlamıyla araç ipucunda sunuldu. Daha sonra, muhtemelen bu sözdizimini hangi karakterlerin (kaçış dizileri değil) kullanılması gerektiğini bildirmenin bir yolu olarak kullandığınızı fark ettim. Benim yorum, diğer insanlara HTML gibi kaçış dizilerini koymaya çalışmamaları için onları uyarmak, böylece benim gibi zaman kaybetmemek.
Sam

4
@Tarquin HTML'de çalışmazlar, sadece PHP'nin çift tırnaklarında çalışırlar, çünkü bu PHP'nin çift tırnaklarının bir özelliğidir.
Brilliand

307

En son spesifikasyon satır besleme karakterine izin verir, bu nedenle öznitelik veya varlık içinde basit bir satır sonu &#10;(karakterlerin #ve ;gerekli olması gerektiğini unutmayın ) TAMAM.


4
Chrome tarafından desteklenmiyor, ancak Firefox için!
Alaeddine

5
İkisini de denedim &#10;ve &#13;. &#13;50.0.2661.94 (64 bit) krom sürümünde amaçlanan "satır sonları" na saygı göstermez. &#10;Chrome, firefox ve opera'nın (hepsi 64 bit Ubuntu için) ve internet explorer sürüm 11.0'ın ve Windows'ta bazı değişikliklerin mevcut sürümlerinde iyi çalışıyor.
Tass

Bu benim için özellikle yararlı çünkü Wordpress yazı düzenleyicide yapmaya çalışıyordum.
ed1nh0

13
& # 10; IE, Firefox ve Chrome'da güzel çalışır. Teşekkürler!
Daniel

Krom için & # 013; ....... Örnek: title = "title1" title2 & title3 "
Malik Zahid

75

Karakter 10'u deneyin. Ancak Firefox'ta çalışmaz. :(

Metin (varsa) tarayıcıya bağlı bir şekilde görüntülenir. Küçük araç ipuçları çoğu tarayıcıda çalışır. IE ve Safari'de uzun araç ipuçları ve satır kırma işleri ( yeni satırsonu için &#10;veya kullanın &#13;). Firefox ve Opera yeni satırları desteklemez. Firefox uzun araç ipuçlarını desteklemez.

http://modp.com/wiki/htmltitletooltips

Güncelleme:

Ocak 2015 itibariyle Firefox, &#13;bir HTML titleözelliğine satır sonu eklemek için kullanmayı destekliyor . Aşağıdaki snippet örneğine bakın.

<a href="#" title="Line 1&#13;Line 2&#13;Line 3">Hover for multi-line title</a>


2
+1. Bir jQuery eklentisi kullanmaya karar verirseniz, optimum erişilebilirlik için içeriğini title özelliğinden okumalı ve çalışma zamanında bir satır sonu yerine rastgele görünmez bir karakter kullanmalıdır.
Kent Fredric

+1. İlginç şeyler. Hala ortaya çıktığında bazı UA'ların başlığı kırpması sorunu var - hatırladığım gibi FF2, ancak bu günlerde daha az sorun.
roborourke

3
Ocak 2015 itibariyle Firefox satır sonu eklemek için &#13;bir titleöznitelikte kullanmayı destekliyor .
pseudosavant

SV11 öğesinde IE11'de çalışmak için satır sonları alamadım <title>. Bununla daha başarılı olan var mı? Yukarıda / aşağıda belirtilen char kodlarını denedim, hiçbiri işe yaramadı.
RemEmber

64

Bunu IE, Chrome, Safari, Firefox'ta test etti (en son sürümler 2012-11-27):
&#13;

Hepsinde çalışıyor ...


İlk yöntem (kod satırları kırmak) daha basit görünüyor, ancak js-kod programları otomatik biçimlendiriciler için durmaz.
horiatu

@Camilo Martin, newline ve linefeed platformlar arasında aynı. &#10;Windows hat beslemesi gibi unix hat beslemesidir. Benzer şekilde, &#13;her iki platform için de yeni satır. Spec belirtir elbette satır besleme (LF) karakter &#10;hem (tüm?) Platformlarında.
mat

2
@matty Seni anladığımdan emin değilim - kullanılacak doğru şey unix gibi görünüyor LF(ki bu protokoller ve araçlar arasında standart bir çizgi beslemesi ), CRsadece eski Mac'ler (ve diğer karanlık platformlar) tarafından kullanıldı ve yersiz görünüyor.
Camilo Martin

Kafa karıştırıcı kelime seçimim için özür dilerim. Bir satır besleme (# 10) dediğim şey, genellikle LF olarak adlandırılmasına rağmen gerçekten yeni bir satır. Newline (# 13) dediğim şey gerçekten bir satırbaşı. Her durumda, bu değerlerin tüm platformlarda aynı olmasıydı. Pencerelerin (bir satırı sonlandırmak için bu karakterlerin her ikisini de kullanarak) ve mac'un (bir satırı sonlandırmak için "yanlış" karakterini kullanarak) bir başlık özelliğinde hangi HTML öğesinin kullanılacağıyla alakasız olması gerekir. Spec &#10;, görünüşe göre &#13;birçok durumda da çalışıyor.
mat

2
düz & # 13; Linux'ta krom için çalışmaz. Sekans & # 13; & # 10; ancak.
Sam Watkins

51

Ayrıca, böyle bir Javascript ile title özniteliğini ayarlıyorsanız, belirtmeye değer:

divElement.setAttribute("title", "Line one&#10;Line two");

Çalışmaz. Bu ASCII ondalık 10'u Javascript ile kaçış biçiminde bir ASCII onaltılık A ile değiştirmeniz gerekir. Bunun gibi:

divElement.setAttribute("title", "Line one\x0ALine two");


@MaxNanasy Kabul ve eşdeğerdir ( \nyine de kod 10 anlamına gelir)
rvighne

29

Firefox 12'den itibaren artık satır besleme HTML varlığını kullanarak satır sonlarını destekliyorlar: &#10;

<span title="First line&#10;Second line">Test</span>

Bu, IE'de çalışır ve HTML5 spesifikasyonuna göre doğrudur. title özniteliği .


16

JQuery kullanıyorsanız:

$(td).attr("title", "One \n Two \n Three");

çalışacak.

IE-9'da test edildi: çalışma.


MVC 3'te çalıştı Örnek: @ Html.DropDownList ("RegId", null, "Bölge Seç", yeni {title = "Açılır menüden bir bölge seçin, \ n geçerli sözleşme adlarının bir listesini almak için gereklidir" , @class = "form-kontrol", onchange = "getContractNames (this)", style = "width: 200px;"})
Warren LaFrance

15

Çözüme bir katkı olarak, böyle bir şey yapmanız gerektiğinde sekmeler için &#013;de kullanabiliriz &#009.

<button title="My to-do list:&#013;&#009;-Item 2&#013;&#009;-Item 3&#013;&#009;-Item 4&#013;&#009;&#009;-Subitem 1">TEST</button>

gösteri

resim açıklamasını buraya girin


8

&#13; tüm ana tarayıcılarda çalışacak (IE dahil)


13
Bu cevap modası geçmiş; & # 13; Chrome ve diğer tarayıcılarda da çalışır.
SaeX

7

Partiye geç kaldığımı biliyorum, ama sadece bu çalışmayı görmek isteyenler için bir demo var: http://jsfiddle.net/rzea/vsp6840b/3/

Kullanılan HTML:

<a href="#" title="First Line&#013;Second Line">Multiline Tooltip</a>
<br>
<br>
<a href="#" title="List:
  • List item here
  • Another list item here
  • Aaaand another list item, lol">Unordered list tooltip</a>

2
En güncel yanıt ve Firefox'ta harika çalışıyor. Teşekkürler.
Marwan مروان

6

Buna inanmıyorum. Firefox 2 zaten uzun link başlıklarını kırpıyor ve gerçekten sadece az miktarda yardım metni iletmek için kullanılmalıdır. Daha fazla açıklama metnine ihtiyacınız varsa, bunun bağlantıyla ilişkili bir paragrafa ait olduğunu öneririm. Daha sonra, bu paragrafları gizlemek ve fareyle üzerine gelindiğinde araç ipuçları olarak göstermek için ipucu javascript kodunu ekleyebilirsiniz. Tarayıcılar arası IMO'yu çalıştırmanın en iyi yolu budur.


6

&#xD; <----- Bu, Geri Dönüşü eklemek için gereken metindir.


1
Tüm tarayıcılarda çalışır :)
MonoThreaded

6

Chrome 16 ve muhtemelen daha önceki sürümlerde "\ n" kullanabilirsiniz. Bir sidenote olarak, "\ t" de çalışır


6

Bunların hepsini test etmemiz gereken bir gereksinimimiz vardı, işte paylaşmak istediğim şey

document.getElementById("tooltip").setAttribute("title", "Tool\x0ATip\x0AOn\x0ANew\x0ALine")
<p title='Tool
Tip
On
New
Line'>Tooltip with <pre>
  new 
  line</pre> Works in all browsers</p>
<hr/>

<p title="Tool&#13;Tip&#13;On&#13;New&#13;Line">Tooltip with <code>&amp;#13;</code> Not works Firefox browsers</p>
<hr/>

<p title='Tool&#10;Tip&#10;On&#10;New&#10;Line'>Tooltip with <code>&amp;#10;</code> Works in some browsers</p>
<hr/>

<p title='Tool&#x0aTip&#x0aOn&#x0aNew&#x0aLine'>Tooltip with <code>&amp;#xD;</code> May work in some browsers</p>
<hr/>

<p id='tooltip'>Tooltip with <code>document.getElementById("tooltip").setAttribute("title", "Tool\x0ATip\x0AOn\x0ANew\x0ALine")</code> May work in some browsers</p>
<hr/>


<p title="List:
  • List item here
  • Another list item here
  • Aaaand another list item, lol">Tooltip with <code></code>Unordered list tooltip</p>
<hr/>


<p title='Tool\nTip\nOn\nNew\nLine'>Tooltip with <code>\n</code> May not work in modern browsers</p>
<hr/>

<p title='Tool\tTip\tOn\tNew\tLine'>Tooltip with <code>\t</code> May not work in modern browsers</p>
<hr/>

<p title='Tool&#013;Tip&#013;On&#013;New&#013;Line'>Tooltip with <code>&amp;#013;</code> Works in most browsers</p>
<hr/>

Vaktini boşa harcamak


6

Chrome 79'da, &#13; artık çalışmıyor.

Şununla başarılı oldum:

&#13;&#10;

Bu, tüm büyük tarayıcılarda çalışır.



4

Sadece şunu kullanın:

<a title='Tool&#x0aTip&#x0aOn&#x0aNew&#x0aLine'>link with tip</a>

Bunu kullanarak başlığa yeni satır ekleyebilirsiniz &#x0a.


4

Sadece JavaScript kullanın. Daha sonra çoğu ve daha eski tarayıcılarla uyumludur. Yeni satır için çıkış sırasını \ n kullanın.

   document.getElementById("ElementID").title = 'First Line text \n Second line text'

Chrome'un hangi sürümü? Benim için çalışıyor ve Chrome kullanıyorum.
Welshboy

Aslında Chrome'un en son sürümünü kullanıyorum, ancak SVG Elements üzerinde çalıştığımdan beri işe yaramadı, sorun değil.
NewPHPer

4

Bu &#013; sadece basit bir başlık niteliği kullanırsanız çalışmalıdır.

önyükleme popovers, sadece özniteliğinde data-html="true" html kullanın ve kullanın data-content.

<div title="Hello &#013;World">hover here</div>


3

Erişilebilirlik ve CR veya satır sonu kullanımı ile daha büyük hale getiren araç ipuçlarının kullanımıyla ilgili bilgilerden, çeşitli tarayıcıların temel konular üzerinde anlaşamayacağı / kabul etmeyeceği gerçeği, erişilebilirlik konusunda çok fazla umursamadıklarını göstermektedir.


2
Tarayıcılar arası özelleştirilmiş araç ipuçlarına çok kolay bir çözüm için bkz. Kollermedia.at/archive/2008/03/24/easy-css-tooltip/…
Dave

Bu güzel bir bağlantı, ancak demodaki satır sonu genişlik özelliği nedeniyle gerçekleşiyor
Melsi

3

W3c web sitesinde yer alan bu makaleye göre :

CDATA, belge karakter kümesindeki bir karakter dizisidir ve karakter öğelerini içerebilir. Kullanıcı aracıları özellik değerlerini aşağıdaki gibi yorumlamalıdır:

  • Karakter varlıklarını karakterlerle değiştirin,
  • Satır yayınlarını yoksay,
  • Her satır başını veya tırnağı tek bir boşlukla değiştirin.

Bu, (en azından) CR ve LF'nin başlık özelliğinin içinde çalışmayacağı anlamına gelir. Bir araç ipucu eklentisi kullanmanızı öneririm. Bu eklentilerin çoğu, rastgele HTML'nin bir öğenin araç ipucu olarak görüntülenmesine izin verir.


1
Evet, bunun resmi olmadığını biliyorum. Yanılıyorsun, hwoever. Bu görüntülenmeyecekleri anlamına gelmez. Bu, W3C spesifikasyonunun nasıl gösterilmeleri gerektiğini belirtmediği anlamına gelir .... Direğin amacı daha işlevsel eklentilerin yerine kullanılabileceklerini öne sürmüyordu .... yıkım sırasında daha başka bir şey kullanılabilir.
penderi

@ip: Güncellenmiş w3c önerilerinin tarayıcıların içeriği LF karakteri etrafında bölmesini önerdiği için yanılıyorum . Ancak tarayıcılar bu davranışı eninde sonunda uygular.
Salman A

2

Çok daha hoş görünümlü araç ipuçları manuel olarak oluşturulabilir ve HTML biçimlendirmesi içerebilir.

<!DOCTYPE html>
<html>
<style>
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: #555;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    left: 50%;
    margin-left: -60px;
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #555 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}
</style>
<body style="text-align:center;">

<h2>Tooltip</h2>
<p>Move the mouse <a href="#" title="some text
more&#13;&#10;and then some">over</a> the text below:</p>

<div class="tooltip">Hover over me
<span class="tooltiptext">Tooltip text
some <b>more</b><br/>
<i>and</i> more</span>
</div>

<div class="tooltip">Each tooltip is independent
<span class="tooltiptext">Other tooltip text
some more<br/>
and more</span>
</div>

</body>
</html>

Bu, bu konudaki w3schools yayınından alınmıştır . Buradaki yukarıdaki kodla denemeler yapın .


1

Ustura Sözdizimi

ASP.NET MVC durumunda, başlığı kullanım olarak bir değişken olarak saklayabilirsiniz \r\nve çalışacaktır.

@{ 
    var logTooltip = "Sunday\r\nMonday\r\netc.";
}

<h3 title="@logTooltip">Logs</h3>

0

kesmek ama çalışır - (krom ve mobil cihazlarda test edilmiştir)

sadece kesilene kadar boşluk bırakmayın - içerik miktarına bağlı olarak araç ipucu boyutunu sınırlamanız gerekebilir, ancak küçük metin mesajları için bu işe yarar:

&nbsp;&nbsp; etc

Yukarıdaki her şeyi denedim ve bu benim için işe yarayan tek şey -


0

Başlık satırını yeni satırda görüntülemek için "" ile denedim ve bu bir cazibe gibi çalışıyor


0

Firefox 68.7.0esr kullanıyorum ve &#013;çalışmıyor. Hatları kırmak <CR>işe yaradı, bu yüzden basit ve ileri olduğu için devam ediyorum. yani

<option title="Constraint PSC/SCS/Activity
Definition Constraint Checker
Database Start Notifier">CnCk

-1

kullanın data-html="true"ve uygulayın <br>.


1
Bu şartnamenin bir parçası değil. Bazı rastgele araç ipucu eklentisi olmalı
TJ
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.