我有一个绝对定位的::before
伪元素,我试图在CSS上面添加一个箭头。特别是这个箭头出现在悬停中。
在IE以外的所有浏览器中,这样可以正常工作。在IE中,伪元素出现在悬停上,但是"在"后面。按钮的父级div
。这使得它看起来好像箭头根本没有显示。
z-index属性似乎没有效果。我在这里设置了一个jsfiddle:
https://jsfiddle.net/gk8rsjkp/
我感谢任何建议。
答案 0 :(得分:0)
在IE中,您必须声明:hover以及:hover:before。
button:hover { } /* IE needs this to trigger the :hover:before */
button:hover:before {
content: " ";
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid blue;
position: absolute;
top: -10px;
left: 50%;
transform: translateX(-50%);
}
button {
position: relative;
margin: 10px;
border-radius: 25px;
display: inline-block;
padding: 8px 36px;
background: gray;
}
<div class="wrapper">
<button>
Button
</button>
</div>
答案 1 :(得分:0)
对于遇到类似问题的任何人:
使用实际的button
元素导致了该问题。切换到div
解决了问题。这个怪癖似乎仅限于IE。