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.