【发布时间】:2013-01-26 15:47:25
【问题描述】:
我有一些工具提示,其内容可以很长也可以很短。我不想拥有 3 个单词的内容并拥有一个巨大的工具提示,但我也不想要 20 个单词并将它们全部压缩成多行。在当前的设置下,无论如何它都会停留在最小宽度。
CSS:
.tooltip {
outline: none; position: relative;
min-width: 75px; max-width: 255px;
}
.tooltip .tool-content {
opacity: 0; visibility: hidden;
position: absolute;
}
.tooltip:hover .tool-content {
background: #999; border: 1px solid #555; color: #000000;
/* general styling */
position: absolute; left: 1.3em; top: 2.6em; z-index: 99;
visibility: visible; opacity: 1;
}
HTML:
<div class='tooltip'>
(content to hover)
<span class='tool-content'>
(tooltip content)
</span>
</div>
让我烦恼的是我可以取消 position: relative 并且它按预期工作!然而我找不到任何解决方法,相对定位是 CSS 悬停的关键(或似乎是?)。
【问题讨论】:
-
我猜你的意思是,当你不在工具提示上使用
position:absolute;时它不会工作?这是因为工具提示的大小不能超过其容器的大小,当相对定位而不设置显式宽度时。 -
在 IE9 和 Chrome 中对我来说很好(不确定它在所有浏览器/情况下的表现如何):jsfiddle.net/EE3Ys
-
确实我很尴尬地说它确实有效;对于这个例子,我去掉了我认为不需要的东西。 .tooltip 被附加到一个设置了宽度的 div 上,它覆盖了工具提示的宽度。将其移至该 div 的子级即可解决。谢谢。