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

CSS学习笔记三——CSS选择器

标签:
Html/CSS

选择器

分类

  • *

  • .class

  • #id

  • div

  • div,p

  • div p

  • div>p

  • div+p

  • [attribute]

  • [attirbute=‘123']

  • [attribute~=‘123’]

  • [attritube|=‘123’]

  • :link :hover :active :visited :focus

  • :before :after

  • p:first-of-type (last, only,nth) 其父元素的第1/最后/唯一/n个p元素的所有p元素

  • p:nth-(-last-)child(n) 其父元素的(顺序,倒序)第n个元素的所有p元素

  • :root

  • p:empty

  • :disabled :checked

  • :not(p)

优先级排序

计算法则

  • 元素选择器: 1

  • 类选择器:10

  • ID选择器:100

  • 内联: 1000

!important > 行内样式 > ID选择器 > 类选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性

匹配顺序

CSS选择器读取匹配顺序是从右向左的。

若从左向右的匹配,发现不符合规则,需要进行回溯,会损失很多性能。若从右向左匹配,先找到所有的最右节点,对于每一个节点,向上寻找其父节点直到找到根元素或满足条件的匹配规则,则结束这个分支的遍历。两种匹配规则的性能差别很大,是因为从右向左的匹配在第一步就筛选掉了大量的不符合条件的最右节点(叶子节点),而从左向右的匹配规则的性能都浪费在了失败的查找上面。

JQ的选择符匹配规则就是参考了css选择器读取规则来进行DOM节点的查找,得到很大的性能提高



作者:Eason_Wong
链接:https://www.jianshu.com/p/45f7234bf226

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消