css的权重(一)

在进行css布局中,经常会使用到权重,那么权重是什么意思呢?

css的权重的顺序为:

important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 通配符 > 继承

根据CSS 规范,具体性越明确的样式规则,权重值越高。

那么如何计算权重值呢,下面这张图可以说明计算方法

上图中我们把权重分为4个等级,每个等级代表一类选择器,每个等级的值为其所代表的选择器的个数乘以这一等级的权值,最后把所有等级的值相加得出选择器的特殊值就是权重。

4个等级的定义如下:

1.等级一:代表内联样式,如: style=””,权值为1000。

2.等级二:代表ID选择器,如:#content,权值为100。

3.等级三:代表类,伪类和属性选择器,如.content,权值为10。

4.等级四:代表类型选择器和伪元素选择器,如div p,权值为1。

上图中选择器“ul#NAV LI.ACTIVE A”

权重计算:UL.LI,A为等级四权值为1;#NAV为等级二权值为100;I.ACTIVE为等级三权值为10,加在一起为113。

下面我们来看一下,权重的使用

这里我们做了一个类似京东的导航条,在手机京东这个导航条里,放了一个图片

设置手机京东的html代码为

在插入图片之前,要设置li的左右边距

css代码如下:

.tel-jd{

padding: 0 25px;

background: url();

}

运行之后,效果如下,并没有设置边距

当我们将代码修改如下

.shortcut .tel-jd{

/*上右下左,把左侧整大点*/

padding: 0 20px 0 25px;

position: relative;

}

.shortcut是.tel-jd的祖先元素

运行之后

这就是权重使用的必要性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CSS基础 本文包括CSS基础知识选择器(重要!!!)继承、特殊性、层叠、重要性CSS格式化排版单位和值盒模型浮动...
    廖少少阅读 3,191评论 0 40
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,875评论 0 6
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,807评论 1 92
  • 1. CSS的组成 css 样式由选择符和声明组成,而声明又由属性和值组成。 1.1 选择符(选择器)选择符:又称...
    莫失丿莫忘阅读 479评论 0 2
  • 不知从什么时候开始 我对下雨天有了莫名的倾恋 相比晴天的单调 阴天的沉郁 风天的狂傲 雨天总有一份格外的清妙 无论...
    G周首阅读 422评论 1 2