美文网首页css
选择器和选择器的优先级别

选择器和选择器的优先级别

作者: Aniugel | 来源:发表于2019-04-16 19:46 被阅读1次

CSS三大特性—— 继承、优先级、层叠。
继承:即子类元素继承父类的样式;
优先级:是指不同类别样式的权重比较;
层叠:是说当数量相同时,通过层叠(后者覆盖前者)的样式。

一、选择器分类

1.标签选择器(如:body,div,p,ul,li)

2.类选择器(如:class="head",class="head_logo")

3.ID选择器(如:id="name",id="name_txt")

4.全局选择器(如:*号)

5.组合选择器(如:.head .head_logo,注意两选择器用空格键分开)

6.后代选择器 (如:#head .nav ul li 从父集到子孙集的选择器)

7.群组选择器 div,span,img {color:Red} 即具有相同样式的标签分组显示

8.继承选择器(如:div p,注意两选择器用空格键分开)

9.伪类选择器(如:就是链接样式,a元素的伪类,4种不同的状态:link、visited、active、hover。)

10.字符串匹配的属性选择符(^ $ *三种,分别对应开始、结尾、包含)

11.子选择器 (如:div>p ,带大于号>)

12.CSS 相邻兄弟选择器器 (如:h1+p,带加号+)

二、css优先级

当两个规则都作用到了同一个html元素上时,如果定义的属性有冲突,那么应该用谁的值的,CSS有一套优先级的定义。

1、不同级别

在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式。
作为style属性写在元素内的样式
id选择器
类选择器
标签选择器
通配符选择器
浏览器自定义或继承

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

2、同一级别

同一级别中后写的会覆盖先写的样式

上面的级别还是很容易看懂的,但是有时候有些规则是多个级别的组合,像这样,到底div是应用那条规则呢,有个简单的计算方法(权值实际并不是按十进制,用数字表示只是说明思想,一万个class也不如一个id权值高)

内联样式表的权值为 1000
ID 选择器的权值为 100
Class 类选择器的权值为 10
HTML 标签选择器的权值为 1

我们可以把选择器中规则对应做加法,比较权值,如果权值相同那就后面的覆盖前面的了,div.class的权值是1+10=11,而.test1 .test2的权值是10+10=20,所以div会应用.test1 .test2变成绿色

总结:
①、!important的优先级是最高的,但出现冲突时则需比较”四位数“;

②、优先级相同时,则采用就近原则,选择最后出现的样式;

③、继承得来的属性,其优先级最低;

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

*css选择器使用强烈建议采用低权重原则,利于充分发挥css的继承性,复用性,模块化、组件化。

三、CSS选择器的解析原则

从上到下,从左到右
原因:
减少选择器匹配的次数,style rules的节点数变少
可以先解析子元素,后解析父元素,避免了HTML与CSS没有下载完需要进行等待的情形
不要用*通配符

四、简洁、高效的css

所谓高效就是让浏览器查找更少的元素标签来确定匹配的style元素。
1.不要再ID选择器前使用标签名
解释:ID选择是唯一的,加上标签名相当于画蛇添足了,没必要。
2.不要在类选择器前使用标签名
解释:如果没有相同的名字出现就是没必要,但是如果存在多个相同名字的类选择器则有必要添加标签名防止混淆如(p.colclass{color:red;} 和 span.colclass{color:red;}
3.尽量少使用层级关系;
#divclass p.colclass{color:red;}改为 .colclass{color:red;}
4.使用类选择器代替层级关系(如上)
原文:https://www.cnblogs.com/zxjwlh/p/6213239.html

相关文章

  • CSS - 选择器

    本文要点: 什么叫选择器?它的作用是什么? 选择器的种类 选择器优先级别 什么叫选择器 CSS 选择器用于设置选择...

  • css选择器的优先级

    css选择器遵循 在相同级别:叠加原则就近原则(覆盖) id选择器 > 类选择器 > 标签选择器 范围越小,优先级...

  • CSS的选择器

    1.标签选择器、类选择器、id选择器、后代选择器 2.伪类 3.选择器的优先级别 4.html标签的类型 5.cs...

  • day03

    今天学习了! 1.选择器 2.后代选择器 3.兄弟选择器 4.伪元素 5.属性选择器 6.选择器的优先级别 7.选...

  • 2019-05-28 选择器优先级,a的伪类,文本标签,列表,单

    选择器的优先级 优先级的规则 内联样式,优先级1000 id选择器,优先级100 类和伪类,优先级10 元素选择器...

  • CSS布局基础(五)--选择器

    选择器的优先级:直接在标签中的设置样式> ID选择器 > 类选择器 > 标签选择器指定ID选择器优先级>ID选择器...

  • CSS 选择器种类、权重和优先级

    主要内容: 常见的CSS选择器、选择器的优先级。 class 和 id 选择器 class 和 id 选择器的区别...

  • CSS-常用选择器

    常用选择器 子代和父代选择器 伪类选择器 伪元素 属性选择器 孩子选择器 兄弟选择器 否定伪类 优先选择器 a的伪类

  • 今日所学知识点

    选择器的优先级 1.权重内联样式 优先级1000id选择器 优先级100类选择器 优先级10元素选择器 优先级1通...

  • 2019-05-28

    选择器的优先级: 内联样式:1000 id选择器:100 类和伪类:10 元素选择器:1 通配选择器:...

网友评论

    本文标题:选择器和选择器的优先级别

    本文链接:https://www.haomeiwen.com/subject/iahiwqtx.html