CSS选择器first-child,当元素为第二个的时候,怎么处理

html-css05

CSS选择器first-child,当元素为第二个的时候,怎么处理,第1张

.content[data-role=page]:nth-child(2){}

使用:first-child伪类时一定要保证前面没有兄弟节点,你前面有个content所以会失效

<style>

p:first-child{color:#f00}

</style>

<div>

<span></span>

<p>1</p>

<p>2</p>

<p>3</p>

</div>

你把这里的span去掉和加上再看效果 就明白了

“+”是选择相邻兄弟,叫做“相邻兄弟选择器”选择器能够匹配指定元素后面相邻的兄弟元素。

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:h1 + p {margin-top:50px}

这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”。

扩展资料:

相邻兄弟选择器使用了加号(+),即相邻兄弟结合符。注释:与子结合符一样,相邻兄弟结合符旁边可以有空白符。

div 元素中包含两个列表:一个无序列表,一个有序列表,每个列表都包含三个列表项。这两个列表是相邻兄弟,列表项本身也是相邻兄弟。

不过,第一个列表中的列表项与第二个列表中的列表项不是相邻兄弟,因为这两组列表项不属于同一父元素(最多只能算堂兄弟)。

请记住,用一个结合符只能选择两个相邻兄弟中的第二个元素。请看下面的选择器:

li + li {font-weight:bold}

上面这个选择器只会把列表中的第二个和第三个列表项变为粗体。第一个列表项不受影响。

结合其他选择器:

相邻兄弟结合符还可以结合其他结合符:

html >body table + ul {margin-top:20px}

这个选择器解释为:选择紧接在 table 元素后出现的所有兄弟 ul 元素,该 table 元素包含在一个 body 元素中,body 元素本身是 html 元素的子元素。

.content[data-role=page]:nth-child(2){}

使用:first-child伪类时一定要保证前面没有兄弟节点,你前面有个content所以会失效

<style>

p:first-child{color:#f00}

</style>

<div>

<span></span>

<p>1</p>

<p>2</p>

<p>3</p>

</div>

你把这里的span去掉和加上再看效果 就明白了