作为前端制作师你必须知道的事情!

前台页面制作多了,你就应该了解很多问题存在。你与程序要打交道你还要与UI打交道,你是一个中间的过渡人,设计可以不考虑程序怎么取出方便怎么做合理,你得考虑,同时你还要考虑。

扯得太远了,我们还是说近的吧~不知道是不是我OUT了,最近做东西的时候要使用优先级别

 下面是一个例子转的,不过也能说明一些东西:

 很多人,包括很多网站(我所见过的所有网站,包括国内著名的‘网页设计师’网站),都说important是不被IE所支 持和认识的,可是真的是这样吗?看了下边的两个例子,也许你会改变一些看法!

例一:

 
CSS

#box {
     color
:red !important;
     color
:blue;
 
}

HTML

<div id="Box"> 在不同的浏览器下,这行字的色应该不同!</div>

  这个例子应该是大家经常见到的important的用法了,在IE环境下,这行字是蓝 色,在firefox下,为红色,其用法不再多说了,看下一个例子。

例二:

CSS

1 #box div{
     color:red;
 }
2 .important_false{
     color:blue;
}
3.important_true{
     color:blue !important;
}
HTML

<div id="Box">
 
<div class="important_false">这一行末使用important</div>
 
<div class="important_true">这一行使用了important</div>
</div>

 

  例二中,CSS代码第一行设定了box里面所有div中字体色为红色, 第二行和第三行都用class重新定义了自身div的字体色为蓝色,不同的是,第二行末使用important,而第三行使用了!

         默 认情况下,class的优先级小于id,所以,第二行中即使用class重定义了自身样式,也无法生效,所以继承父级属性,这行字还是红色!

         但 是,第三行中,用了important提升优先级(或看成强制重定义),所以这里的css得以生效,这行字变为了蓝色!

         从 这个例子,得以证明,ie对important的并不是不支持!

            
那么为什么 很多人都说ie不认识它呢?我想应该是大家实战中可能都没有遇到例子中的情况: 当你想提升class的优先级时怎么办?

           也 就是说大家可能都忽略了它的这一作用,只了解在命名为同一个元素的CSS代码块中,用它来提升排列顺序相对*前的代码的优先级(例一)!

        通 过上边两个例子,得以总结:

        important对 一个良好(或者是标准)的浏览器来说,不仅仅是从顺 序上提升代码的优先级,还可以用来提升class的优先级(比如firefox),但是从IE对前者的不支持可以看出,这只是IE的一大BUG,而不能说 它“不认识、不支持”! 

 

posted @ 2010-06-24 18:00  kiter  阅读(223)  评论(0编辑  收藏  举报