我们学会了选择第一个元素和最后一个元素,或者是独生子女。但事实上的情况可能更加复杂,也许它的父元素里,并不只是一个或者两个子元素,如果是更多个呢?而且我们需要选择的又不是第一个和最后一个。
那我们要选择第几个呢?对就是这个问题——:nth-child(n)
。小括号里的 n ,说的就是第几个元素。哈,我们的伪类选择器居然需要写参数了呢。不过还行,有了 JS 基础之后理解起来没啥困难。总结一下要点:这是说,在它父元素中的第 n 个子元素(包含所有子元素),并且满足前面的选择器的话,就是我们要找的那个元素。
至于这个 n 是从 0 开始数还是从 1 开始数……笨笨的小老鼠并记不住,所以大家自己动手尝试一下吧。不过小老鼠清楚的记得这是从前面开始数,啊,所以也有从后面开始数,:nth-last-child()
,这就实在没有什么可讲的了吧?
接着我们来考虑一下这两个伪类选择器,:nth-of-type()
和 :nth-last-of-type()
。对照前面的内容,大家应该一看就了解了,所以我也实在是没有再讲下去的必要。
伪类选择器还有一些我们没有讲,因为用的实在是不太多。还有就是新增的一些可能无法被老的浏览器兼容。老浏览器无法被迅速的淘汰掉,这真的是前端的一大痛苦,所以常常,我们对于那些十分惊艳的前端技术,却要抱着一种谨慎的态度。不是我不想去用,而是老板更在意兼容性;不是老板不愿意拥抱更新的技术,而是用户的浏览器还没有升级……就是那句很烂俗的话,不能和钱过不去啊。咱们总得先考虑吃饭,所以虽然新技术很美,但常常只能远观。如果你想改变这一情况,可以不畏艰险,死乞白赖的给你认识的人,推荐先进的浏览器,并且监督他们及时升级……(挨打不要找我
认真的考虑实际情况的话,你会发现满嘴大谈 HTML5 和 CSS3 有点儿搞笑。虽然现在确实有一些环境下,可以很好的去应用它们了。但是刻意的强调新技术,很可能就在暗示着放弃了用户体验,或者说是放弃了某种意义上的低端用户吧。说这种话挺令人伤心的,术业有专攻,我们不能够要求每一个用户都对软件的应用多么了解,但仅仅因为这种不了解而划为低端用户,这是科技的不人性化。
暂无评论内容