我这里有一个工具提示代码。当我在此工具提示上移动鼠标单击按钮时,它会消失。如何让它留下来?我不知道怎么做。
a.tooltips {
position: relative;
}
a.tooltips span {
position: absolute;
width: 140px;
color: #FFFFFF;
background: #000000;
min-height: 50px;
line-height: 30px;
text-align: center;
visibility: hidden;
border-radius: 6px;
}
a.tooltips span:after {
content: '';
position: absolute;
top: 100%;
left: 50%;
margin-left: -8px;
width: 0;
height: 0;
border-top: 8px solid #000000;
border-right: 8px solid transparent;
border-left: 8px solid transparent;
}
a:hover.tooltips span {
visibility: visible;
opacity: 0.8;
bottom: 30px;
left: 50%;
margin-left: -76px;
z-index: 999;
}

<a class="tooltips" href="#">CSS Tooltips
<span>Tooltip <button >Open dialog</button></span></a>
&#13;
答案 0 :(得分:3)
不幸的是,在悬停时添加永久状态无法使用纯CSS完成,您将不得不添加jQuery的一小部分或javascript。类似的东西:
$('a.tooltips span').on('mouseover',function(){
$(this).css({
"visibility": "visible",
"opacity": "0.8"
// more styles go here
});
});
答案 1 :(得分:2)
这最近发生了变化,现在可以使用纯CSS完成:
.tooltip {
display: none;
position: absolute;
height: 45px;
background-color: #FCF;
overflow: hidden;
}
.hasTooltip:hover .tooltip,
.tooltip:hover {
display: block;
}
答案 2 :(得分:0)
这是使用纯JavaScript的示例。这只是一个示例,但您可以对其进行大量修改以满足您的需求。正如评论中所提到的,您可以通过在悬停状态上添加转换延迟来实现纯CSS,但是如果您想要添加其他功能,使用JS解决方案将为您提供很大的灵活性。
var tooltips = document.querySelectorAll('.tooltip-group');
var closeTooltips = document.querySelectorAll('[data-tooltip-close]');
for ( var i = 0; i < tooltips.length; i++ ) {
tooltips[i].addEventListener('mouseover', function( evt ) {
// Open tooltip when the user interacts with the
// element. We will just open the tooltip as
// an example
document.querySelector('[data-tooltip-id="' + evt.currentTarget.id + '"]').style.display = 'block';
});
}
for ( var i = 0; i < closeTooltips.length; i++ ) {
closeTooltips[i].addEventListener('click', function( evt ) {
// Event for button within tooltip, this could be
// replaced for anything such as opening a modal
// or changing another element
document.querySelector('[data-tooltip-id="' + evt.currentTarget.dataset.tooltipClose + '"]').style.display = 'none';
});
}
body, html{
width: 100%;
height: 100%;
font-family: 'Arial', sans-serif;
}
.f__container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.tooltip-group {
position: relative;
margin: 0 auto;
}
[data-tooltip-id]{
width: 100%;
position: absolute;
display: none;
background: black;
color: white;
top: -60px;
margin-left: -15px;
border-radius: 5px;
padding: 15px;
}
<div class="f__container">
<div id="content">
<div id="js-tooltip" class="tooltip-group">
JS Tooltip, hover over me :D!
<div data-tooltip-id="js-tooltip">
Tooltip!
<button data-tooltip-close="js-tooltip">Close</button>
</div>
</div>
</div>
</div>