详解解读CSS样式中的!important、*、_符号
详解CSS样式中的!important、*、_符号
!important、*、_其实没什么用,皆是用来设定样式的优先级,但是样式的优先级你可以自行排好其前后位置来设定,然而你还是要看懂的。
我们知道,CSS写在不一样的地方有不一样的优先级, .css文件中的定义 < 元素style中的属性,但是假如使用!important,事情就会变得不一样。
第一,先看下面一段代码:
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>!Important</title> </head> <body> <p style="color:blue !important;color:red;"> 呵呵 </p> </body> </html>
“呵呵”两字被定义了两个color,本来在color:red在color:blue之后,这两字应当是红色的,默许取最接近字体的色彩
但是color:blue之后增加了!important,致使color:blue的优先级最高,“呵呵”两字应为蓝色,详细结果如下:
然而,IE6并不克不及识别style属性中的!important符号,所以致使还是按本来的样式优先级,把“呵呵”两字搞成了红色。
css样式中的!important、*、_符号,皆是用来设定优先级的,但是这些符号,仅在特定的阅读器中适用,详细如下:
IE都能识别*;标准阅读器(如FF)不克不及识别*;
IE6能识别*,但不克不及识别 !important;
IE7能识别*,也能识别!important;
FF不克不及识别*,但能识别!important;
下划线"_", IE6支撑下划线,IE7和firefox均不支撑下划线。
因此,可以在style属性中定义如部属性,来区分IE6,IE7,firefox:
background:orange;*background:green;_background:blue;
还可以这样来区分IE6,IE7,firefox:
background:orange;*background:green !important;*background:blue;
如下的代码:
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>!Important</title> </head> <body> <p style="background:orange;*background:green !important;*background:blue;"> 区分IE7、IE8、火狐 </p> <p style="background:orange;*background:green;_background:blue;"> 区分IE7、IE8、火狐 </p> </body> </html>
其运转结果如下:
(1)IE7
(2)IE8及其以上的阅读器,含火狐等。
(3)IE6
然而,这样的不同,仅能够本人用于调试,真正的前端编程还是应当利用JavaScript对阅读器的标识推断,来推断这些阅读器的类型。
最后再补充一句,其实IE6仅仅是不克不及识别style中的!important,假如代码如下所示:
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>测试Css中的!Important不同</title> <style type="text/css"> .testClass{ color:blue !important; } </style> </head> <body> <p class="testClass" style="color:red;"> 测试Css中的Important </p> </body> </html>
不管是在ie6-10或者Firefox和Chrome展现都是一致的,都显示蓝色。
上面是我整理给大家的,但愿今后会对大家有帮忙。
相关文章:
详解解读IE6中的position:fixed问题
前端猎取http状态码400的返回值实例_根基教程
JavaScript在IE9此前版本中内存泄露问题(具体总结)
以上就是详解解读CSS样式中的!important、*、_符号的具体内容,更多请关注百分百源码网其它相关文章!