欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  一、背景
 
  CSS有三大特性:层叠性、继承性、优先级。
 
  而我们在给CSS定义样式的时候,经常出现两个及以上的规则应用在同一元素上,单该元素最终在浏览器呈现的效果是应用的哪个规则呢?这就要考虑优先级的问题了。
 
  CSS优先级是由CSS权重来作为衡量标准的,权重的计算有一套计算公式,有如下规范:
 
  使用一个4位数的字串来表示级别,从左到右,左边的做大,往右依次递减,且数位之间没有进制,级别之间不可逾越。没有进制的意思是:即使是10个标签的权重相加也不会大于类选择器的权重,类推,十个类选择器的权重也小于id选择器的。
 
  继承或者*的贡献值 0,0,0,0
 
  每个元素(标签)的贡献值 0,0,0,1
 
  每个类、伪类贡献值 0,0,1,0
 
  每个ID贡献值 0,1,0,0,
 
  每个行内式贡献值 1,0,0,0
 
  每个!important 无穷大
 
  二、权重的计算实例
 
  以一下代码为例:
 
  <div>
 
  <ul>
 
  <li>1</li>
 
  <liclass="red">2</li>
 
  <liclass="red"id="blue">3</li>
 
  <liclass="red"id="blue">4</li>
 
  <li>5</li>
 
  <li>6</li>
 
  </ul>
 
  </div>
 
  首先给li以下样式:
 
  divulli{/*该选择器的权重是0,0,0,3*/
 
  width:200px;
 
  height:30px;
 
  border:1pxsolid#000;
 
  background-color:pink;
 
  }
 
  标签选择器的权重
 
  选择器pulli是后代选择器,三个标签的权重都是(0,0,0,1),因为是同一级选择器,权重可以相加,最后得到pulli的权重就是(0,0,0,3)。







本文转载自中文网
 

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/css3-style/c56813.shtml