我有一个提示通过:hover:before in css。唯一的问题是,当你悬停在它上面时,悬停在其上的元素会消失,尽管提示会出现。有人知道我应该调整什么吗?
HTML:
<body>
<div class="content">
(...content of page)
</div>
</body>
jquery的:
$('.content').prepend("<div id='arrowdown'><i tip='Return to story' class='fa fa-arrow-circle-o-down fa-2x vidclose'></i></div>");
的CSS:
.vidclose {
color: lightgray;
z-index: 99;
position: fixed;
top: 20px;
right: 37px;
padding: 10px;
}
.vidclose:hover{
z-index: 99;
position: fixed;
top: 20px;
right: 37px;
padding: 10px;
color: #007fd4;
cursor: pointer;
}
.vidclose:hover:before {
content: attr(tip);
margin-right: 35px;
color: #007fd4;
font-family: "Muli", sans-serif;
font-size: 16px;
position: relative;
top: -6px;
}
答案 0 :(得分:1)
您的问题是使用
将箭头放在网页上.fa-arrow-circle-o-down:before { content: "\f01a"; }
这样做是将元素<i>
&#39; s :before
伪元素设置为上述内容。
现在,当您将鼠标悬停时,将此元素:before
伪元素的内容更改为:
.vidclose:hover:before {
content: attr(tip);
margin-right: 35px;
color: #007fd4;
font-family: "Muli", sans-serif;
font-size: 16px;
position: relative;
top: -6px;
}
所以,您需要更改:before
的内容并删除该箭头。
您的网站为解决此问题的其他元素所做的工作是将:hover:before
设置为班级.righticon
因此,请将您的CSS更改为此内容,并将tip
属性放在div
arrowdown
.righticon:hover:before {
content: attr(tip);
margin-right: 35px;
color: #007fd4;
font-family: "Muli", sans-serif;
font-size: 16px;
position: relative;
top: -6px;
}
中,您应该这样做:
righticon
另外,不要忘记将课程arrowdown
添加到{{1}} div
答案 1 :(得分:1)
我已经修改了一些代码并且它正在运行。
<强> WORKING FIDDLE 强>
$('.content').prepend("<div class='arrowdown' tip='Return to story'><i class='fa fa-arrow-circle-o-down fa-2x vidclose'></i></div>");
.arrowdown {
color: lightgray;
z-index: 99;
position: fixed;
top: 20px;
right: 37px;
padding: 10px;
}
.arrowdown:hover{
padding: 10px;
color: #007fd4;
cursor: pointer;
}
.arrowdown:hover:before {
content: attr(tip);
float:left;
color: #007fd4;
font-family: "Muli", sans-serif;
font-size: 16px;
margin:7px 5px;
}