如何向span元素添加工具提示?

在下面的代码中,我想在用户悬停span时出现一个工具提示,我如何做到这一点?我不想使用任何链接。

<span> text </span>
423297 次浏览

下面是简单的、内置的方法:

<span title="My tip">text</span>

That gives you plain text tooltips. If you want rich tooltips, with formatted HTML in them, you'll need to use a library to do that. Fortunately there are loads of those.

在大多数浏览器中,title属性将呈现为一个工具提示,并且对于它将使用的元素类型通常是灵活的。

<span title="This will show as a tooltip">Mouse over for a tooltip!</span>
<a href="http://www.stackoverflow.com" title="Link to stackoverflow.com">stackoverflow.com</a>
<img src="something.png" alt="Something" title="Something">

所有这些都将在大多数浏览器中呈现工具提示。

title属性将被浏览器用作工具提示的文本。如果你想对它应用样式,可以考虑使用一些库,例如jQuery UI

纯CSS自定义工具提示-不需要JavaScript:

__abc0 / __abc1

作为默认的title属性工具提示的替代方法,你可以使用:before/:after 伪元素和HTML5 data-*属性制作自己的自定义CSS工具提示。

使用提供的CSS,您可以使用data-tooltip属性向元素添加工具提示。

你也可以使用data-tooltip-position属性(可接受的值:top/right/bottom/left)来控制自定义工具提示的位置。

例如,下面的代码将在span元素的底部添加一个工具顶。

<span data-tooltip="Custom tooltip text." data-tooltip-position="bottom">Custom bottom tooltip.</span>

enter image description here

这是如何工作的呢?

通过使用< >强attr() < / >强函数检索自定义属性值,可以显示带有伪元素的自定义工具提示。

[data-tooltip]:before {
content: attr(data-tooltip);
}

在定位工具提示方面,只需使用属性选择器并根据属性的值更改位置。

__abc0 / __abc1

本例中使用的全CSS -自定义这个到你的需要。

[data-tooltip] {
display: inline-block;
position: relative;
cursor: help;
padding: 4px;
}
/* Tooltip styling */
[data-tooltip]:before {
content: attr(data-tooltip);
display: none;
position: absolute;
background: #000;
color: #fff;
padding: 4px 8px;
font-size: 14px;
line-height: 1.4;
min-width: 100px;
text-align: center;
border-radius: 4px;
}
/* Dynamic horizontal centering */
[data-tooltip-position="top"]:before,
[data-tooltip-position="bottom"]:before {
left: 50%;
-ms-transform: translateX(-50%);
-moz-transform: translateX(-50%);
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}
/* Dynamic vertical centering */
[data-tooltip-position="right"]:before,
[data-tooltip-position="left"]:before {
top: 50%;
-ms-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
[data-tooltip-position="top"]:before {
bottom: 100%;
margin-bottom: 6px;
}
[data-tooltip-position="right"]:before {
left: 100%;
margin-left: 6px;
}
[data-tooltip-position="bottom"]:before {
top: 100%;
margin-top: 6px;
}
[data-tooltip-position="left"]:before {
right: 100%;
margin-right: 6px;
}


/* Tooltip arrow styling/placement */
[data-tooltip]:after {
content: '';
display: none;
position: absolute;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
/* Dynamic horizontal centering for the tooltip */
[data-tooltip-position="top"]:after,
[data-tooltip-position="bottom"]:after {
left: 50%;
margin-left: -6px;
}
/* Dynamic vertical centering for the tooltip */
[data-tooltip-position="right"]:after,
[data-tooltip-position="left"]:after {
top: 50%;
margin-top: -6px;
}
[data-tooltip-position="top"]:after {
bottom: 100%;
border-width: 6px 6px 0;
border-top-color: #000;
}
[data-tooltip-position="right"]:after {
left: 100%;
border-width: 6px 6px 6px 0;
border-right-color: #000;
}
[data-tooltip-position="bottom"]:after {
top: 100%;
border-width: 0 6px 6px;
border-bottom-color: #000;
}
[data-tooltip-position="left"]:after {
right: 100%;
border-width: 6px 0 6px 6px;
border-left-color: #000;
}
/* Show the tooltip when hovering */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
display: block;
z-index: 50;
}

对于基本的工具提示,您需要:

<span title="This is my tooltip"> Hover on me to see tooltip! </span>