IE11 CSS 未触发列表项的悬停规则

IE11 CSS hover rule for list item not triggered

横向导航,写在CSS.

预期行为:悬停主列表项时显示子菜单

问题:IE11 忽略列表项的悬停规则

.desktop-header ul li > ul {
    background: #fff;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    visibility: hidden;
    opacity: 0;
    min-width: 100%;
    position: absolute;
    margin-top: 5px;
    left: 0;
    padding-top: 5px;
    display: none;
    padding-bottom: 10px;
}

.desktop-header ul li:hover > ul,
.desktop-header ul li:focus-within > ul,
.desktop-header ul li ul:hover,
.desktop-header ul li ul:focus {
    visibility: visible;
    opacity: 1;
    display: block;
}

jsfiddle: https://jsfiddle.net/dauwrsm2/3/

这似乎是 focus-within 选择器的问题。 如果您将 CSS 更改为以下内容,它会起作用:

.desktop-header ul li:hover > ul,
.desktop-header ul li:focus > ul,
.desktop-header ul li ul:hover,
.desktop-header ul li ul:focus {
    visibility: visible;
    opacity: 1;
    display: block;
}