Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
覆盖父元素的CSS样式而不影响其他元素_Css_Overriding_Parent - Fatal编程技术网

覆盖父元素的CSS样式而不影响其他元素

覆盖父元素的CSS样式而不影响其他元素,css,overriding,parent,Css,Overriding,Parent,我想知道如何显示包含在具有“display:none”特征的父元素中的元素。但是不要碰父母手下的其他孩子。下面是一个简单的例子: <div id="parent"> <p id="item1">Item should show</p> <p id="item2">Item should show</p> <p id="item3">Item should not show</p> <

我想知道如何显示包含在具有“display:none”特征的父元素中的元素。但是不要碰父母手下的其他孩子。下面是一个简单的例子:

<div id="parent">
    <p id="item1">Item should show</p>
    <p id="item2">Item should show</p>
    <p id="item3">Item should not show</p>
<div><!--/parent-->

<style>
    #parent {display: none;}
    #item3 {display: block !important;}
</style>

项目应显示

项目应显示

项目不应显示

#父项{显示:无;} #item3{显示:块!重要;}

因此在本例中,我希望显示#item3,但不显示#parent及其子项的其余部分。我知道有一些变通方法涉及改变每个项目的CSS,但我在这里处理了几十个项目,我想知道这是否可能,即使是通过JS。提前谢谢。

为什么不改用:

#parent>p{display:none;}
#item3{display:block;}

这样,父项中的所有p子项都不会显示,但特定的#item3会显示。

如果隐藏父项,则无法显示子项

为什么不隐藏不需要的子项,只显示那些需要显示的项呢

<div id="parent">
<p id="item1" class="hide">Item should show</p>
<p id="item2" class="hide">Item should show</p>
<p id="item3" class="show">Item should not show</p>
.hide{display:none;}
.show{display:block; }