当前位置:编程学习 > html/css >>

网页css优先级

网页中加载多个css样式文件,其中一个是Ext库自带的样式文件,里面对所有标签定义了一些样式,导致原有网页显示不正确。通过找到对应样式,重新设置了正确的样式。将新样式加到body标签上,但是出现两个样式,Ext样式仍然有效。最后发现时在设置新样式的时候没有加*,导致只对body标签有用,而对子标签无效。下面为修改后的样式
 
[css]  
.diy,  
.diy *{  
    box-sizing: content-box;  
    -moz-box-sizing : content-box;  
    -webkit-box-sizing: content-box;  
}  
 
当一个标签被定义多个样式,而样式之间出现冲突时,优先级为“针对ID定义的样式” > “类定义样式” > “针对标签类型定义的样式”。例如下面几个样式
[css] 
div{  
    border:2px solid #0000FF;   
}  
  
  
.powerHeader{  
    border:2px solid #00ff00;   
}  
  
  
#navigation{  
    border:2px solid #ff0000;   
}  
 
在标签<div id="navigation" class="powerHeader">,首先应用的是#navigation,当#navigation不存在时应用.powerHeader样式,最后才是div样式。
同时,单使用link或style定义多个标签类class之间出现冲突时,会应用定义在最后的那个类。
 
了解css样式优先级,能够在网页开发中避免许多样式冲突问题。
补充:web前端 , HTML/CSS  ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,