帮助伪类,第一个孩子
问题描述:
我正在使用有限访问模板文件的CMS平台,并且想要尝试使用伪类控制某些布局,但没有运气。任何人都可以看到这个结构有什么问题,为什么我的伪类被忽略?帮助伪类,第一个孩子
<div id="main">
<div class="someRandomDiv"></div>
<div class="block">
stuff
</div>
<div class="block">
more stuff
</div>
</div>
,我想这样的事情
#main .block {border: 1px solid blue}
#main .block:first-child {border: 1px solid red}
这个例子中,我会想的东西块将有一个红色的边框和更多的东西会有一个蓝色
左右,但一切只不过是蓝色的。
感谢您的任何帮助。
答
它没有被忽略,也就是没有任何这有点违反直觉的比赛:)
我知道,但:first-child
字面意思的父母,而不是类型的的第一个孩子,父母,所以在您的代码中唯一匹配:first-child
的是<div class="someRandomDiv"></div>
。
随着.block:first-child
你说,有一类block
和是他们的父母的第一个孩子,这不是说“第一个与block
类”元素......他们自主选择和Don”这里重叠。所以,没有匹配,因为没有元素符合两个条件,这更有意义?
它不支持所有的浏览器,但你可以在jQuery中使用:nth-child()
或JavaScript做你想做什么,比如那就是:
$("#main .block:first").css({ border: '1px solid red' });
另一种可能的解决办法是来包装你。阻止div在他们自己的容器元素中。 – akamike 2010-04-29 20:36:53
是非常有意义。谢谢Nick。我想我现在只想用jQuery路线。 – Zac 2010-04-29 21:25:22