为什么我不能覆盖通过星号应用的显示属性?

时间:2014-10-16 12:13:59

标签: css css-selectors

我想隐藏某些屏幕分辨率中的所有元素,只显示想要显示的元素:

例如:

*{
    display: none;
}
#block{
    display: block !important;
}

但是这不再覆盖显示属性。 demo

3 个答案:

答案 0 :(得分:7)

*定位文档中的所有元素,包括htmlbody。这就是内容仍然隐藏的原因 - verify that

如果您想要选择<body>中的所有元素,请按以下步骤选择:

&#13;
&#13;
body * {
    display: none;
}

#block {
    display: block;
}
&#13;
<div id="block">block</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

因为bodyhtml包含在具有*规则的通用选择器display: none;中。

http://jsfiddle.net/nk8np9vo/6/

答案 2 :(得分:1)

如果您使用自己喜欢的DOM检查器打开目标框架,则会发现<body>仍处于隐藏状态:

Firebug