css的优先级以及!important的使用
CSS的优先级应该是作为CSS基本知识而广为知道的,所以CSS入门后,就一直把CSS的优先级记挂在心里(自觉告诉自己这地方很可能会摔跤)。起初可能是因为自己的项目经验不够丰富,或者是自己所接触到的项目都是小规模的前端,也或与自己书写CSS的习惯有关(自己基本上就是逐层书写CSS,尽量把代码写得干净整洁),CSS优先级并没有成为某次项目的绊脚石。直到某次项目,因为用到的CSS库与自己页面的设计稿有冲突,才再次重视起CSS的优先级。
以下就将有关CSS的优先级的知识进行归纳整理:
①继承的不如指定的;②id>class>标签选择符;③越具体的样式越强大;④标签 id>id;标签 class>class。
CSS优先级权重的计算方法:CSS优先级包含四个级别(标签内选择符,ID选择符,Class选择符,元素选择符)以及各级别出现的次数。根据这四个级别出现的次数计算得到CSS的优 先级,规则如下:
①元素标签中定义的样式,加1000;
②每个ID选择符,加0100;
③每个Class选择符、每个属性选择符、每个伪类,加0010;
④每个元素选择符或伪元素选择符,加0001;
将这四个数字分别累加,就得到每个CSS定义的优先级的值,然后从左到右逐位比较大小,数字大的CSS样式的优先级高。
举例:
假设对应example.html在example.css文件中定义如下样式:
1. h1{color:red;} /*一个元素选择符,结果为0001*/
2. body h1{color:green;} /*两个元素选择符,结果是0002*/
3. h2.grape{color:purple;} /*一个元素选择符、一个Class选择符,结果是0011*/
4. li#answer{color:navy;} /*一个元素选择符,一个ID选择符,结果是0101*/
而同时在example.html中有:
<style>
h1{color:blue;}
</style> /*元素标签中定义,一个元素选择符,结果是1001*/
1001是有关h1样式中计算最大的,所以h1元素的颜色应该是蓝色的。
有关CSS优先级的计算就介绍到此。
接下来介绍!important:
!important声明的样式优先级最高。
如何想更透彻掌握!important,如下博客链接可能会对你有所帮助:http://www.cnblogs.com/guoguo-15/archive/2011/08/24/2151859.html
css的优先级以及!important的使用的更多相关文章
- 【IE6的疯狂之十一】CSS的优先级及!important在IE6下的BUG
一 css的优先级 今天有人跟我说css hack中用!important来区分ie6,因为ie6不支持!important,是的在很早以前我也是用过这种方法写hack,但是后来就基本不用了.本来我对 ...
- 通过!important设置css样式优先级
CSS写在不同的地方有不同的优先级,一般 .css文件中的定义 < 元素style中的属性,但是如果使用!important,则会变得不一样,使用!important的css定义是拥有最高的优先 ...
- css的优先级 和 权重问题 以及 !important 优先级
css的优先级 和 权重问题 以及 !important 优先级 css选择有多少种? 行内样式(style="") id选择器(#) class选择器(类,伪类) 元素选择器(标 ...
- CSS中选择器优先级与!important权重使用
CSS中的选择器优先级与!important权重使用 .class选择器要高于标签选择器. #id选择器要高于.class选择器. 标签选择器是优先级最低的选择器. !important的属性它的权重 ...
- css优先级之important
css优先级之important
- CSS选择器优先级总结
CSS三大特性-- 继承. 优先级和层叠. 继承:即子类元素继承父类的样式; 优先级:是指不同类别样式的权重比较; 层叠:是说当数量相同时,通过层叠(后者覆盖前者)的样式. css选择符分类 首先来看 ...
- CSS 样式优先级
首先,选择器优先级顺序 优先级逐级增加的选择器列表: 通用选择器(*) 元素(类型)选择器 类选择器 属性选择器 伪类 ID 选择器 内联样式 !important 规则例外,该样式声明会覆盖CSS中 ...
- CSS样式优先级
关于CSS样式优先级 一般情况下: [1位重要标志位] > [4位特殊性标志] > 声明先后顺序 !important > [ id > class > tag ] 使用 ...
- 关于CSS的优先级,CSS优先级计算
原则一: 继承不如指定原则二: #id > .class > 标签选择符原则三:越具体越强大原则四:标签#id >#id ; 标签.class > .class CSS优先级权 ...
随机推荐
- Linux 命令 - traceroute: 数据报传输路径追踪
traceroute 工具用于跟踪数据报的传输路径:当数据报从一台计算机传向另一台计算机时,会经过多重的网关,traceroute 命令能够找到数据报传输路径上的所有路由器.通过 traceroute ...
- Django学习--9 Admin
1.vim settings.py 打开 'django.contrib.admin' vim urls.py 打开 from django.contrib import admin (注意 ...
- vs2012如何创建报表
引自百度文库,介绍的比较详细 http://wenku.baidu.com/view/c405d5f48762caaedc33d405.html
- Convert Windows 32bit dirver to Windows 64bit
Pre-condition: 1.source code(vc6.0+WDK based) Development environment: 2.VS2013 3.WDK 8/8.1 Steps: 1 ...
- Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课
Swift项目开发实战-基于分层架构的多版本iPhone计算器-直播公开课 本课程采用Q Q群直播方式进行直播,价值99元视频课程免费直播.完整的基于Swift项目实战,手把手教你做一个Swift版i ...
- Quartz.NET快速上手第一课(官网文档翻译)
Quartz.NET快速上手第一课(官网文档翻译) 原文链接 在你使用调度者(scheduler)之前,你需要对它进行实例化(谁能猜到这呢?).在实例化scheduler时候,你需要使用ISchedu ...
- C# 线程--第四线程实例
概述 在前面几节中和大家分享了线程的一些基础使用方法,本章结合之前的分享来编写一些日常开发中应用实例,和编写多线程时一些注意点.如大家有好的实例也欢迎分享.. 应用实例 应用:定时任务程序 场景:系统 ...
- (转)实战Memcached缓存系统(4)Memcached的CAS协议
1. 什么是CAS协议 很多中文的资料都不会告诉大家CAS的全称是什么,不过一定不要把CAS当作中国科学院(China Academy of Sciences)的缩写.Google.com一下,CAS ...
- SpringMVC中注解和非注解方式下的映射器和适配器总结
1. 非注解方式 1.1 处理器适配器 上一节中使用的处理器适配器是:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapte ...
- Hibernate 拥有 Mybits 的SQL/HQL特性 (注解、XML两不误)
第一次写博客.文章有点渣,喜欢就看看,不喜欢路过点个赞. 效果:直接一条语句多种用法 FROM User A WHERE 1=1 <#if id??&g ...