为了账号安全,请及时绑定邮箱和手机立即绑定

w3cSCHOOL上发现一个html5问题,用p:nth-child(1)没效果,而换成2则选择了第一个

w3cSCHOOL上发现一个html5问题,用p:nth-child(1)没效果,而换成2则选择了第一个

黄志明 2016-04-08 23:11:34
//为什么会这样?这和解释对不上啊<!DOCTYPE html><html><head><style> p:nth-child(1){background:#ff0000;}</style></head><body><h1>这是标题</h1><p>第一个段落。</p><p>第二个段落。</p><p>第三个段落。</p><p>第四个段落。</p><p><b>注释:</b>Internet Explorer 不支持 :nth-child() 选择器。</p></body></html>
查看完整描述

5 回答

已采纳
?
qq_驰兮_0

TA贡献4条经验 获得超3个赞

这和解释没矛盾啊,nth-child是按子元素来取的,要取特定的子元素要用nth-of-type,正解是:

p:nth-of-type(1){
   background: red;
}

查看完整回答
反对 回复 2016-04-09
  • 黄志明
    黄志明
    不是,这段代码,去掉<h1> child(1)就选择了第一个P标签,不去掉<h1>就不显示,要(2)才能选择到P标签,按解释,p:nth-of-type(1)应该选择P元素的第一个标签,但是为什么这里(2)才选择到P的第一个标签?
  • 黄志明
    黄志明
    按解释,p:nth-child(1)应该选择P元素的第一个标签,但是为什么这里(2)才选择到P的第一个标签?
  • 黄志明
    黄志明
    如果按属于其父元素的子元素来解释,那应该选择到<h1>标签的啊,这里实在想不通
点击展开后面2
?
qq_慕前端5486108

TA贡献1条经验 获得超0个赞

:nth-child(n)类似的这种带:的选择器 :后为条件,前面的部分才表达的是你要选的元素,读的时候为:选择子元素为(nth-child这种的)/标签为(nth-of-type这种的)xxx(:前面的那部分)。 例:div#div1 p>:nth-child(n){} 为 选择子元素为idw为div1的div后代元素p下的子元素的子元素
查看完整回答
反对 回复 2020-05-27
?
海天鹰

TA贡献1条经验 获得超0个赞

我也发现了,我把源码保存为文件试了一下,Firefox和Chrome表现一样,只有一个解释:nth-child:h=p!

查看完整回答
反对 回复 2019-02-22
?
侠客岛的含笑

TA贡献552条经验 获得超285个赞


规定属于其父元素的第二个子元素的每个 p 的背景色:

p:nth-child(2){
background:#ff0000;
}

w3c这样说的

查看完整回答
反对 回复 2016-04-09
  • 5 回答
  • 0 关注
  • 2501 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信