我正在尝试将工具提示框插入到标签的顶部和中心。我有这个工作的小文本,但我似乎无法让它以大文本为中心。
我知道这与定位框和箭头有关,但我似乎无法找到正确的组合,使箭头位于框下方,框中心位于标签上方。
我希望仅用CSS就可以实现这一目标。
HTML:
<div>
<a class="tooltip" href="#" title="tooltip">
<span>Text</span>
</a>
</div>
<div> <a class="tooltip" href="#" title="tooltip">
<span>TextTextText</span>
</a>
</div>
CSS:
div {
padding: 150px;
display: inline-block;
background-color: red;
}
.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);
padding: 10px;
left: -50%;
position: absolute;
z-index: 98;
}
.tooltip:hover:before{
border: solid;
border-color: #333 transparent;
border-width: 6px 6px 0 6px;
bottom: 20px;
content: "";
left: 30%;
position: absolute;
z-index: 99;
}
我真的很感激我能得到的任何帮助。
答案 0 :(得分:18)
如果工具提示没有明确的width
,您可以使用负translateX
按水平居中对齐,如下所示:
.tooltip:hover:after {
left: 50%;
transform: translateX(-50%);
/* other styles ... */
}
.tooltip:hover:before {
left: 50%;
transform: translateX(-50%);
/* other styles ... */
}
<强> JSFiddle Demo 强>
答案 1 :(得分:0)
我认为您需要教程才能查看Create CSS3 Tooltip,主要代码是
<a title="Create Simple Tooltip Using CSS3" class="tooltip">Some Sample CSS3 Tooltip</a>
.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: 20%;
padding: 5px 15px;
position: absolute;
z-index: 98;
width: 220px;
}
.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;
}
答案 2 :(得分:-1)
您可能会发现以下链接很有帮助。我认为这将完全符合您的需求:
http://www.webdesignerdepot.com/2012/11/how-to-create-a-simple-css3-tooltip/
他们在这里有一个有效的例子:
http://netdna.webdesignerdepot.com/uploads7/how-to-create-a-simple-css3-tooltip/tooltip_demo.html
答案 3 :(得分:-1)
这是我现在能想到的(凌晨1点:))。适用于所有浏览器。
div {
padding: 150px;
display: inline-block;
background-color: red;
text-align: center;
}
.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);
padding: 10px;
left: 50%;
margin-left: -50px;
position: absolute;
z-index: 98;
width: 100px;
text-align: center;
}
.tooltip:hover:before {
border: solid;
border-color: #333 transparent;
border-width: 6px 6px 0 6px;
bottom: 20px;
right: 50%;
margin-right: -15px;
content:"";
position: absolute;
z-index: 99;
}
此致 阿肖克