选择器的优先级

选择器的优先级的使用注意事项,往往在我们写代码的时候是格外需要注意的。

  • 单独来看标签的优先级
  • ID个数不同的时候的优先级
  • ID个数一致的时候,看类选择器个数
  • ID选择器和类选择器都一致的时候,看元素选择器

提示:
博主:章飞_906285288
博客地址:http://blog.csdn.net/qq_29924041


单独来看标签的优先级

怎么单独来看呢??最简单的选择器有ID选择器,class选择器,与标签选择器,那么究竟是谁的优先级更大呢?之前说过同比下,ID选择器的优先级可能更大一点

ID选择器>class类选择器>元素选择器
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><meta charset="UTF-8"><!--申明当前网页的编码集UTF-8--><meta name="Generator" content="EditPlus®">   <!--编辑器的名称--><meta name="Author" content="作者是谁">       <meta name="Keywords" content="关键词"><meta name="Description" content="描述和简介"><style type="text/css">                                        body,dl,dd,dt,p,h1,h2,h3,h4,h5,h6{ margin: 0;}ul,ol{margin: 0; list-style: none; padding: 0;}a{ text-decoration: none; }*{ margin: 0; padding: 0; }.main{width: 1200px;border: 1px solid grey;margin: 50px auto}#id_li{width: 300px;height: 20px;background: green;color: white}.class_li{width: 300px;height: 20px;background: blue;color: red }.li{width: 300px;height: 20px;background: deeppink;color: black }</style>
</head>
<body><div class="main"><div><ul><li class="class_li" id="id_li">春田花花同学会</li></ul></div></div></body>
</html>

显示效果如下所示:

可以看到上述其实是按照ID选择器来进行选取的,而不是根据类选择器或者标签选择器来选取的


ID个数不同的时候的优先级

当ID个数不同的时候,这里的ID个数是指的的元素选择器中的ID个数不同;我们只看ID的个数,ID个数越多的他的优先级越高(id大于一切), 也就是说,我们在比较两个选择器的优先级的时候,我们首先看ID个数,如果ID个数不一样,那么,ID个数多的优先级就越高,class类选择器以及我们的元素选择器就不用看了

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><meta charset="UTF-8"><!--申明当前网页的编码集UTF-8--><meta name="Generator" content="EditPlus®">   <!--编辑器的名称--><meta name="Author" content="作者是谁">       <meta name="Keywords" content="关键词"><meta name="Description" content="描述和简介"><style type="text/css">                                        body,dl,dd,dt,p,h1,h2,h3,h4,h5,h6{ margin: 0;}ul,ol{margin: 0; list-style: none; padding: 0;}a{ text-decoration: none; }*{ margin: 0; padding: 0; }.main{width: 1200px;border: 1px solid red;margin: 50px auto}.main .box1 #box2 #inner_p{width: 300px;height: 20px;line-height: 20px;background: deeppink}.main #box1 #box2 #inner_p{width: 300px;height: 30px;line-height: 30px;background: red;color: white}</style>
</head>
<body><div class="main"><div class="box1" id="box1"><div class="box2" id="box2"><p id="inner_p">最内侧的p标签</p></div></div></div>
</body>
</html>

显示效果如下所示:

从上面就可以看到了,在选择的过程中,第二个选择器的id数目比第一个要多,因此根本不用再继续看类选择器或者标签选择器


ID个数一致的时候,看类选择器个数

ID选择器个数一样的时候呢?我们就数一下class类选择器的个数,类选择器个数越多的优先级就越高, 总结:当我们比较两个选择器的优先级的时候,先数ID,如果说ID个数一样,那我们数class类选择器的个数,类选择器个数越多的优先级越高!

依旧采用上述的案例,修改样式如下,使第一个选择器的class选择器多余第二个。

.main #box1 #box2 .inner_p{width: 300px;height: 20px;line-height: 20px;background: deeppink}.main #box1 #box2 p{width: 300px;height: 30px;line-height: 30px;background: red;color: white}

显示如下所示:


可以看到时按照第一个选择器来进行显示的


ID选择器和类选择器都一致的时候,看元素选择器

当ID个数和class个数都一样的时候:ID 和class都一样的时候,看元素选择器总结:判断两个选择器优先级的时候,如果ID和class都一样的时候,我们就看元素选择器的个数

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><meta charset="UTF-8"><!--申明当前网页的编码集UTF-8--><meta name="Generator" content="EditPlus®">   <!--编辑器的名称--><meta name="Author" content="作者是谁">       <meta name="Keywords" content="关键词"><meta name="Description" content="描述和简介"><style type="text/css">                                        body,dl,dd,dt,p,h1,h2,h3,h4,h5,h6{ margin: 0;}ul,ol{margin: 0; list-style: none; padding: 0;}a{ text-decoration: none; }*{ margin: 0; padding: 0; }.main{width: 1200px;border: 1px solid red;margin: 50px auto}.main #box1  div p{width: 400px;height: 50px;line-height: 50px;background: gold;font-size: 20px}.main #box1  p{width: 300px;height: 30px;line-height: 30px;background: red;color: white}</style>
</head>
<body><div class="main"><div class="box1" id="box1"><div class="box2" id="box2"><p id="inner_p" class="inner_p">最内侧的p标签</p></div></div></div>
</body>
</html>

显示的效果如下所示:


通过子代选择器去选取,可以看出,当class选择器和id选择器数量都一致的时候,会根据标签选择器的数量来进行选取。

很简单的一些总结,基础好才是王道

欢迎持续访问博客

从零开始前端学习[14]:选择器的优先级相关推荐

  1. 从零开始前端学习[38]:html5中的弹性布局一(移动端响应式实现各种布局,极其重要)

    html5中的弹性布局(移动端及其重要) 弹性盒子模型是什么? 容器属性 提示 博主:章飞_906285288 博课地址:http://blog.csdn.net/qq_29924041 弹性盒子模型 ...

  2. web前端学习笔记——选择器

    选择器:选择要添加样式的 HTML 标签的一种方法.模式 基础选择器:标签选择器.id 选择器.类选择器.通配符选择器. 高级选择器:后代选择器.交集选择器.并集选择器. 基础选择器 标签选择器 通过 ...

  3. 前端学习-关于选择器的介绍和使用

    一.选择器 1.类型选择器 用法: 指html类.标签直接定义样式 p{ } div{ } span,a{ } <style>p {width: 120px;height: 100px;/ ...

  4. 从零开始前端学习[50]:js操作标签属性,读写属性标签

    js操作标签属性 标签属性 js下操作标签属性 提示: 博主:章飞_906285288 博客地址:http://blog.csdn.net/qq_29924041 前端的一些标签属性 标签属性:通俗的 ...

  5. 从零开始前端学习[17]:overflow超出是否隐藏的使用方式

    overflow超出是否隐藏的使用方式 overflow属性及属性值的使用 单方向属性:overflow-x 单方向属性:overflow-y 提示 博主:章飞_906285288 博客地址:http ...

  6. 从零开始前端学习[36]:Cs3中的3D效果实现

    Cs3中的3D效果实现 perspective井深 transform-style 3D环境 提示 博主:章飞_906285288 博客地址:http://blog.csdn.net/qq_29924 ...

  7. 从零开始前端学习[32]:css3中新增加的一些文本属性

    css3中新增加的一些文本属性 css中相关的文本属性 css3中增加的一些文本属性 direction文本显示方向 多行超出文本显示省略号 text-shadow字体的阴影设置 text-strok ...

  8. 从零开始前端学习[11]:控制文本显示的样式属性

    控制文本显示的样式属性 text-align 文字水平显示方式 line-height 文字垂直显示方式 text-decoration 文本的修饰方式 text-indent 文本的缩进方式 let ...

  9. Web前端学习(千锋)

    Web前端学习 一 . 选择器 标签选择器 群组选择器(分组选择器) 通配选择器 层次选择器 属性选择器 伪类选择器 结构性伪类选择器 二 . css继承 三 . css优先级 四 . css盒子模型 ...

最新文章

  1. 集锦 | 新冠图像数据分析论文集合
  2. easy_install与pip 区别
  3. MaxCompute - ODPS重装上阵 第四弹 - CTE,VALUES,SEMIJOIN
  4. 在csdn中输入公式的方法
  5. Ubuntu 16.04粘贴板增强工具Diodon
  6. 【渝粤教育】国家开放大学2018年秋季 0321-21T学前心理学 参考试题
  7. 微信小程序实现图片上传功能
  8. 单网卡、单IP、双网关设置内外网同时访问
  9. 谷歌邮箱无法显示使用 Base64 处理的图片的正确解决方法
  10. 再追哥德尔开篇---哥德尔逻辑与哲学之一
  11. 博客怎么推广才能达到最佳优化效果
  12. 在Mac下,快速搭建针对WP8应用的PhoneGap开发环境
  13. android 拼音过滤、匹配首字母
  14. windows下安装mathtype公式编辑器记录
  15. 【Flink实战系列】Flink 提交任务遇到 Server Response Internal server error 怎么排查
  16. matplotlib画图-折线/散点/柱状/条形图
  17. latex IEEE单栏文章图片双栏目排列
  18. 代价函数,损失函数,目标函数区别
  19. 锐化 清晰度 对比度的区别
  20. flask之flash

热门文章

  1. Greenplum初始化gpinitsystem报错解决
  2. Linux基本命令-grep 命令
  3. 引入uni-app组件时报错:文件查找失败:‘@/compents/uni-popup.vue‘
  4. 电脑耳机插入外放解决办法
  5. Tesseract:识别知乎网站登录验证码
  6. oppo服务器暂时不可用,oppo手机网络连接不可用是怎么回事
  7. SEO 已死,LLMO 万岁
  8. 软通22年秋季新员工入职考试
  9. WebLogic BEA-101020问题
  10. Docker CentOS 7.x underlay网络 桥接网络配置