我想在CSS3中创建简单的工具提示。
示例HTML(必要时可以更改):
<div class="icons">
<a href="">t <span class="tooltip">Twitter</span></a>
<a href="">f <span class="tooltip">Facebook</span></a>
<a href="">g <span class="tooltip">Google+</span></a>
</div>
和CSS:
.icons { position: absolute; left: 40px; top: 30px; }
.icons a { text-decoration:none; font-size: 16px; color: #000000; position: relative; margin-right: 70px; border:1px solid red; }
.icons a:hover { text-decoration:none; }
.tooltip { background-color: green; color: #FFFFFF; font-family: Arial,sans-serif; font-size: 10px; padding: 2px 8px; bottom: -20px; position: absolute; }
问题是 - 我不知道如何将工具提示集中在共享图标下方(它们将是字体图标)。如果我知道它们的宽度就不会复杂,但我不知道。
任何想法都赞赏。反正有可能吗?
答案 0 :(得分:3)
您可以尝试这样做:
在width
上使用固定(足够大)span
,在其上设置text-align: center
&amp;将文本放在您给display: inline-block
<强> HTML 强>:
<div class="icons">
<a href="#">t
<span class="tooltip" data-text='Twitter'></span>
</a>
<a href="#">f
<span class="tooltip" data-text="Facebook"></span>
</a>
<a href="#">g
<span class="tooltip" data-text='Google+'></span>
</a>
</div>
相关的 CSS :
.icons a {
display: inline-block;
position: relative;
margin-right: 70px;
width: 16px;
color: #000;
font-size: 16px;
text-align: center;
text-decoration: none;
}
.tooltip {
position: absolute;
bottom: -20px; left: 8px; /* half the width of link */
margin-left: -35px;
width: 70px;
color: #fff;
font: 10px Arial, sans-serif;
}
.tooltip:after {
display: inline-block;
padding: 2px 8px;
background-color: green;
content: attr(data-text);
}
答案 1 :(得分:0)
你可以随时做这样的演示: http://jsfiddle.net/Cg2SX/1/
我在a
div内更新了.icons
个标签。这是我改变:
.icons a {
display:block;
margin-right:10px /* spacing between a tags - changed from your original code */
float:left;
text-align:center;
width:100px; /* you can change this as needed, but it keeps them all uniform*/
height: 50px; /* Change this to the height of your tallest icon image */
}
然后我相应地更新了span.tooltip
,我添加了这就是你拥有的:
.tooltip {
width:100%;
padding: 2px 0; /* changed the side padding to 0 since width is 100% & it takes the text-align center from the CSS above on the a tag */
display:block; /* Made it a block so the width 100% & centered text would work */
}
这与图标图像的确切大小无关 - 它们可以全部不同或相同,但只要过度a
标签比最高和最宽的图像更宽更高,不应该有任何问题。
答案 2 :(得分:-1)
为什么不使用=&gt;宽度:汽车;