小编Tas*_*ase的帖子

奇怪的css选择器组合

这是我的代码:

HTML

<div id="corner">
    <div id="cornerbox"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

#corner {
    background-color: red;
    width: 200px; height: 200px;
}
#corner #cornerbox {
    background-color:black;
    width: 100px; height: 100px;
    opacity: 0.4;
}
#corner:hover  #cornerbox, #corner #cornerbox.show{
    opacity: 1;
}
Run Code Online (Sandbox Code Playgroud)

JavaScript

$(document).keypress(function(e) {
        //console.log("keypress event from document: ",e.which);
        if (e.which == 63) {    // question mark (?) key
            $("#cornerbox").toggleClass("show");
        }
});
Run Code Online (Sandbox Code Playgroud)

JSFiddle Code就在这里

因此,只要#corner:hover,CSS就会使"#cornerbox"改变不透明度,只要按下问号(?)键,JavaScript就会切换"#cornerbox"类的"show".

我注意到如果我改变上面的CSS看起来像这样:

#corner {
    ...
}
#corner #cornerbox {
    ...
}
#corner:hover #cornerbox, #cornerbox.show {
    ...
}
Run Code Online (Sandbox Code Playgroud)

按(?)键时不改变不透明度,但"#cornerbox"接收类"show".

所有其他可能性都有效

这有效.

#corner { …
Run Code Online (Sandbox Code Playgroud)

css css-selectors css-specificity

2
推荐指数
1
解决办法
117
查看次数

标签 统计

css ×1

css-selectors ×1

css-specificity ×1