css优先级计算规则——权重
一、css的优先级
当对同一个元素设置相同的多个声明时,会按照优先级的高低选择应用哪种声明。
<style>
#id{
color:red;
}
p{
color:blue;
}
</style> <div id="te">
<!-- p元素内的颜色设置为black,因为对p元素的设置,该段代码中行内样式的优先级最高 --!>
<p id="id" style="color:black;"></p>
</div>
二、优先级的计算方式——权重
1、权重计算的基础
内联样式:1000
id选择器:0100
类、伪类、属性选择器:0010
元素、伪元素选择器:0001
通配符:0000
2、比较规则
a、1,0,0,0 > 0,99,99,99
b、内部样式和外部样式优先级相同
c、权重相同的情况下,后写的会覆盖先写的样式
d、使用后代选择器和子类选择器,则需要把某个元素所有的修饰权值相加,即修饰的越精确,权值越高,如:
.class p[type="text"]{color:#000;}/*权值:0021*/,
该样式中,关于p元素的权值为,一个类选择器0010,一个元素选择器0001,一个属性选择器0010,最终结果0021。
<div id="te" class="cte">
<div>div</div>
<p type="text">345</p>
<p id="id">123</p>
<p class="class">666</p>
<p text="text">777</p>
<p style="color=red;"></p><!-- 权值:1000 --!>
</div> *{color:green;}/*权值:0000*/
p{color:#00f;}/*权值:0001*/
div p{color:orange;}/*权值:0002*/
.class{color:gray;}/*权值:0010*/
.class p[type="text"]{color:#000;}/*权值:0021*/
#id{color:red;}/*权值:0100*/
div #id{color:red;}/*权值:0101*/
三、特殊的优先级
!important,它没有权重,但是加上这个标签后,该声明就是最高优先级,大于内联样式。
如果在某个声明中加了!important,则该页面中无论后面加了其他什么样的样式,生效的只有这个。
<style>
*{
color:green!important;
}
</style>
css优先级计算规则——权重的更多相关文章
- css优先级计算规则
原文:css优先级计算规则 最近面试了一些求职者,我问css优先级计算规则是怎样的?答曰ID优先级>class>元素选择器,外联样式优先级低于内联样式,内联样式优先级低于行间样式,然后就没 ...
- 关于CSS的优先级,CSS优先级计算
原则一: 继承不如指定原则二: #id > .class > 标签选择符原则三:越具体越强大原则四:标签#id >#id ; 标签.class > .class CSS优先级权 ...
- 关于CSS的优先级,CSS优先级计算,多个class引用
原则一: 继承不如指定 原则二: #id > .class > 标签选择符 原则三:越具体越强大 原则四:标签#id >#id ; 标签.class > .class CSS优 ...
- css优先级计算
主要的css选择器有id,class,tag,[],:,::等,而通常需要对其优先级进行判断的有id,class,tag,另外内联样式和!important也和css的优先级有关系. 如果将这五种不同 ...
- css样式优先级计算规则
css样式的优先级分为引入优先级和声明优先级. 引入优先级 引入样式一般分为外部样式,内部样式,内联样式. 外部样式:使用link引入的外部css文件. 内部样式:使用style标签书写的css样式. ...
- 【学习笔记】CSS优先级规则
CSS的优先级规则很多地方的说法都是错误的,常见错误说法是inline css>内部样式>外部样式,其实并没有这种规定.真正的CSS优先级确定是通过特性值大小确定的,在特性值大小相同的情况 ...
- [05] css优先级
1.优先级计算规则(特殊性) 在css中,有不同的方式编写css,如果想给同一个标签设置样式,选择器的写法有很多种,那么当多个样式都应用于同一个标签,标签优先选择哪个样式呢?按照以下规则: 现有 0, ...
- CSS特异性(CSS Specificity)的细节之CSS样式权重的计算与理解(CSS样式覆盖规则)
本篇讲解CSS特异性(CSS Specificity)的细节,也就是CSS样式选择器的权重计算 通过计算选择器的权重(weight)最终决定哪个选择器将获得优先权去覆盖其他选择器的样式设定,即“优先原 ...
- CSS 选择器权重计算规则
其实,CSS有自己的优先级计算公式,而不仅仅是行间>内部>外部样式:ID>class>元素. 一.样式类型 1.行间 <h1 style="font-size: ...
随机推荐
- [Postman]授权(11)
授权过程将验证您是否有权从服务器访问所需的数据.发送请求时,通常必须包含参数以确保请求具有访问权限并返回所需数据.Postman提供的授权类型使您可以轻松处理Postman本机应用程序中的身份验证协议 ...
- Spark基础-scala学习(三、Trait)
面向对象编程之Trait trait基础知识 将trait作为接口使用 在trait中定义具体方法 在trait中定义具体字段 在trait中定义抽象字段 trait高级知识 为实例对象混入trait ...
- eos开发(一) eos开发环境搭建
区块链最近挺火的,我又是个非常缺钱的人,所以紧跟了潮流一头扎进区块链的研究中. 这EOS项目是目前比较火的一个项目,相信很多朋友拿到这份EOS的源代码后都会一脸懵逼,因为……这代码写得太高级了,老纸看 ...
- 关于git 指令
命令行操作(由于是Linux命令行下的普通用户,都是在$级别下操作): 一. 本机配置 添加用户 git config –global user.name “XX” git config –gloab ...
- Apache Pulsar简介
Apache Pulsar What is Pulsar "Pulsar is a distributed pub-sub messaging platform with a very fl ...
- 怎么样使用CLion调试分析MySQL Server
由于在写MySQL日志订阅服务时候,需要确定在什么event之后保存position,所以就开始研究MySQL的源码,刚开始采用最原始的打印输出的方式去调试,然后每次改完编译运行,效率好低,让我很绝望 ...
- MySQL高可用新玩法之MGR+Consul
前面的文章有提到过利用consul+mha实现mysql的高可用,以及利用consul+sentinel实现redis的高可用,具体的请查看:http://www.cnblogs.com/gomysq ...
- Mybatis学习(一)—————mybatis入门
学习了hibernate这个持久层框架之后,在来学习Mybatis简直是无压力,因为Mybatis入门门栏很低,如果学习过了hibernate的话,对于Mybatis的学习很简单了,如果没学习过hib ...
- 使用Pyinstaller转换.py文件为.exe可执行程序
pyinstaller能够在Windows.Linux等操作系统下将Python脚本打包成可直接运行程序.使Python脚本可以在没有安装Python的环境中直接运行,方便共享. 测试环境 pytho ...
- centos7安装遇到的坑
1.安装中遇到what is the location of the gcc program on your machine 直接输入 no.意思就是跳过gcc的安装了.但是系统虽然安装了vmware ...