【发布时间】:2017-11-01 14:19:59
【问题描述】:
我有一个 css 工具提示,它通过将鼠标悬停在链接上触发,然后从隐藏在链接文本中的 span 元素填充工具提示文本。
小提琴https://jsfiddle.net/70wxxhne/
但是我现在需要在弹出窗口中包含其他 html 元素,所以理想情况下我想从另一个 div 加载工具提示内容(小提琴中的 note1),这是否可能仅使用 css?
<--css-->
.ktooltip {
position: relative;
display: inline-block;
}
.ktooltip .ktooltiptext {
visibility: hidden;
background: #fff;
width: 150px;
text-align: center;
border-radius: 6px;
padding: 5px 5px;
top: -5px;
left: 105%;
border:2px solid grey;
/* Position the tooltip */
position: absolute;
z-index: 1;
}
.ktooltip:hover .ktooltiptext {
visibility: visible;
}
<p>Here is some text with a note here
<sup class="ref">
<a href="#note1" id="note1" class="ktooltip">Tooltip
<span class="ktooltiptext">Current Tooltip text</span>
</a>
</sup>
that continues on here too.
</p>
<div id="note1" class="ktooltip2"><p>wannabe <b>tooltip</b> with a<a
href="link">link</a></p></div>
【问题讨论】:
-
当您将鼠标悬停在“链接”链接上时,您想在“工具提示”链接上显示工具提示吗?如果不能,您能否准确说明您想要悬停的内容,以及您希望在哪里显示工具提示?
-
这在没有脚本的情况下是不可能的,因为
#note1元素既不是具有hover的元素的子元素也不是兄弟元素。为什么需要将其移到现有标记之外? -
我希望当我将鼠标悬停在“工具提示”上时弹出 div note1 中的内容,而不是像当前那样弹出 span 元素中的内容。我想将它移到链接文本之外,因为我需要完整的 html 格式,它不应该真正进入 href 元素。希望这很清楚。
-
从 HTML5 开始,您可以在锚点内使用块元素,即
div,因此无需担心无法正确验证,只需将您的 span 替换为您的 div。如果您的 div 包含链接,则需要将它们都包装起来(嵌套链接无效)并使 div 成为兄弟 -
反正可以在anchor外,但在sup内,所以是兄弟