• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏幻天博客吧
  • 欢迎来到铃音的私人博客! QQ群

[教程]!important提高指定CSS样式规则的应用优先权

兴趣 天空の铃音 5年前 (2014-11-25) 1701次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

30981893_p0

定义及语法

!important 是 CSS1 就定义的语法,作用是提高指定样式规则的应用优先权。语法格式{ cssRule !important },即 写在定义的最后面,例如:box{color:red !important;}

W3c 的解释

CSS 企图创造一个平衡作者和用户之间的级层样式表。
默认情况下,CSS 规则按级层覆盖,例如在.CSS 文件中的定义可以被 style 标签的定义覆盖,反之则不行。
然而,对覆盖平衡而言,加上一个!important就优先于正常的 CSS 规则。
例:

p { text-indent: 1em ! important }
p { font-style: italic ! important }
p { font-size: 18pt }
p { text-indent: 1.5em}
p { font: normal 12pt sans-serif}
p { font-size: 24pt }

在这些规则中 未被覆盖的有:

p { text-indent: 1em ! important }
p { font-style: italic ! important }
p { font-size: 24pt }

浏览器识别

ie7,ie8,firefox,chrome 等高端浏览器下,已经可以识别 !important 属性, 但是 IE 6.0 仍然不能完全识别. important 的样式属性和覆盖它的样式属性单独使用时(不在一个{}里),IE 6.0 认为! important 优先级较高,否则当含! important 的样式属性被同一个{}里的样式覆盖时,IE 6.0 认为! important 较低!
important,最主要是为了 IE 6.0 浏览器。

案例解析

最重要的一点是:IE 6.0 一直都不支持这个语法,而其他的浏览器都支持。因此我们就可以利用这一点来分别
给 IE 和其他浏览器不同的样式定义,例如,我们定义这样一个样式:

colortest
{border:20px solid #60A179 !important;
border:20px solid #00F;
padding: 30px;
width : 300px;}

在 Mozilla 中浏览时候,能够理解!important 的优先级,因此显示#60A179 的颜色:

在 IE 中浏览时候,不能够理解!important 的优先级,因此显示#00F 的颜色:
可以看到,利用!important,我们可以针对 IE 和非 IE 浏览器设置不同的样式,只要在非 IE 浏览器样式的后面加
上!important。
ie6 不完全支持!important
IE 支持重定义中的!important,例如:

.yuanxin {color:#e00!important;}
.yuanxin {color:#000;}

你将会发现定义了样式 class=”yuanxin”时,在 IE 下,字体显示为红色(#e00)。

但不支持同一定义中的!important。例如:

.yuanxin {color:#e00!important;color:#000;}

此时在 IE6 下不支持,你将会发现定义了样式 class=”yuanxin”时,字体显示为黑色(#000)。

ie6 中:

/*样式 1*/
#a{width:100 !important;} /*有效*/
#a{width:50px;} /*无效*/
/*样式 2*/
#a{width:100px !important; width:50px;} /*width:100px 无效,width:50px 有效*/

转载请注明 - [教程]!important 提高指定 CSS 样式规则的应用优先权 - 幻想天空 - 魔王殿 - 铃音の小屋
喜欢 (0)
[不公开]
分享 (0)
关于作者:
美国服务器正在努力恢复中!目前系统升级完善,功能可以使用!现在来申请免费空间无需填表哟!
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址