从零开始前端学习[14]:选择器的优先级
选择器的优先级
选择器的优先级的使用注意事项,往往在我们写代码的时候是格外需要注意的。
- 单独来看标签的优先级
- 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]:选择器的优先级相关推荐
- 从零开始前端学习[38]:html5中的弹性布局一(移动端响应式实现各种布局,极其重要)
html5中的弹性布局(移动端及其重要) 弹性盒子模型是什么? 容器属性 提示 博主:章飞_906285288 博课地址:http://blog.csdn.net/qq_29924041 弹性盒子模型 ...
- web前端学习笔记——选择器
选择器:选择要添加样式的 HTML 标签的一种方法.模式 基础选择器:标签选择器.id 选择器.类选择器.通配符选择器. 高级选择器:后代选择器.交集选择器.并集选择器. 基础选择器 标签选择器 通过 ...
- 前端学习-关于选择器的介绍和使用
一.选择器 1.类型选择器 用法: 指html类.标签直接定义样式 p{ } div{ } span,a{ } <style>p {width: 120px;height: 100px;/ ...
- 从零开始前端学习[50]:js操作标签属性,读写属性标签
js操作标签属性 标签属性 js下操作标签属性 提示: 博主:章飞_906285288 博客地址:http://blog.csdn.net/qq_29924041 前端的一些标签属性 标签属性:通俗的 ...
- 从零开始前端学习[17]:overflow超出是否隐藏的使用方式
overflow超出是否隐藏的使用方式 overflow属性及属性值的使用 单方向属性:overflow-x 单方向属性:overflow-y 提示 博主:章飞_906285288 博客地址:http ...
- 从零开始前端学习[36]:Cs3中的3D效果实现
Cs3中的3D效果实现 perspective井深 transform-style 3D环境 提示 博主:章飞_906285288 博客地址:http://blog.csdn.net/qq_29924 ...
- 从零开始前端学习[32]:css3中新增加的一些文本属性
css3中新增加的一些文本属性 css中相关的文本属性 css3中增加的一些文本属性 direction文本显示方向 多行超出文本显示省略号 text-shadow字体的阴影设置 text-strok ...
- 从零开始前端学习[11]:控制文本显示的样式属性
控制文本显示的样式属性 text-align 文字水平显示方式 line-height 文字垂直显示方式 text-decoration 文本的修饰方式 text-indent 文本的缩进方式 let ...
- Web前端学习(千锋)
Web前端学习 一 . 选择器 标签选择器 群组选择器(分组选择器) 通配选择器 层次选择器 属性选择器 伪类选择器 结构性伪类选择器 二 . css继承 三 . css优先级 四 . css盒子模型 ...
最新文章
- 集锦 | 新冠图像数据分析论文集合
- easy_install与pip 区别
- MaxCompute - ODPS重装上阵 第四弹 - CTE,VALUES,SEMIJOIN
- 在csdn中输入公式的方法
- Ubuntu 16.04粘贴板增强工具Diodon
- 【渝粤教育】国家开放大学2018年秋季 0321-21T学前心理学 参考试题
- 微信小程序实现图片上传功能
- 单网卡、单IP、双网关设置内外网同时访问
- 谷歌邮箱无法显示使用 Base64 处理的图片的正确解决方法
- 再追哥德尔开篇---哥德尔逻辑与哲学之一
- 博客怎么推广才能达到最佳优化效果
- 在Mac下,快速搭建针对WP8应用的PhoneGap开发环境
- android 拼音过滤、匹配首字母
- windows下安装mathtype公式编辑器记录
- 【Flink实战系列】Flink 提交任务遇到 Server Response Internal server error 怎么排查
- matplotlib画图-折线/散点/柱状/条形图
- latex IEEE单栏文章图片双栏目排列
- 代价函数,损失函数,目标函数区别
- 锐化 清晰度 对比度的区别
- flask之flash
热门文章
- Greenplum初始化gpinitsystem报错解决
- Linux基本命令-grep 命令
- 引入uni-app组件时报错:文件查找失败:‘@/compents/uni-popup.vue‘
- 电脑耳机插入外放解决办法
- Tesseract:识别知乎网站登录验证码
- oppo服务器暂时不可用,oppo手机网络连接不可用是怎么回事
- SEO 已死,LLMO 万岁
- 软通22年秋季新员工入职考试
- WebLogic BEA-101020问题
- Docker CentOS 7.x underlay网络 桥接网络配置