IE11:当悬停在选择

时间:2018-03-21 10:16:05

标签: html css

我的css悬停在IE上有问题。

简化;我基本上有一个容器div,它会在盘旋时显示一个小div,里面有一些<select>标签(见下面的代码)。这个设置适用于所有主流浏览器,除了(谁猜对了)在Internet Explorer(11和可能还有更低版本)上。

悬停可以正常使用,但只要您尝试从两个<option>标签中选择<select> ,就会出现:hover由于某种原因不再有效div消失了。

在chrome / firefox等中尝试此示例,以查看所需的结果&amp;然后再尝试在IE11中查看问题。

.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>

1 个答案:

答案 0 :(得分:1)

正如我在评论中所说,你可以使用类似这样的东西来解决这个问题:

$("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 */}