css样式优先权(转载)

2010-12-13 13:35

样式优先权问题:

写法优先权
  从样式写入的位置来看,他们的优先级次序是:行内样式表、内部样式表、外部样式表
选择符优先权
  id > class > 类型选择符
样式继承
    XHTML中的子标签会继承部分父标签的样式特征,但有些样式不会被继承,如margin等
important 语法
  在两行相同类型的class样式定义中,往往优先执行后面一个,例,
     .div {
         background-color:red;
         background-color:green;
     }
  使用! Important 提升某一样式的优先权。
    .div {
         background-color:red important;
         background-color:green;

     }

css优先级的四大原则:

原则一:继承不如指定
原则二: #ID > .class > 标签选择符
原则三:越具体越强大

原则四:标签#id >#id ;标签.class > .class   

<div id="id7" class="class7">
  <p id="id8" class="class8"> <span id="id9" class="class9"> 我是多大字号? </span> </p>

</div>

.class7 p#id8 .class9{font-size:25px}
d iv .class8 span#id9{font-size:18px}
#id7 .class9{font-size:14px}
.class7 #id8 .class9{font-size:12px}

#id7 #id8{font-size:10px}

四大原则的权重就是: 原则一 > 原则二 > 原则三 > 原则四

关于CSS规则Specificity的计算方式:

 Specificity 具体的计算规则:
   1.元素的 style 样式属性,加 1,0,0,0。
  2.每个ID选择符(#id),加 0,1,0,0。
  3.每个 class 选择符 .class 、每个属性选择符 [attr= “” ] 、每个伪类(例 :hov er),加 0,0,1,0。
  4.每个元素或伪元素(例 :firstchild)等,加 0,0,0,1。
  5.其他选择符(例 全局选择符 *,子选择符 >),加 0,0,0,0。
  最后逐位相加数字串,得到最终的 Specificity 值,按照从左到右的顺序逐位比 较。除了 Specificity 还有一些其他规则:
   6.!important声明的规则高于一切,如果!important声明冲突,则比较优先权。
  7.如果优先权一样,则按源码中“后来者居上”的原则。
  8.由继承而得到的样式属性不参与 specificity 的计算,低于一切其他规则(例: 全局选择符 * )。

转载于:https://www.cnblogs.com/shanfeng/archive/2012/07/12/2587421.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值