码迷,mamicode.com
首页 > Web开发 > 详细

关于css问题继承、权值问题

时间:2015-04-25 12:07:24      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

关于css问题:

一、Css的继承

  1. .codeClass{color:#000000;}
  2. <p class="codeClass"><span>你好</span>世界</p>

Span继承了,来自codeClasscolor。也就是说,子元素会从父元素继承属性,当然不是所有的CSS属性都有继承性,文本属性(colorfontline-heighttext-aligntext-decorationother)是具有继承性的,而自身属性(widthheightmarginpaddingborderbackground)和显示属性(displaypositionfloatlist-style)是不具有继承性的。

二、Css选择器的权重的表现,是根据idid选择器)>class(类选择器)>body(元素选择器)

Id选择器的权重为100

Class选择器的权重为10

Body选择器的权重为1

例如:

不同权重时的表现

  1. p{color:#000;}
  2. .codeClass{color:#cccccc;}
  3. #codeId{color:#ffffff;}
  4. <p class="codeClass" id="codeId">你好世界</p>

最终显示的效果,你好世界的colorcolor#ffffff,因为ID的权重是最高的,.codeClassp都会被codeId屏蔽掉。

#codeid(权重100>.codeClass(权重10)>p(权重1)

相同权重时的表现

  1. p{color:#000;}
  2. p{color;#fff;}
  3. <p>你好世界</p>

最终的显示效果,你好世界的colorcolor;#fff,因为css会当权重相同时,css会遵循层叠的原则,选择最新书写的css为最终显示效果。

权重的相加

  1. .codeClassing{color:#ffffff;}
  2. .codeClass span{color:#cccccc;}
  3. <p class="codeClass"><span class="codeClassing">你好</span>世界</p>

       最终的显示效果,你好世界的colorcolor#cccccc,因为.codeClass(权重10)+span(权重1=11,而.codeClassing(权重10).codeClass span>.codeClassing的所以最后显示效果为.codeClass span

总结:根据css权重的计算,可以更好的控制css在页面的表现效果,首先css开始书写时,使用权重最低的元素选择器,再使用类选择器,最后使用组合选择器,类选择器+元素选择器。这样的书写习惯,可以更好的控制CSS,不容易造成编程者无法理解css的显示权重。





关于css问题继承、权值问题

标签:

原文地址:http://www.cnblogs.com/Zjingwen/p/4455646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!