简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera

简介: 一、跨浏览器的网页设计一直是让人很头疼的问题,这不只是因为浏览器的版本众多,还有一个重要的原因是相同浏览器的不同时期的版本也会有差异,甚至是在不同操作同台上还会有不同。因此使CSS hack技术进行浏览器区分是实现跨浏览器访问一个好方法。

一、跨浏览器的网页设计一直是让人很头疼的问题,这不只是因为浏览器的版本众多,还有一个重要的原因是相同浏览器的不同时期的版本也会有差异,甚至是在不同操作同台上还会有不同。因此使CSS hack技术进行浏览器区分是实现跨浏览器访问一个好方法。CSS Hack技术有很多,具体可以查看:

   本文据说的主要是通过“.”,“>”,“*”,“_”来区分。以下是本人对这四种符号的测试结果:
———————IE6——     IE7——IE8——FF2——FF3—     Opera9.5
>property——     Y——     Y——     Y——     N——     N——     N
.property——     Y——     Y——     Y——     N——     N——     N
*property——     Y——     Y——     N——     N——     N——     N
_property——     Y——     N——     N——     N——     N——     N

我们可以看到>property、.property、*property在各浏览器中的表现是一致的,只有_property在IE6和IE7、IE8中有所区别。另外还要注意的,IE6是不支持!important的,而其他几款浏览器都识别。

举例:
要对想同的文字在不同浏览器中显示不同的颜色可以使用: color:brown !important;  /*用于Opera、Firefox2、Firefox3等现代浏览器*/  
>color:green !important;    /*IE7、IE8可以识别该规则,因此它覆盖掉了上一条规则*/   
color:red;  /*所有浏览器都可以识别,但是以上两条规则有!important,所以这条规则被忽视;只有IE6认识并覆盖掉上两条规则*/   


color:brown !important;    /*用于Opera、Firefox2、Firefox3等现代浏览器*/
>color:green !important;      /*IE7、IE8可以识别该规则,因此它覆盖掉了上一条规则*/
color:red;    /*所有浏览器都可以识别,但是以上两条规则有!important,所以这条规则被忽视;只有IE6认识并覆盖掉上两条规则*/
因此这就实现了跨浏览器的表现问题。_property和*property也是一样的。对于_property来说,只有IE6才能识别,因此可以用于单独对IE6的设置中。

不过这里要注意书写的顺序:现在浏览器的写法要写在最前面,IE6的写法要写在最后面用于覆盖,其他浏览器写在中间。

二、其实主要是浏览器:IE6/IE7/firefox下,各个对CSS代码的解释有区别,下边转载一篇HACK的文章,相当实用。

区别IE6与FF:           background:orange;*background:blue;

区别IE6与IE7:          background:green !important;background:blue;

区别IE7与FF:           background:orange; *background:green;

区别FF/IE7/IE6:       background:orange;*background:green !important;*background:blue;

注:IE都能识别*标准浏览器(如FF)不能识别*
IE6能识别*,但不能识别 !important
IE7能识别*,也能识别!important
FF不能识别*,但能识别!important

另外再补充一个,下划线"_",
IE6支持下划线,IE7和firefox均不支持下划线。(推荐.我这只有这个有效!)

于是大家还可以这样来区分IE6、IE7、firefox
: background:orange;*background:green;_background:blue; 

三、最简单的CSS Hack: 区分 IE6 / IE7 /IE8 /Firefox

  

.color {
background-color :  #CC00FF ;   /* 所有浏览器都会显示为紫色 */
background-color :  #FF0000\9 ;   /* IE6、IE7、IE8会显示红色 */
*background-color :  #0066FF ;   /* IE6、IE7会变为蓝色 */
_background-color :  #009933 ;   /* IE6会变为绿色 */
}

上面的样式解释为顺序是 ff、ie8、ie7、ie6显示的结果:
用 FF 浏览, 颜色是紫色
用 IE8 浏览,颜色是
红色
用 IE7 浏览,颜色是蓝色
用 IE6 浏览,颜色是绿色

相关文章
|
2月前
|
Web App开发 前端开发
CSS Hack是什么?ie6,7,8的hack分别是什么
CSS Hack是什么?ie6,7,8的hack分别是什么
57 0
|
5月前
|
前端开发 JavaScript UED
css中什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
css中什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
22 0
|
6月前
|
前端开发 开发者
介绍一下标准的 CSS 的盒子模型?低版本 IE 的盒子模型有什么不同的?
介绍一下标准的 CSS 的盒子模型?低版本 IE 的盒子模型有什么不同的?
|
10月前
|
Web App开发 前端开发
区分IE6,IE7,IE8,IE9,FireFox,Chrome浏览器的CSS hack
区分IE6,IE7,IE8,IE9,FireFox,Chrome浏览器的CSS hack
|
Web App开发 前端开发
通过外部CSS或嵌入式样式缩放时,Firefox会使图像模糊
通过外部CSS或嵌入式样式缩放时,Firefox会使图像模糊
|
前端开发
【CSS】5分钟带你彻底搞懂 W3C & IE 盒模型!🔥🔥
前言 大家好,我是HoMeTown,CSS是作为前端必有技术栈之一,但是有很多同学其实对CSS的盒模型都不是很了解,今天想聊一下Css盒子模型。
66 0
|
Web App开发 前端开发 开发者
Firefox开发者工具里的CSS Flexbox Inspector
Firefox开发者工具里的CSS Flexbox Inspector
106 0
Firefox开发者工具里的CSS Flexbox Inspector
|
前端开发 UED
不得不收藏的——IE中CSS-filter滤镜小知识大全
前段时间在做一个专题的时候用到了opacity不透明度属性,因为设计图上是半透明背景,白色文字
434 0
不得不收藏的——IE中CSS-filter滤镜小知识大全
|
前端开发
关于ie中实现弹性盒模型-我的css
css3中的弹性盒模型大家都不陌生,但是能否在ie6中实现呢?第三方库中涉及到的页少之又少,也有一部分css框架中支持各种布局,下面给出我用的盒模型样式(为了以后copy方便而已): /*********************************** *兼容盒模型 by awen *...
1132 0
|
前端开发
CSS(溢出_判断IE版本)
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/54812252 overflow 溢出 值 描述 visible 内容不会被修剪,会呈现在元素框之外。
890 0