HTML 툴팁에서 캐리지 리턴을 어떻게 사용합니까?


330

현재 사이트에 자세한 툴팁을 추가하고 있으며 캐리지 리턴을 사용하여 툴팁 형식을 지정하고 싶습니다 (whizz-bang jQuery 플러그인에 의지하지 않고 많은 것을 알고 있습니다!).

팁을 추가하려면 title속성을 사용하고 있습니다. 일반적인 사이트를 둘러보고 기본 템플릿을 사용했습니다.

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

로 바꾸려고 ?했습니다.

  • <br />
  • &013; / &#13;
  • \r\n
  • Environment.NewLine (저는 C #을 사용하고 있습니다)

위의 어느 것도 작동하지 않습니다. 가능합니까?


꽤 까다 롭지 만 해결 방법이있을 수 있습니다. 제목의 모든 공백을 공백이 아닌 공백으로 변경하십시오 &nbsp;. 그런 다음 줄 바꿈을 원하는 곳에 공백을 두십시오. &nbsp;공백 앞에 줄 문자 를 추가해야 할 수도 있습니다 (줄 바꿈).
jumxozizi

답변:


292

너무 간단해서 직접 킥할 수 있습니다 ... 그냥 엔터를 누르십시오!

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

Firefox는 여러 줄 툴팁을 전혀 표시하지 않습니다. 개행을 아무것도 대체하지 않습니다.


69
이 답변은 구식이며 Firefox 제목에 줄 바꿈을 표시합니다 (v25를 사용하고 있습니다). 그것은 작동 \n, \u000A\x0A.
Halcyon

1
@Halcyon, 다른 독자들에게 명확히하기 위해 위의 세 가지 코드는 HTML이 아닌 것 같습니다. C 파생 언어 문자열 이스케이프 시퀀스처럼 보입니다.
Sam

3
@Sam 나는 그 말의 의미를 이해하지 못한다. \x0A(바이트)는 개행과 일치하는 문자 코드입니다. \u000A(유니 코드) 와 동일합니다 . \n또한 줄 바꿈입니다.
Halcyon

13
@Halcyon, 나는 이스케이프 시퀀스를 titleFirefox와 Chrome 의 속성에 삽입하려고 시도 했으며 방금 툴팁에 표시되었습니다. 그 후, 어떤 문자 (이스케이프 시퀀스가 ​​아닌)를 사용 해야하는지 통신 방식으로 해당 구문을 사용하고 있음을 깨달았습니다. 내 의견은 다른 사람들이 HTML에 이스케이프 시퀀스를 넣지 않도록 경고하여 다른 사람들에게 시간을 절약하는 것이므로 시간을 낭비하지 않습니다.
Sam

4
@Tarquin HTML에서는 작동하지 않으며 PHP의 큰 따옴표 기능이므로 PHP의 큰 따옴표로만 작동합니다.
화려한

307

최신 사양은 속성이나 단체 내부의 간단한 줄 바꿈 때문에, 줄 바꿈 문자를 할 수 있습니다 &#10;(문자주의 #와이 ;필요)를 확인합니다.


4
Chrome에서는 지원하지 않지만 Firefox에서는 지원됩니다!
Alaeddine

5
난 둘 다 시도 &#10;하고 &#13;.&#13;크롬 버전 50.0.2661.94 (64 비트)에서 의도 된 "줄 바꿈"을 따르지 않습니다. &#10;크롬, 파이어 폭스 및 오페라 (64 비트 우분투 모두) 및 인터넷 탐색기 버전 11.0 및 Windows의 일부 변경 사항에서 현재 잘 작동합니다.
Tass

이것은 Wordpress 포스트 편집기에서 그렇게하려고했기 때문에 특히 유용합니다.
ed1nh0

13
& # 10; IE, Firefox 및 Chrome에서 아름답게 작동합니다. 감사!
다니엘

크롬의 경우 & # 013; ....... 예 : title = "title1 & # 13; title2 & # 13; title3"
Malik Zahid

75

캐릭터 10을 사용해보십시오. Firefox에서는 작동하지 않습니다. :(

텍스트는 브라우저에 따라 다르게 표시됩니다. 작은 툴팁은 대부분의 브라우저에서 작동합니다. IE 및 Safari에서 긴 툴팁 및 줄 바꿈 작업 ( 새 줄 바꿈 &#10;또는 사용 &#13;). Firefox 및 Opera는 줄 바꾸기를 지원하지 않습니다. Firefox는 긴 툴팁을 지원하지 않습니다.

http://modp.com/wiki/htmltitletooltips

최신 정보:

2015 년 1 월 현재 Firefox는 &#13;HTML title속성 에 줄 바꿈을 삽입하는 기능을 지원 합니다. 아래의 스 니펫 예제를 참조하십시오.

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


2
+1. jQuery 플러그인을 사용하기로 결정한 경우, 최적의 접근성을 위해서는 제목 속성에서 컨텐츠를 읽고 런타임시 줄 바꿈으로 임의의 보이지 않는 문자를 대체해야합니다.
Kent Fredric

+1. 재미있는 것들. 내가 기억하는 것처럼 FF2가 나오면 타이틀을 다듬는 일부 UA 문제가 여전히 있지만 요즘에는 문제가되지 않습니다.
roborourke

3
2015 년 1 월 현재 Firefox는 줄 바꿈 삽입 속성 사용 &#13;을 지원 title합니다.
pseudosavant

SVG 요소에서 IE11에서 줄 바꿈을 수행 할 수 없었습니다 <title>. 아무도 그보다 더 성공 했습니까? 위 / 아래의 언급 문자 코드를 시도했지만 아무것도 작동하지 않는 것 같습니다.
RemEmber

64

IE, Chrome, Safari, Firefox (최신 버전 2012-11-27)에서 이것을 테스트했습니다.
&#13;

그들 모두에서 작동합니다 ...


첫 번째 방법 (코드에서 줄 바꿈)은 더 단순 해 보이지만 자동 서식 작성기 JS 코드 프로그램에는 적합하지 않습니다.
horiatu

@Camilo Martin, 줄 바꿈 및 줄 바꿈은 플랫폼에서 동일합니다. &#10;Windows 줄 바꿈과 마찬가지로 유닉스 줄 바꿈입니다. 마찬가지로 &#13;두 플랫폼 모두에 대한 줄 바꿈입니다. 이 사양 은 라인 피드 (LF) 문자를 지정하며 물론 &#10;두 플랫폼 모두에 적용됩니다.
matty

2
@matty 내가 당신을 이해하고 있는지 확실하지 않습니다-사용하는 올바른 것은 유닉스 LF(프로토콜과 도구에 대한 일종의 표준 줄 바꿈)이며 CR오래된 Mac (및 기타 모호한 플랫폼)에서만 사용되었으며 적절하지 않은 것 같습니다.
Camilo Martin

혼란스러운 단어 선택에 대해 사과드립니다. 줄 바꿈 (# 10)이라고하는 것은 실제로는 LF라고도하지만 줄 바꿈입니다. 개행 (# 13)이라고하는 것은 실제로 캐리지 리턴입니다. 어쨌든 내 요점은 그 값이 모든 플랫폼에서 동일하다는 것입니다. 제목 속성에 어떤 HTML 엔터티가 사용되는지와 관련하여 windows (이러한 문자를 모두 사용하여 줄을 끝내는 경우)와 mac ( "잘못된"문자를 사용하여 줄을 끝내는 경우)은 관련이 없어야합니다. 사양은 말한다 &#10;분명히 있지만, &#13;뿐만 아니라 많은 상황에서 작동합니다.
matty

2
평범한 & # 13; Linux의 크롬에서는 작동하지 않습니다. 시퀀스 & # 13; & # 10; 그러나 그렇지 않습니다.
Sam Watkins

51

다음과 같이 Javascript로 title 속성을 설정하는 경우 언급 할 가치가 있습니다.

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

작동하지 않습니다. Javascript로 이스케이프 처리되는 방식으로 ASCII 10 진수 10을 ASCII 16 진수 A로 바꿔야합니다. 이처럼 :

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


@MaxNanasy 동의하고, 그것들은 동등합니다 ( \n어쨌든 char 코드 10을 의미합니다)
rvighne

29

Firefox 12부터는 줄 바꿈 HTML 엔티티를 사용하여 줄 바꿈을 지원합니다. &#10;

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

이것은 IE에서 작동하며 title 속성에 대한 HTML5 사양에 따라 맞습니다 .


16

jQuery를 사용하는 경우 :

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

작동합니다.

IE-9에서 테스트 : 작동합니다.


MVC 3에서 작업 예 : @ Html.DropDownList ( "RegId", null, "지역 선택", new {title = "드롭 다운 메뉴에서 지역 선택, \ n 유효한 계약 명 목록을 가져와야 함" , @class = "form-control", onchange = "getContractNames (this)", style = "width : 200px;"})
Warren LaFrance

15

&#013;솔루션에 대한 공헌으로 이와 &#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>

데모

여기에 이미지 설명을 입력하십시오


8

&#13; 모든 주요 브라우저에서 작동합니다 (IE 포함).


13
이 답변은 구식입니다. & # 13; Chrome 및 기타 브라우저에서도 작동합니다.
SaeX

7

나는 파티에 늦었다는 것을 알고 있지만,이 작업을보고 싶은 사람들을 위해 데모가 있습니다 : http://jsfiddle.net/rzea/vsp6840b/3/

사용 된 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
최신 응답이며 Firefox에서 훌륭하게 작동합니다. 감사.
Marwan مروان

6

나는 그것을 믿지 않습니다. Firefox 2는 어쨌든 긴 링크 제목을 잘라 내며 소량의 도움말 텍스트를 전달할 때만 사용해야합니다. 더 많은 설명 텍스트가 필요하면 링크와 관련된 단락에 속하는 것이 좋습니다. 그런 다음 툴팁 자바 스크립트 코드를 추가하여 해당 단락을 숨기고 마우스를 올리면 툴팁으로 표시 할 수 있습니다. 크로스 브라우저 IMO를 사용하는 것이 가장 좋습니다.


6

&#xD; <----- 캐리 리턴을 삽입하는 데 필요한 텍스트입니다.


1
모든 브라우저에서 작동 :)
MonoThreaded

6

Chrome 16 및 이전 버전에서는 "\ n"을 사용할 수 있습니다. 참고로 "\ t"도 작동합니다


6

우리는이 모든 것을 테스트 할 필요가있었습니다. 여기에 제가 공유하고 싶은 것이 있습니다

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/>

깡깡이


6

Chrome 79에서는 &#13;더 이상 작동하지 않습니다.

나는 성공했다 :

&#13;&#10;

이것은 모든 주요 브라우저에서 작동합니다.



4

이것을 사용하십시오 :

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

this를 사용하여 제목에 줄 바꿈을 추가 할 수 있습니다 &#x0a.


4

JavaScript 만 사용하십시오. 그런 다음 대부분 및 이전 브라우저와 호환됩니다. 줄 바꿈에는 이스케이프 시퀀스 \ n을 사용하십시오.

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

어떤 버전의 Chrome? 그것은 나를 위해 일하고 크롬을 사용하고 있습니다.
Welshboy

실제로 최신 Chrome 버전을 사용하고 있지만 SVG Elements에서 작업하고 있었기 때문에 작동하지 않습니다.
NewPHPer

4

이것은 &#013;당신이 단순한 제목 속성을 사용하는 경우 작동합니다.

부트 스트랩 팝 오버의 data-html="true" 경우 data-content속성 에서 html을 사용 하고 사용하십시오 .

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


3

접근성에 대한 정보와 CR 또는 줄 바꿈을 사용하여 툴팁을 더 크게 만드는 툴팁을 사용하면 다양한 브라우저가 기본 사항에 동의 할 수 없거나 동의하지 않는다는 사실은 접근성에 대해 크게 신경 쓰지 않는다는 것을 보여줍니다.


2
브라우저 사용자 정의 툴팁을 교차하는 매우 쉬운 솔루션은 kollermedia.at/archive/2008/03/24/easy-css-tooltip/…을
Dave

@Dave이 링크는 훌륭하지만 데모에서 줄 바꿈은 width 속성 때문에 발생합니다
Melsi

3

w3c 웹 사이트 의이 기사에 따르면 :

CDATA는 문서 문자 세트의 일련의 문자이며 문자 엔티티를 포함 할 수 있습니다. 사용자 에이전트는 다음과 같이 속성 값을 해석해야합니다.

  • 문자 엔터티를 문자로 바꾸고
  • 줄 바꿈을 무시하고
  • 각 캐리지 리턴 또는 탭을 단일 공간으로 교체하십시오.

즉, CR 및 LF는 제목 속성 내에서 작동하지 않습니다. 툴팁 플러그인을 사용하는 것이 좋습니다. 이러한 플러그인의 대부분은 임의의 HTML이 요소의 툴팁으로 표시되도록합니다.


1
네, 공식적인 게 아님을 압니다. 그러나 당신은 틀 렸습니다. 그것들이 표시되지 않는다는 의미는 아닙니다. 그것은 W3C 사양이 어떻게 표시되어야하는지 명시하지 않는다는 것을 의미합니다. 포스트의 요점은 더 많은 기능적 플러그인을 대체하는 데 사용될 수 있다고 제안하는 것이 아니 었습니다.
penderi

@ip : 업데이트 된 w3c 권장 사항 브라우저가 LF 문자 주위에 내용을 나눕니다. 그러나 브라우저는 결국이 동작을 구현합니다.
살만 A

2

훨씬 더 멋진 툴팁을 수동으로 만들 수 있으며 HTML 형식을 포함 할 수 있습니다.

<!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>

이것은 이것에 대한 w3schools 게시물 에서 가져옵니다 . 위의 코드를 여기에서 실험하십시오 .


1

면도기 구문

ASP.NET MVC의 경우 제목을 변수로 사용할 수 \r\n있으며 작동합니다.

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

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

0

해킹하지만 작동-(크롬 및 모바일에서 테스트)

끊어 질 때까지 나누기 공간을 추가하지 마십시오. 내용의 양에 따라 툴팁 크기를 제한해야 할 수도 있지만 작은 문자 메시지의 경우 작동합니다.

&nbsp;&nbsp; etc

위의 모든 것을 시도했지만 이것이 나를 위해 일한 유일한 것입니다.


0

제목 줄을 새 줄에 표시하기 위해 ""(으)로 시도했으며 매력처럼 작동합니다.


0

파이어 폭스 68.7.0esr에 있는데 &#013;작동하지 않습니다. 통해 줄을 끊는 것은 <CR>효과가 있었으므로 간단하고 앞으로 계속 진행하고 있습니다. 즉

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

-1

사용 data-html="true"하고 적용하십시오 <br>.


1
이것은 사양의 일부가 아닙니다. 임의의 툴팁 플러그인이어야 함
TJ
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.