CSS hack用法详解

CSS hack的目的就是使你的CSS代码兼容不同的浏览器。当然,我们也可以反过来利用CSS hack为不同版本的浏览器定制编写不同的CSS效果。
原理:使用CSS属性优先级解决兼容性问题。
友情提示:尽量找到通用方法而减少对CSS hack的使用,大规模使用CSS hack会带来维护成本的提高以及浏览器版本变化而带来类似hack失效等系列问题。

一、属性级hack

在样式属性名或者属性值的前后加前缀或者后缀来识别不同的浏览器

/* IE5 6 7  */
+color: #f00;
/* IE6 */
-color: #f00;
/* IE 8 9 10+ */
background-color: #000\0;
/* IE 9 10 */
background-color: #f0f\9\0;
/* IE 6 7 */
+background-color: #abcdef;
/* IE6 */
-background-color: #ff0;

想要兼容IE6 7 8 9的时候,一定是高版本的兼容写法在前,低版本的在后

二、选择符级hack

/* IE6和更早版本 */
* box.test { 
	color: #090; 
}
 /* IE7 */
* + box .test { 
	color: #ff0; 
}

三、条件hack

HTML头部引入hack,使用HTML条件注释判断浏览器版本
使用时注意避免不必要的空格

<!--[if IE]>
<p>只在IE浏览器中执行的内容</p>
<![endif]-->

<!--[if IE 7]>
<p>只在IE7中执行的内容</p>
<![endif]-->

<!--[if gt IE 8]>
<p>只在大于IE8的版本上才显示</p>
<![endif]-->

条件:
大于:
选择大于指定版本的IE版本。关键字:gt(greater than)
大于或等于:
选择大于或等于指定版本的IE版本。关键字:gte(greater than or equal)
小于:
选择小于指定版本的IE版本。关键字:lt(less than)
小于或等于:
选择小于或等于指定版本的IE版本。关键字:lte(less than or equal)
非指定版本:
选择除指定版本外的所有IE版本。关键字:!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值