比如下面的代码,不知为什么第一个article的字体不会变色?
html
<h1>logo</h1> <article>article1</article> <article>article2</article> <article>article3</article>
css
article:first-child { color: red; }
比如下面的代码,不知为什么第一个article的字体不会变色?
html
<h1>logo</h1> <article>article1</article> <article>article2</article> <article>article3</article>
css
article:first-child { color: red; }
你要的应该是
article:first-of-type { color: red; }
分清:first-of-type和:first-child
http://css.doyoe.com/selectors/pseudo...
http://css.doyoe.com/selectors/pseudo...
:first-child 这个伪类,只有当元素是其父元素的第一个子元素时才能匹配。
即只有当<article>是父元素的第一个子元素时该选择器才生效。
在不改变HTML代码的情况下可以用相邻同胞选择器达到想要的效果:
h1 + article { color: red; }
或者使用:nth-child达到同样的效果:
article:nth-child(2){ color: red; }
5 回答1.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
4 回答2k 阅读
2 回答1.4k 阅读✓ 已解决
4 回答2.6k 阅读
使用:first-child伪类时一定要保证前面没有兄弟节点,把h1去掉就可以;或者使用div包住article,然后css:div article:first-child