例如
.bgC {
background-color: #e9faff ;
}
中不加 important的时候;chrome 不会显示背景效果;
当加上important的时候,会显示背景效果

!important这个规则对Ie6.0,Ie7.0和Firefox能写hack,现在就来讲解 这是什么原理:

  • *对于Ie系列浏览器都能够识别, firefox 浏览器则不能识别;
  • !important只有Ie7.0和firefox可以识别,但是Ie6.0不能成功应用.

(1)区别ie与firefox的hack为:border:2px solid #f00;*border:1px solid #f00;

(2)区别Ie6.0 与Ie7.0、firefox的hack为:border:1px solid #f00!important;border:2px solid #f00;

在(1)中,之所以把放在后面是因为ff不识别而导致只对它设置了一次border;而ie 系列进行了两次border设置后,后一个属性覆盖了前一个属性,故为一像素的边框。

在(2)中,之所以把!important放在第一个border 设置,是因为它把这次border的优先级提高了,即使后面在一次甚至在N次设置border 也无效,但是Ie6.0对这个规则不接受,而导致它应用了第二次的border 设置,也就是第二次覆盖了第一次的这一原理, 并不是它不识别!important;所以它的border为2 像素的红框.

这是一个简单的应用:

例一:
CSS
#Box {
color:red !important;
color:blue;
}
HTML
1

在不同的浏览器下,这行字的色应该不同!

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

例二:
CSS

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

HTML

这一行末使用important
这一行使用了important

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

默认情况下,class的优先级小于id,所以,第二行中即使用class重定义了自身样式,也无法生效,所以继承父级属性,这行字还是红色!
  但是,第三行中,用了important提升优先级(或看成强制重定义),所以这里的css得以生效,这行字变为了蓝色!从这个例子,得以证明,ie对important的并不是不支持!

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

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

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

important对 一个良好(或者是标准)的浏览器来说,不仅仅是从顺序上提升代码的优先级,还可以用来提升class的优先级(比如firefox),但是从IE对前者的不支持可以看出,这只是IE的一大BUG,而不能说它“不认识、不支持”!
然而,不管怎么样,IE的这一大BUG帮助我们解决了很多兼容性问题,这显然不是件坏事!

在IE中对盒模型(box-model)的解释是有BUG的,IE6.0之前的版本会把某元素的边框值和填充值包含在宽度之内(而不是加在宽度值上)。例如,你可能会使用以下css来指定某个容器的尺寸:
 
#box
{
width:100px;
 border:5px;
 padding:20px;
}

然后在html中应用:盒的总宽度在几乎所有浏览器中为150像素(100像素宽度+两条5像素的边框+两个20像素的填充),唯独在IE6之前版本的浏览器中仍然为100像素(边框值和填充值包含在宽度值中),使用盒模型的hack可以解决这一问题,

这样一来在任何浏览器中盒的总宽度都将是150像素。

但是即使是到了最新的IE6.0依然存在浮动模型(Float-model)的问题,值得庆幸(还是悲哀?)的是我们可以用IE中一直都不支持的!important来解决这个问题。
  !important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权(参见:W3.org的解释)。语法格式{ sRule!important },即写在定义的最后面,

例如:

box{color:red !important;}

假如我们定义一个这样的样式:
#box{background-color: #ffffff !important; background-color: #000000;}
  那么在支持该语法的浏览器,如Firefox、Opera中,能够理解!important的优先级,背景显示#ffffff颜色,而在IE中则显示#000000.

css中!important作用相关推荐

  1. css规则可以放在云上,CSS中!important规则的使用方法

    CSS中!important规则的使用方法 发布时间:2020-06-15 10:53:11 来源:亿速云 阅读:129 作者:Leah 这期内容当中小编将会给大家带来有关CSS中!important ...

  2. html中hover的作用,hover在css中的作用是什么

    hover在css中的作用是什么 发布时间:2020-12-07 10:26:29 来源:亿速云 阅读:143 作者:小新 这篇文章给大家分享的是有关hover在css中的作用是什么的内容.小编觉得挺 ...

  3. CSS中!important的用法及作用

    定义及语法 !important,作用是提高指定样式规则的应用优先权(优先级).语法格式{ cssRule !important },即写在定义的最后面,例如:box{color:red !impor ...

  4. CSS中!important的使用

    本篇文章使用最新的IE10以及firefox与chrome测试(截止2013年5月27日22:23:22)http://www.cnblogs.com/yudy/archive/2013/05/27/ ...

  5. CSS 中 !important的用法总结

    下面简要的给大家讲一下CSS 中一个比较重要的!important属性,从笔者的实践中总结了以下两点: 1.用于解决IE对某些CSS规范有偏差的情况. 比如在IE中的效果总是和其他的浏览器如firef ...

  6. !Important:CSS中!important的作用用于Ie6.0 与Ie7.0、firefox

    {*rule !important}这个css规则当今在网页制作的时候的普及已经非常流行了,以前我对它的理解就停留在'浏览器是否识别阶段' 而没有真正去研究过,可是现在发生了变化.众所周知,!impo ...

  7. css中的优先级最高,css中!important的作用(最高等级)

    {*rule !important}这个css规则当今在网页制作的时候的普及已经非常流行了,以前我对它的理解就停留在'浏览器是否识别阶段' 而没有真正去研究过,可是现在发生了变化.众所周知,!impo ...

  8. CSS 中 !important 的用法

    important 意为 重要的. .app {color: red !important; }#app {color: green; } 以上代码最终结果为红色. 在 CSS 选择器中,ID 选择器 ...

  9. css中!important的用法

    !important为开发者提供了一个增加样式权重的方法.应当注意的是!important是对整条样式的声明,包括这个样式的属性和属性值 <style type="text/css&q ...

最新文章

  1. “CAIL 2021中国法律智能技术评测”全面开启!
  2. 为什么很多程序员面试造火箭,入职拧螺丝?
  3. C++shortest common supersequence最短公共超序列算法的实现(附完整源码)
  4. iOS之获取手机的系统信息
  5. 如何用texstudio下载ctex_公众号素材库视频如何下载,用这种方法就可以哦
  6. php基本函数对象,PHP常用函数对象_PHP教程
  7. ubuntu 16.04 python3.4 升级为 python3.6
  8. 国家邮政局:3月中国快递发展指数为251.1 同比下降7.1%
  9. setint 的用法
  10. Python 生成UUID
  11. 毕业设计源码——旅游打卡小程序
  12. 全链路日志追踪系统介绍与思考
  13. 阿里云物联网平台mqtt测试工具
  14. 基于Docker从零搭建Prometheus监控报警系统
  15. 飞塔防火墙HA详解与配置
  16. [深度学习项目] - 时间序列预测 (5)[待补充]
  17. 大概是全网最详细的Electron ipc 讲解(一)——主进程与渲染进程的两情相悦
  18. 智慧城市在发展过程中,最好就业的工作岗位?
  19. 数字化转型赋能传统工业,引领行业颠覆性变革
  20. 解决SVN添加文件时报svn: E155016错误

热门文章

  1. 软件测试用例的设计以及分类
  2. Neovim插件NvChad踩坑实录
  3. labelme生成的json文件批量转化为label图片
  4. Lisp 操作 Excel 三例
  5. mysql 自然数集合_Mysql基本操作
  6. 正在运行的android程序,按home键之后退回到桌面,再次点击桌面图标避免再次重新启动程序的终极解决办法
  7. MySQL为数据创建索引的目的_为数据表创建索引的目的是什么
  8. JAVA循环题------15只狮子选狮王
  9. mysql odbc_MySQL数据库之mysql odbc 配置详解、解决方案
  10. 云计算:探索现代科技的未来之云