我在IE上的css悬停有问题。
简化;我基本上有一个容器div,它将在悬停时显示一个小的div,里面有一些标记(参见下面的代码)。这个设置在所有主要浏览器上都能正常工作,除了(谁猜到了)Internet Explorer(11和更低版本)。
hover可以正常工作,但是一旦您尝试从两个标记中选择一个
,:hover由于某种原因将不再工作,div将消失。
在chrome/firefox等中尝试此示例以查看所需的结果&然后在IE11中再试一次以查看问题所在。
null
.containerDiv {
position: fixed;
width: 500px;
height: 500px;
background: red;
top: 0;
left: 0;
}
.containerDiv:hover .someDiv {
left:0;
}
.someDiv {
position:absolute;
top:0;
left:-300px;
width: 300px;
background: blue;
transition: all ease .5s;
}
<div class="containerDiv">
<div class="hoverMe">
Hover Me
<div class="someDiv">
<h3>
Hi, I'm SomeDiv
</h3>
<select>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
</select>
<br><br>
<select>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
</select>
</div>
</div>
</div>
null
正如我在评论中所说的,您可以使用类似的方法来解决此问题:
$("select").on("focus", function() {
$(this).parent().addClass("hovered");
}).on("blur", function() {
$(this).parent().removeClass("hovered");
});
然后将.YourParentElement.Hovered
应用于与.YourParentElement:Hover
相同的规则:
.yourParentElement:hover, .yourParentElement.hovered { /* some css rules */}