Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.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
Html 如何替代显示:应用于特定子元素中父元素的“无”属性_Html_Css - Fatal编程技术网

Html 如何替代显示:应用于特定子元素中父元素的“无”属性

Html 如何替代显示:应用于特定子元素中父元素的“无”属性,html,css,Html,Css,我为这件事绞尽脑汁已经有一段时间了,不明白为什么它不起作用。我基本上是想用CSS在页面上隐藏一些特定的内容——对于这部分工作,我将无法访问页面上的HTML,但可以随意插入CSS 好的,我得到了一个基本的HTML结构,如下所示: <div id="content-body"> <p> want this to stay </p> <h2>want this to stay</h2> <p> want this to s

我为这件事绞尽脑汁已经有一段时间了,不明白为什么它不起作用。我基本上是想用CSS在页面上隐藏一些特定的内容——对于这部分工作,我将无法访问页面上的HTML,但可以随意插入CSS

好的,我得到了一个基本的HTML结构,如下所示:

<div id="content-body">
<p> want this to stay </p>    
<h2>want this to stay</h2>
<p> want this to stay </p>
<p> want this to stay </p>
<p> want this removed </p>    
<h2>want this removed</h2>
<p> want this removed </p>
<p> want this removed </p>
</div>
重要的标签似乎没有任何区别。我的格式是否有错误?(实际页面的HTML比示例多得多,因此通过CSS删除所有内容要比单独选择元素容易得多,尽管我可能需要这样做)

您的第一个选择器
#content body{display:none;}
隐藏了所有内容,因为它是容器。首先,通过定位
p
h2
来单独隐藏所有元素,然后有选择地显示元素

#内容主体p,
#内容正文h2{显示:无}
#类型(1){display:block}的内容体p:n
#内容体h2:n类型(1){display:block}
#类型(2){display:block}的内容体p:n
#内容主体p:n类型(3){display:block}

希望这一切继续下去

想让这一切继续下去吗 想让这一切继续下去吗

想让这一切继续下去吗

要删除此文件

要把这个拿走吗 要把这个拿走吗

要把这个拿走吗


通过调用以下命令隐藏父元素:

#内容体{显示:无}
所以不管你如何瞄准他们,所有的孩子都会被隐藏起来。您需要做的是将
p
h2
元素隐藏在
#content body
中,然后通过使用
n类型的
n而不是
n子元素来覆盖要显示的元素(因为您希望以第一个
h2
和第三个
p
等为目标),如下所示:

#内容体p,#内容体h2{
显示:无;
}    
#内容体p:n类型(1),
#内容体p:n类型(2),
#内容体p:n类型(3),
#内容正文h2:n类型(1){
显示:块;
}

您可以使用全局选择器选择所有直接子项,然后可以覆盖:

#内容正文>*{display:none}
#内容主体p:n个子项(1),
#内容体h2:n子级(2),
#内容主体p:n个子项(3),
#内容体p:n子(4){display:block}

这里的示例:

如果父元素被隐藏,那么它的所有元素都被隐藏,如果不让父元素可见,就无法让它的任何子元素可见。@Jimmy OP无法更改标记,只想通过CSS进行更改。是的,这很明显,应该意识到。。。干杯,我将使用一个更具体的选择器来应用初始显示:在应用了显示块/无的元素上,仅添加两个类不是更容易吗?.show for display block和.hide for display none?这应该更容易些way@Crispy-George read OP的问题:
我基本上只是想用CSS在页面上隐藏一些特定的内容-对于这部分工作,我将无法访问页面上的HTML,但可以随意插入CSS。
right-o,错过了这一部分,那么这就是确定的方法,@jmore009指出,早些时候,我匆忙阅读了它并跳过了一些内容,对此表示抱歉,太棒了,为jmore干杯。我犯了一个愚蠢的错误,但我已经做到了!
#content-body {display:none}

p:nth-child(1) {display:block !important}
h2:nth-child(2) {display:block}
p:nth-child(3) {display:block}
p:nth-child(4) {display:block}