IE8 css hack

(本文整理于网络)对IE8、IE7、IE6、Firefox2.0.0.12做了简单的一些CSS HACK测试。
关注过IE8的css hack的人相信大家都在使用这个hack,就是“/9”的css hack:

很多人再研究color:#0000FF/9;中的为什么IE6-IE8支持“/9”写法。

color:#0000FF/9的hack支持IE6-IE8(其他版本没有测试),但是IE8不能识别“*”和“_”的css hack,所以我们可以使用

color:#0000FF/9; ;/*ie6,ie7,ie8*/

*color:#FFFF00;/*ie7*/

_color:#FF0000;/*ie6*/

来区分IE的各个版本。

 

ie的float bug(ie6,ie7)使前端工程师们为之困扰,最常见的现象就是:当浮动元素的父级元素在拖动滚动条的时候出现边框的缺失,对于此类问题的解决方案就是使浮动元素获得布局.

        在诸多的情况中,因为页面需要宽度自由伸缩而不能申明宽度为固定值,但我们可以设置*height:1%;,*在这里可谓是举足轻重,因为*只能被 ie7及以下版本解析,ie8并不识别此类写法,所以可以使用这个写法来区别ie8和其他版本号的ie浏览器.对网上流行的ie8 beta1的hack,也算是一个补充.

        一些常用的hack测试

        * html  p {color:red;}           支持 IE6        不支持FF IE7 IE8b
        *+html p {color:red;}    支持 IE7 IE8b        不支持FF IE6
        p {*color:red;}                      支持 IE7 IE6        不支持FF IE8b

        IE8 中增加了 CSS3 中的子串匹配的属性选择器(substring matching attribute selectors),具体规则与正则中的匹配很相似:

        E[att^=’val’] //子串以’val’ 开始
        E[att$=’val’] //子串以’val’ 结束
        E[att*=’val’] //子串中包含’val’

        IE8 支持绝大多数基本的 CSS2.1 选择器,不支持的包括但不限于:[:first-line] 、[:first-letter]。
        对于 CSS2.1 中的 generated content 部分,即通过使用伪元素 :before 和 :after 添加文本内容,IE8 中支持 并未完全 。
        而对于几乎在其他浏览器中都支持的 opacity 和 RGBA ,IE8 中依旧没有支持。
        对于原来用来区分 IE 的 HACK 在 IE8 中基本失效(比如*property:value、*property:value等)。
        原有 IE 的 list-item whitespace bug 在 IE8 中依旧存在。
        原有 IE 的 z-index bug 在 IE8 中依旧存在。
        IE8 中产生新的 bug:当 line-heigth 小于正常值时,超出的部分将被裁切掉。
        IE8 中依然不支持 display:table 。
        IE8 中依然不支持 border 的 transparent 值。
        IE8 中 @import 只支持三层嵌套。
        IE8中 border的 transparent 不被支持
        IE8中产生新的BUG:line-heigth BUG
        /*/p{ color:#1e90ff}/*/ 只针对IE8的hack,可以是属性也可以是类

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值