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: ...
随机推荐
- 再谈spring的循环依赖是怎么造成的?
老生常谈,循环依赖!顾名思义嘛,就是你依赖我,我依赖你,然后就造成了循环依赖了!由于A中注入B,B中注入A导致的吗? 看起来没毛病,然而,却没有说清楚问题!甚至会让你觉得你是不清楚spring的循环依 ...
- Docker简介以及操作
Docker 简介 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linu ...
- Maven 概要介绍
Maven 简介 Apache Maven 是一套软件工程管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven 工程结构 ...
- [NOI2009] 管道取珠
sum a[i]*a[i]可以理解为两个独立但同时进行的游戏得到同一个输出序列的方案数. 设f[l,i,j]为每个游戏都已经推出了l个珠子时,第一个游戏里上边儿的管道已经推出了i个,第二个游戏中上边儿 ...
- RabbitMQ配置
RabbitMQ Configuration RabbitMQ提供多种配置方式:配置文件.环境变量.运行时参数等等. 默认配置文件的位置在/etc/rabbitmq/ Config File Loca ...
- DateTimeHelper
本文参考文章: http://geekswithblogs.net/mnf/articles/my-datetimehelper-class.aspx https://referencesource. ...
- Java并发编程-再谈 AbstractQueuedSynchronizer 1 :独占模式
关于AbstractQueuedSynchronizer JDK1.5之后引入了并发包java.util.concurrent,大大提高了Java程序的并发性能.关于java.util.concurr ...
- Kubernetes理论基础
Kubernetes理论基础 Kubernetes定义 kubernetes是Google开源的容器集群管理系统,2014年6月开源.在Docker技术之上,为容器应用提供资源调度.部署运行.服务 ...
- Canal 源码走读
前言 canal 是什么? 引用一下官方回答: 阿里巴巴mysql数据库binlog的增量订阅&消费组件 canal 能做什么? 基于日志增量订阅&消费支持的业务: 数据库镜像 数据库 ...
- SpringBoot系列——Thymeleaf模板
前言 thymeleaf是springboot官方推荐使用的java模板引擎,在springboot的参考指南里的第28.1.10 Template Engines中介绍并推荐使用thymeleaf, ...