一文横扫CSS3选择器的使用方法

属性选择器

=====

| 选择器 | 例子 | 例子描述 | CSS |

| — | — | — | — |

| [attribute] | [target] | 选择带有 target 属性所有元素。 | 2 |

| [attribute=value] | [target=_blank] | 选择 target=“_blank” 的所有元素。 | 2 |

| [attribute~=value] | [title~=flower] | 选择 title 属性包含单词 “flower” 的所有元素。 | 2 |

| [attribute|=value] | [lang|=en] | 选择 lang 属性值以 “en” 开头的所有元素。 | 2 |

| [attribute^=value] | a[src^=“https”] | 选择其 src 属性值以 “https” 开头的每个 元素。 | 3 |

| [[attributeKaTeX parse error: Got function '\]' with no arguments as subscript at position 9: =_value_\̲]̲]( ) | a\[src=“.pdf”] | 选择其 src 属性以 “.pdf” 结尾的所有 元素。 | 3 |

| [attribute*=value] | a[src*=“abc”] | 选择其 src 属性中包含 “abc” 子串的每个 元素。 | 3 |

在CSS1和CSS2中对伪类和伪选择器没有做出很明显的区别定义,而二者在语法是一样的,都是以:开头,这造成很多人会将某些伪元素误认为是伪类,如:before:after;而在CSS3给出的定义中,二者区别更为明显,也更容易理解。

在CSS3中,伪类与伪元素在语法上也有所区别,伪元素修改为以::开头。但因为历史原因,浏览器对以:开头的伪元素也继续支持,但建议规范书写为::开头

伪类选择器

=====

伪类用于选择DOM树之外的信息,或是不能用简单选择器进行表示的信息。前者包含那些匹配指定状态的元素,比如:visited:active;后者包含那些满足一定逻辑条件的DOM树中的元素,比如:first-child:first-of-type:target

| 选择器 | 例子 | 例子描述 | CSS |

| — | — | — | — |

| :link | a:link | 选择所有未被访问的链接。 | 1 |

| :visited | a:visited | 选择所有已被访问的链接。 | 1 |

| :active | a:active | 选择活动链接。 | 1 |

| :hover | a:hover | 选择鼠标指针位于其上的链接。 | 1 |

| :focus | input:focus | 选择获得焦点的 input 元素。 | 2 |

| :first-child | p:first-child | 选择属于父元素的第一个子元素的每个

元素。 | 2 |

| :lang(language) | p:lang(it) | 选择带有以 “it” 开头的 lang 属性值的每个

元素。 | 2 |

| :first-of-type | p:first-of-type | 选择属于其父元素的首个

元素的每个

元素。 | 3 |

| :last-of-type | p:last-of-type | 选择属于其父元素的最后

元素的每个

元素。 | 3 |

| :only-of-type | p:only-of-type | 选择属于其父元素唯一的

元素的每个

元素。 | 3 |

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

元素。 | 3 |

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

元素。 | 3 |

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

| :nth-of-type(n) | p:nth-of-type(2) | 选择属于其父元素第二个

元素的每个

元素。 | 3 |

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

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

元素。 | 3 |

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

| :empty | p:empty | 选择没有子元素的每个

元素(包括文本节点)。 | 3 |

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

| :enabled | input:enabled | 选择每个启用的 元素。 | 3 |

| :disabled | input:disabled | 选择每个禁用的 元素 | 3 |

| :checked | input:checked | 选择每个被选中的 元素。 | 3 |

| :not(selector) | :not§ | 选择非

元素的每个元素。 | 3 |

注意:p:first-child表示选择的元素既要是p标签,同时要是其父元素的第一个子元素,不要错误认为是表示p元素的第一个子元素;同理,p:first-of-type表示选择的元素要是p标签,同时要是其父元素的第一个p标签元素;其他类似的伪类含义相似。

伪元素选择器

伪元素为DOM树没有定义的虚拟元素。不同于其他选择器,它不以元素为最小选择单元,它选择的是元素指定内容。比如::before表示选择元素内容的之前内容,也就是""::selection表示选择元素被选中的内容。

| 选择器 | 例子 | 例子描述 | CSS |

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

最后:

总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。

面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。

点击这里领取Web前端开发经典面试题

是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。

点击这里领取Web前端开发经典面试题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值