css3 伪类选择器快速复习小结

来源:脚本之家  责任编辑:小易  

加个样式名称或标签名称即可生效。如下方 a:link{ color:#000; } a:visited { color:#f2f2f2; } .main:link{ color:#000; } .main:visited { color:#f2f2f2; }

前言

如果说 css 作为前端开发的基本功, 那么 "选择器" 就是基础中的基础. 如果你在复写或者学习这些容易令人混淆的选择器, 那么你就来对地方了, 我的老伙计.

伪类 按现在的规范应当书写成 :weilei伪元素 按现在的规范 应当书写成 ::weiyuansu 但是 以前规范不明确的时候 伪元素 和 伪类 都是写成 :weiyuansu :weilei 为了兼容过去的写法 所以 你的伪元素 写成一个引号的形式 也是可以被解析的 伪元素主

本篇文章会直接了当的比较它们的特性, 帮助你快速的掌握它们: first-child last-child first-of-type last-of-type only-child only-of-type nth-child nth-last-child nth-of-type nth-last-of-type

有的,包括:“:not(:first-child)”、“:nth-child(n+2)”两种方式。 1、:not(:first-child):其中,E:not(s)表示匹配所有不匹配简单选择符s的元素E,E:first-child匹配同级兄弟元素中的第一个E元素。 2、:nth-child(n+2):其中nth-child表示第几个

first-child & last-child

1、同意楼上: ID选择器:#header {} 类选择器:.header {} 元素选择器:div {} 子选择器:ul > li {} 后代选择器:div p {} 伪类选择器:a:hover {} 属性选择器:input[type="text"] {} id优先级高于类class; 后面的样式覆盖前面的; 指定的高

这两个选择器会匹配一组兄弟元素中的第一个:

方法很多种,例如通过伪类:last-child{ 样式 }这个是选择最后一个父级子元素。 第一个父级子元素可以这样nth-child(1){ 样式 } 除了上面的方法还可以通过给第一和最后一个元素设置一个额外的类来设置样式。

 

一汽大众是没有桑塔纳的,一汽的车型是捷达。要说区别我们就来看看它们的老东家怎么样吧。上海大众:自主研发多,大众品牌除了途观,polo,都是自己研究的,说白了:桑塔纳,朗逸、朗行、零度出了中国就没有了;另外帕萨特也和国外的不一样,不是最新的帕萨特,只是借用了个名字;一汽大众:自主研发较差,只有捷达,宝来,蔚领是自主研发;速腾,高尔夫,迈腾,CC都是全球上市销售车型,国外也有;其实迈腾才是大众引以为傲的帕萨特。要说这两辆车的差别呢,实际上差距不大,主要就是差在外观上了。所以就看你喜欢哪一款了。

注意: 要想使得该选择器起作用实际上需要满足三个条件: 被前面的选择器匹配 此例中是 p 是一组兄弟元素 是第一个(或者最后一个)元素

安全感,官方一点来说就是,渴望稳定、安全的心理需求。恋爱的时候,双方一般都会希望从对方的身上,获得这种感觉。有的人天生没有安全感,对自己的男/女朋友经常患得患失。说几个我觉得安全感比较重要的点。1、依赖。主要是情感和思想上的依赖,比如说,没有对方不知道怎么过了,还有很多人都潜意识里认为爱情是对方拼命对自己好,不管自己有多任性,多无耻,对方依然会瞎了眼般的对自己好。但是却忘记了,爱情里是要双方给予和付出的,自己也要给对方足够的爱。2、独立。不管你有多爱对方,也不要失去自我,放弃自己的学业、事业。有一份除了爱情以外可以让你很投入的事情,也是独立的表现。因为这个事情可以带给你比爱情还要大的安全感,就

last-child 在此不多赘述, 区别就是从后向前进行匹配.

两家大公司掐架,已经不是奇怪的事情,但这次华为与腾讯之争,确实触动了很多人神经,因为这再一次围绕着用户数据安全而展开,而且是将内幕公开化。实际上,华为与腾讯的恩怨并非一日。如果非要追个源头,应该是从华为手机拒绝支持腾讯的微信指纹支付开始。很多人都发现,即便苹果等手机可以支持微信的指纹支付,可华为的机型基本都不支持。根据华为的解释,原因是因为,“有的互联网公司向华为索要手机用户的指纹密码”,这是华为不同同意的。网上有据可查的资料显示,世界上第一部支持微信指纹支付的手机,就是华为的mate7,华为帮微信打通了指纹支付。但是,之后微信要求手机商家上传指纹数据才能验证,华为出于安全考虑不给数据,所以后

first-of-type & last-of-type

都说高手在民间,土豪隐于市,说的一点也不假,这不巧了?南妃刚好之前有发过这类文章!这就给你!南妃当时看到的时候都惊呆了!南妃都惊呆了很久!难道不怕被抢吗?其实不止有南红砌墙,还有绿松,蜜蜡,翡翠是不是感觉这世界的土豪简直太多了!下面就看看吧!绿松砌墙:里面竟然有这么多绿松石毛料?还有不少高瓷高蓝的料子!南妃想知道这堵墙值多少钱!蜜蜡砌墙:在这个“琥珀宫”里的565根蜡烛点燃后,整座“琥珀宫”顿时就变得金碧辉煌,灿烂耀眼,光彩夺目,比黄金还刺眼!翡翠:据说这是缅甸的一个土豪,用翡翠原石盖房子。铺在地面的翡翠,竟然是满绿料子!是不是很想撬一块带走?古瓷器:啥?没去过?那就看着图片想象一下吧!

这两个选择器会匹配同一组类型中的第一个(最后一个)而不理会该元素的位置是否真的是在该组元素的第一个(最后一个):

 

一汽大众是没有桑塔纳的,一汽的车型是捷达。要说区别我们就来看看它们的老东家怎么样吧。上海大众:自主研发多,大众品牌除了途观,polo,都是自己研究的,说白了:桑塔纳,朗逸、朗行、零度出了中国就没有了;另外帕萨特也和国外的不一样,不是最新的帕萨特,只是借用了个名字;一汽大众:自主研发较差,只有捷达,宝来,蔚领是自主研发;速腾,高尔夫,迈腾,CC都是全球上市销售车型,国外也有;其实迈腾才是大众引以为傲的帕萨特。要说这两辆车的差别呢,实际上差距不大,主要就是差在外观上了。所以就看你喜欢哪一款了。

注意: 要想使得该选择器起作用实际上需要满足两个条件: 被前面的选择器匹配 此例中是 p 是一组兄弟元素

last-of-type 在此不多赘述, 区别就是从后向前进行匹配.

only-child & only-of-type

only-child 匹配那些没有兄弟元素的元素, 换句话说匹配那些 "孤儿" 元素:

 

一汽大众是没有桑塔纳的,一汽的车型是捷达。要说区别我们就来看看它们的老东家怎么样吧。上海大众:自主研发多,大众品牌除了途观,polo,都是自己研究的,说白了:桑塔纳,朗逸、朗行、零度出了中国就没有了;另外帕萨特也和国外的不一样,不是最新的帕萨特,只是借用了个名字;一汽大众:自主研发较差,只有捷达,宝来,蔚领是自主研发;速腾,高尔夫,迈腾,CC都是全球上市销售车型,国外也有;其实迈腾才是大众引以为傲的帕萨特。要说这两辆车的差别呢,实际上差距不大,主要就是差在外观上了。所以就看你喜欢哪一款了。

上图中被 "孤立" 的元素有第一个 <p> 和嵌套的 <span> 它们都被选择器匹配到了.

only-of-type 匹配一组兄弟元素中类型唯一类型的元素:

 

一汽大众是没有桑塔纳的,一汽的车型是捷达。要说区别我们就来看看它们的老东家怎么样吧。上海大众:自主研发多,大众品牌除了途观,polo,都是自己研究的,说白了:桑塔纳,朗逸、朗行、零度出了中国就没有了;另外帕萨特也和国外的不一样,不是最新的帕萨特,只是借用了个名字;一汽大众:自主研发较差,只有捷达,宝来,蔚领是自主研发;速腾,高尔夫,迈腾,CC都是全球上市销售车型,国外也有;其实迈腾才是大众引以为傲的帕萨特。要说这两辆车的差别呢,实际上差距不大,主要就是差在外观上了。所以就看你喜欢哪一款了。

因为第一个<p> 和第二个 <p> 以及最后的 <span> 在对应的父元素下类型都是唯一的所以它们会被选择器匹配到.

nth-child & nth-last-child

这些伪类选择器最有意思的一点就是可以传入一个公式 an+b, 根据这个公式来匹配元素. 这个公式有很多玩法, 导致有很多人将这个公式的所有组合以及所匹配的内容背下来.

实际上我们的思考方式被 css 给固化了, 因为这个东西从数学的角度来看非常容易摸清楚规律, 例如有如下的代码:

<style> p:nth-child(2n+1){ color:blue; } </style> <body> <p>第一行</p> <p>第二行</p> <p>第三行</p> </body>

思考模式:

    先收集匹配到的元素, 在这个例子中就是三个 <p> 标签 从下标 0 后数到 2 表示 <p> 的个数, 依次带入公式求值 将对应下标的元素进行匹配(元素下标从1开始数)

结果:

 

一汽大众是没有桑塔纳的,一汽的车型是捷达。要说区别我们就来看看它们的老东家怎么样吧。上海大众:自主研发多,大众品牌除了途观,polo,都是自己研究的,说白了:桑塔纳,朗逸、朗行、零度出了中国就没有了;另外帕萨特也和国外的不一样,不是最新的帕萨特,只是借用了个名字;一汽大众:自主研发较差,只有捷达,宝来,蔚领是自主研发;速腾,高尔夫,迈腾,CC都是全球上市销售车型,国外也有;其实迈腾才是大众引以为傲的帕萨特。要说这两辆车的差别呢,实际上差距不大,主要就是差在外观上了。所以就看你喜欢哪一款了。

   

公式 解释
2n 所有偶数元素
2n+1 所有奇数元素
n & n+1 所有元素
n+2 第二个元素后的元素(包括第二个元素)
n+3 第三个元素后的元素(包括第三个元素)
0n 啥都匹配不到
3n+4 4,7,10,13 ....
1 只匹配第一个元素
-n+2 只匹配前两个元素
nth-child(odd) 奇数元素
nth-child(even) 偶数元素

不过不要忘记了 nth-child 匹配的依然是同一组兄弟元素, 不过有趣的是 nth-child 会利用选择器进行过滤, 但是应用样式的时候却不把样式应用到匹配的元素上:

 

一汽大众是没有桑塔纳的,一汽的车型是捷达。要说区别我们就来看看它们的老东家怎么样吧。上海大众:自主研发多,大众品牌除了途观,polo,都是自己研究的,说白了:桑塔纳,朗逸、朗行、零度出了中国就没有了;另外帕萨特也和国外的不一样,不是最新的帕萨特,只是借用了个名字;一汽大众:自主研发较差,只有捷达,宝来,蔚领是自主研发;速腾,高尔夫,迈腾,CC都是全球上市销售车型,国外也有;其实迈腾才是大众引以为傲的帕萨特。要说这两辆车的差别呢,实际上差距不大,主要就是差在外观上了。所以就看你喜欢哪一款了。

上图中 <div> 中的两组 <p> 元素被视为兄弟元素进行匹配, 但是有趣的是作为第三个 <p> 元素 "第三行" 也被匹配到了, 这说明在应用样式会直接应用在一组兄弟元素中而不是被匹配到的 <p> 元素, 不过需要注意的是如果图片中的 "第三组" 中的 <p><div> 的话类型不同样式是不会被应用的.

nth-last-child 就是从后向前的版本, 这里就不在详细举例了:

 

一汽大众是没有桑塔纳的,一汽的车型是捷达。要说区别我们就来看看它们的老东家怎么样吧。上海大众:自主研发多,大众品牌除了途观,polo,都是自己研究的,说白了:桑塔纳,朗逸、朗行、零度出了中国就没有了;另外帕萨特也和国外的不一样,不是最新的帕萨特,只是借用了个名字;一汽大众:自主研发较差,只有捷达,宝来,蔚领是自主研发;速腾,高尔夫,迈腾,CC都是全球上市销售车型,国外也有;其实迈腾才是大众引以为傲的帕萨特。要说这两辆车的差别呢,实际上差距不大,主要就是差在外观上了。所以就看你喜欢哪一款了。

MDN 上还给出了一个有意思的例子, 可以根据元素的数量来控制元素的样式:

li:nth-last-child(n+3), li:nth-last-child(n+3) ~ li { color: red; }

<h4>A list of four items (styled):</h4> <ol> <li>One</li> <li>Two</li> <li>Three</li> <li>Four</li> </ol> <h4>A list of two items (unstyled):</h4> <ol> <li>One</li> <li>Two</li> </ol>

nth-of-type & nth-last-of-type

nth-of-type 匹配: 同一组中相同类型的兄弟元素 匹配对应公式计算值的元素

你注意到了吗 nth-of-typenth-child 是有些区别的, 计算完成后样式的应用到了被匹配的元素身上, 而不是兄弟元素上.

nth-last-of-type 是一个从后向前的版本, 这里不在详细介绍:

 

一汽大众是没有桑塔纳的,一汽的车型是捷达。要说区别我们就来看看它们的老东家怎么样吧。上海大众:自主研发多,大众品牌除了途观,polo,都是自己研究的,说白了:桑塔纳,朗逸、朗行、零度出了中国就没有了;另外帕萨特也和国外的不一样,不是最新的帕萨特,只是借用了个名字;一汽大众:自主研发较差,只有捷达,宝来,蔚领是自主研发;速腾,高尔夫,迈腾,CC都是全球上市销售车型,国外也有;其实迈腾才是大众引以为傲的帕萨特。要说这两辆车的差别呢,实际上差距不大,主要就是差在外观上了。所以就看你喜欢哪一款了。

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

html 5 的CSS3新增的伪类选择器还包括哪些?

:first-of-type p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。

:last-of-type p:last-of-type 选择属于其父元素的最后 <p> 元素的每个 <p> 元素。

:only-of-type p:only-of-type 选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。

:only-child p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素。

:nth-child(n) p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。

:nth-last-child(n) p:nth-last-child(2) 同上,从最后一个子元素开始计数。

:nth-of-type(n) p:nth-of-type(2) 选择属于其父元素第二个 <p> 元素的每个 <p> 元素。

:nth-last-of-type(n) p:nth-last-of-type(2) 同上,但是从最后一个子元素开始计数。

:last-child p:last-child 选择属于其父元素最后一个子元素每个 <p> 元素。

:root :root 选择文档的根元素。

:empty p:empty 选择没有子元素的每个 <p> 元素(包括文本节点)。

:target #news:target 选择当前活动的 #news 元素。

:enabled input:enabled 选择每个启用的 <input> 元素。

:disabled input:disabled 选择每个禁用的 <input> 元素

:checked input:checked 选择每个被选中的 <input> 元素。

:not(selector) :not(p) 选择非 <p> 元素的每个元素。

::selection ::selection 选择被用户选取的元素部分。

html 5 的CSS3新增的伪类选择器还包括哪些呀?

:first-of-type p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。

:last-of-type p:last-of-type 选择属于其父元素的最后 <p> 元素的每个 <p> 元素。

:only-of-type p:only-of-type 选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。

:only-child p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素。

:nth-child(n) p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。

:nth-last-child(n) p:nth-last-child(2) 同上,从最后一个子元素开始计数。

:nth-of-type(n) p:nth-of-type(2) 选择属于其父元素第二个 <p> 元素的每个 <p> 元素。

:nth-last-of-type(n) p:nth-last-of-type(2) 同上,但是从最后一个子元素开始计数。

:last-child p:last-child 选择属于其父元素最后一个子元素每个 <p> 元素。

:root :root 选择文档的根元素。

:empty p:empty 选择没有子元素的每个 <p> 元素(包括文本节点)。

:target #news:target 选择当前活动的 #news 元素。

:enabled input:enabled 选择每个启用的 <input> 元素。

:disabled input:disabled 选择每个禁用的 <input> 元素

:checked input:checked 选择每个被选中的 <input> 元素。

:not(selector) :not(p) 选择非 <p> 元素的每个元素。

::selection ::selection 选择被用户选取的元素部分。

css3怎么用伪类选择器不要第一个

一、X:nth-child(n) li:nth-child(3) { color: red;}接下来的几个伪类选择器使用上非常类似,功能也比较接近。 :nth-child(n),用于匹配索引值为n的子元素。索引值从1开始。 X:nth-child()用法实际上有三种变化,demo的用法是最简单的,X:nth-child()更强大的用处在于奇偶匹配,明河不展开讲,有兴趣的请看《Understanding :nth-child Pseudo-class Expressions》,《CSS3 :nth-child()伪类选择器》 二、X:nth-last-child(n) li:nth-last-child(2) { color: red;}:nth-child(n),是从第一个开始算索引,而X:nth-last-child(n)是从最后一个开始算索引。

  • 本文相关:
  • css3 新增选择器的实例
  • css 样式的使用方式、选择器
  • 盘点css selectors level4中新增的选择器
  • css选择器设置标签样式的实例代码
  • 使用css属性选择器来拼接html的dna的方法
  • 深入理解css 选择器
  • css复杂选择器及css字体样式、颜色属性详解
  • html 5 的CSS3新增的伪类选择器还包括哪些?
  • html 5 的CSS3新增的伪类选择器还包括哪些呀?
  • css3怎么用伪类选择器不要第一个
  • html5的CSS3选择器中的反选伪类选择器怎么选?
  • 跪求html 5 的CSS3选择器中的 反选伪类选择器:not...
  • CSS3中伪类选择器无效
  • css3中伪类选择器和伪对象选择器的区别
  • css3有没有除第一个子元素以外的元素的选择器
  • CSS的基本选择器有哪几种?分别适合在什么情况下使用?
  • css3 - css中如何让第一个和最后一个不被选中?
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved