浅谈CSS HACK——兼容不同浏览器的CSS

CSS hack是由于不同的浏览器,比如IE6,IE7,Firefox等,对CSS的解析不一样,导致解析的页面效果不一样,这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到同样页面效果。

CSS hack原理:
IE都能识别*,FF不能识别*
IE6能识别*,但不能识别!important
IE6识别_,IE7和FF均不识别_
IE7能识别*,也能识别!important
FF不能识别*,但能识别!important


所以大家就可以用这些符号来区分不同的浏览器,以下两种方法几乎能解决现今所有css hack:

1. !important

随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.

    width: 100px!important; /* IE7+FF */  
width: 80px;
/* IE6 */

 

2, IE6/IE77对FireFox

 

*+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签.

    #wrapper { width: 120px; } /* FireFox */  
*html #wrapper
{ width: 80px;} /* ie6 fixed */
*+html #wrapper
{ width: 60px;} /* ie7 fixed, 注意顺序 */

 

注:*+html 对IE7的HACK 必须保证HTML顶部有如下声明:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

3.区分FF,IE6,IE7

 

    background:orange;*background:green !important;*background:blue;        
/*或者*/background:orange;*background:green;_background:blue;

注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面。


转至:http://www.yangzblog.com/DIV-CSS/css-hack.html




转载于:https://www.cnblogs.com/mrcoke/articles/2415357.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值