当您将鼠标悬停在某些文本上时,我使用了一些显示文本框的代码。问题是文本框中显示的文本来自它所在的<a>
标记的属性,我无法对其进行格式化。我想在文本框中创建一个列表,但我只能将它作为一个文本墙。
HTML:
<a data-text="Could use this text instead of title" title="1. ~~~~ List item (/br)~~~~
2. ~~~~ List item ~~~~
3. ~~~~ List item ~~~~
4. ~~~~ List item ~~~~
5. ~~~~ List item ~~~~ " class="tooltip">Hover over this text</a>
CSS:
.tooltip{
display: inline;
position: relative;
}
.tooltip:hover:after{
background: #333;
background: rgba(0,0,0,.8);
border-radius: 5px;
bottom: 26px;
color: #fff;
content: attr(title);
left: 100%;
padding: 5px 15px;
position: absolute;
z-index: 98;
width: 220px;
}
content: attr(title);
.tooltip:hover:before{
border: solid;
border-color: #333 transparent;
border-width: 6px 6px 0 6px;
bottom: 20px;
content: "";
left: 50%;
position: absolute;
z-index: 99;
}
查看此演示:http://jsfiddle.net/h3tqwust/1/
如何格式化文本(有换行符)?
答案 0 :(得分:4)
以下是一种简单的格式化方法,使用alias date=/usr/linux/bin/date
来保留white-space: pre
伪元素中的空白区域,并确保:after
属性的格式正确。
但是,由于解析插入内容的方式,title
等HTML标记无法正常工作。
如果您需要更复杂的样式,那么您需要一个jQuery / JavaScript辅助解决方案。
<b>
&#13;
.tooltip{
display: inline;
position: relative;
}
.tooltip:hover:after{
background: #333;
background: rgba(0,0,0,.8);
border-radius: 0px 5px 5px 5px;
top: 15px;
color: #fff;
content: attr(title);
left: 100%;
padding: 5px 15px;
position: absolute;
z-index: 98;
width: 220px;
white-space: pre;
}
&#13;