Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.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_Sass - Fatal编程技术网

Css 当父级中存在另一个子级时,仅设置一个子级的样式

Css 当父级中存在另一个子级时,仅设置一个子级的样式,css,sass,Css,Sass,下面是我的HTML结构 <div class="ContentHeader"> <hgroup> <h1>Title</h1> <h2>Subtitle</h2> </hgroup> </div> 任何帮助都将不胜感激。这在css(或sass)中是不可能的。Css不会回头看。可以在另一个元素之后设置一个元素的样式,而不是相反 通过不为h1指定填充/边距底部,而是为

下面是我的HTML结构

<div class="ContentHeader">
   <hgroup>
      <h1>Title</h1>
      <h2>Subtitle</h2>
   </hgroup>
</div>

任何帮助都将不胜感激。

这在css(或sass)中是不可能的。Css不会回头看。可以在另一个元素之后设置一个元素的样式,而不是相反


通过不为
h1
指定填充/边距底部,而是为
h2
指定填充/边距顶部,可以获得相同的结果。如果这对您没有帮助,javascript可能是您唯一的选择。

您可以将两个标题设置为同一个元素

<div class="ContentHeader">
   <hgroup>
      <h1>Title</h1>
      <h1>Subtitle</h1>
   </hgroup>
</div>
请看这里:

.ContentHeader hgroup h1:独生子女{
垫底:10px;
颜色:红色;
}

标题
字幕
标题
您可以使用以下方法:

.ContentHeader hgroup h1:nth-last-child(2) { /* your code here */}

出于SEO目的,我们每页只使用一个H1,多个H1使得谷歌很难将页面上下文化。我同意,然后你可以将标题包装在两个Hgroup或div中,使用同一个类,然后在该类上使用独子伪类。这非常有效,谢谢,没有想到使用
n最后一个子类
.ContentHeader hgroup h1:only-child {padding-bottom: 10px;}
.ContentHeader hgroup h1:nth-last-child(2) { /* your code here */}