为什么我不能重写通过一个星号应用的显示属性?(Why can't I override di

2019-10-21 03:32发布

我想隐藏在一些屏幕分辨率的所有元素,并只显示有用元素可见:

例如:

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

但是,这不会再覆盖在显示属性。 演示

Answer 1:

*针对文档中的所有元素,包括htmlbody为好。 这就是为什么内容仍有隐忧- 验证 。

如果你想在中选择所有元素<body>你应该做的,如下所示:

 body * { display: none; } #block { display: block; } 
 <div id="block">block</div> 



Answer 2:

因为bodyhtml被包括在通用选择* ,其具有display: none; 规则。

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



Answer 3:

如果你与你喜欢的DOM检查打开目标框架,你会看到<body>仍然隐藏:



文章来源: Why can't I override display property applied via an asterisk?