权重

CSS使用方法的优先级

1、行内样式:在各个元素内写样式

<div style="border:1px solid #000"></div>

2、页内样式:在网页上创建样式表,直接写在HTML页面中的

<head>
    <style type="text/css">
         .div{
              border:1px solid #000;
           }

    </style>

</head>

3、外部样式:将网页链接到外部样式表

<link rel="stylesheet" href="index.css" type="text/css">

 

css选择器优先级

1、ID选择器优先级高于class选择器,如#div高于.div

2、层级深的定义优先级更高,如#div .img高于.img

 

在css文件中出现两个同名的类,后面的会覆盖前面的一样的属性

.div{color:red;border:1px solid #000;}
.div{color:black;border:1px solid #000;}

结果显示color:black

 

权重的计算

口诀:从0开始,一个行内样式+1000,一个id+100,一个属性选择器或者class或者伪类+10,一个元素名或者伪元素+1

body #content .data img:hover

权重122

#content是id+100

.data是类+10

body 和 img是元素名+2

:hover是伪类+10

100+10+2+10=122

 

!important权重最高

p{ font-size:18px !important; font-size:12px }

结果是font-size:18px;(高级浏览器中)

IE6中显示font-size:12px;

但并不代表IE6不支持!important,如

p{border:1px solid black !important;}
p{border:1px solid red;}

IE6中显示border:black

但是,相同属性写在同一行中,后面的会覆盖前面即使有!important的属性值

p{border:1px solid black !important; border:1px solid red;}

IE6中显示border:red

 

posted @ 2015-06-12 10:03  北极星光  阅读(170)  评论(0编辑  收藏  举报