3User.com 三人行社区3User.com 三人行社区
3user特别推荐:

绑定MSN/QQ/GTalk

获取网站更新(帮助)

CSS Hack整理

发新帖
«» 13 

CSS Hack整理

zhaozy

于 08-01-16 13:27 通过网页 帖子号: 14034

CSS Hack整理

CSS Hack是在标准CSS没办法兼容各浏览器显示效果时才会用上的补救方法,在各浏览器厂商解析CSS没有达成一致前,我们只能用这样的方法来完成这样的任务.

我进行前端开发的时候,测试用的浏览器大致有: IE7, IE6, Opera9(文章撰写时版本为9.25 8825), Safari3(文章撰写时版本为3.0.4 523.15), Firefox2(文章撰写时版本为2.0.0.11).

在正常的 selector { property:value; } 的基础上常会根据具体情况为相同元素使用Hack以达到浏览器间统一.

 

IE系列:

  • selector { +property:value; } 在属性名前加上加号"+",这个Hack只有IE系列可以识别.
  • selector { *property:value; } 在属性名前加上星号"*",这个Hack只有IE系列可以识别.
  • selector { _property:value; } 在属性名前加上下划线"_",这个Hack只有IE系列 (除IE7外) 识别.
  • * html selector{ property:value; } 在选择器上运用继承法 * html selector, 这个Hack只有IE系列 (除IE7外) 可以识别.
  • html/**/ >body  selector { property:value; } 在选择器上运用继承法 html/**/ >body  selector ,这个Hack只有IE系列 (除IE7外) 可以识别.  有误
  • selector { property/**/:value; } 在属性名和冒号":"之间加入注释,屏蔽IE6用.
  • selector/**/ { property/**/:value; } 在选择器和花括号"{"之间以及在属性名和冒号":"之间加入注释,屏蔽IE5和IE6用 (不屏蔽IE5.5) .
  • select/**/ { property:value; } 在选择器和花括号"{"之间加入注释,屏蔽IE5用.
  • *+html  selector { property:value !important; } 在选择器上运用继承法 *+html selector 再加上 !important, 这个Hack只有IE7可以识别.
  • html/**/>body  selector { property:value; } 无空格,支持IE7,OP9,SF3,FF2
  • html>/**/body selector { property:value; } 无空格,IE目前全部不支持
  • html> /**/body selector { property:value; } 支持IE5以及非IE浏览器
  • html >/**/body selector { property:value; } 支持IE5以及非IE浏览器

Firefox:

  • *:lang(lang) selector { property:value !important; }伪类lang(语言)再加上!important进行定义的话,目前只有Firefox可以识别.

Safari:

  • selector:empty { property:value !important; } 用伪类empty再加上!important进行定义的话,目前只有Safari可以识别. SF3失效

Opera:

  • @media all and (min-width: 0px){ selector { property:value; } } 利用特殊继承法进行定义的话,目前只有Opera可以识别.

以上的Hack并不完整,欢迎大家补充.

对Hack的运用,最普遍的是CSS盒模型Hack,清除浮动Hack.

CSS盒模型在IE5.X上是有严重解析错误的.这个Hack针对IE5.X:

selctor { width:IE5.X宽度; voice-family :"\"}\""; voice-family:inherit; width:正确宽度; }

清除浮动Hack,相信这个定义用的人很多:

selector:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }

另外还有很多很多CSS Hack的运用,一一列举的话可能能写成一本书了...想到再添加吧

楼主

mscript script editor + instant source + ie dev toolbar + httpwatch PK Firebug

weilaixu

  • 扒你裤裤
  • 482
  • 430
  • 850
  • 加为好友

08-01-16 13:34 通过网页

回复:CSS Hack整理

。。。。。有点少。。。

1楼

eye is a great

zhaozy

08-01-16 13:39 通过GTalk

回复:CSS Hack整理

这里只例举了几个可以单独使用或者单独屏蔽的Hack,真正的Hack数量庞大,但有多少会经常用到呢?

2楼

mscript script editor + instant source + ie dev toolbar + httpwatch PK Firebug

zhaozy

08-01-16 14:30 通过网页

回复:CSS Hack整理

补贴一张浏览器Hack兼容一览表,点击放大

3楼

mscript script editor + instant source + ie dev toolbar + httpwatch PK Firebug

ghost

08-01-17 09:38 通过网页

回复:CSS Hack整理

支持

4楼

milkr

08-01-18 15:37 通过网页

回复:CSS Hack整理

:empty+ !important; 针对safari的hack.似乎不靠谱. safari 3

5楼

zhaozy

08-01-18 15:38 通过GTalk

回复:CSS Hack整理

这份文档错误还不少,慢慢改..

6楼

mscript script editor + instant source + ie dev toolbar + httpwatch PK Firebug

zhaozy

08-01-18 15:42 通过网页

回复:CSS Hack整理

html/**/ >body  selector { property:value; } 有空格,支持IE7,IE5,OP9,SF3,FF2
html/**/>body  selector { property:value; } 无空格,支持IE7,OP9,SF3,FF2
html>/**/body selector { property:value; } 无空格,IE目前全部不支持
html> /**/body selector { property:value; } 支持IE5以及非IE浏览器
html >/**/body selector { property:value; } 支持IE5以及非IE浏览器

7楼

mscript script editor + instant source + ie dev toolbar + httpwatch PK Firebug

zhaozy

08-01-18 15:46 通过网页

回复:CSS Hack整理

修改了一些,添加了一些...不推荐用Hack,除非万不得已

8楼

mscript script editor + instant source + ie dev toolbar + httpwatch PK Firebug

wondger

08-01-20 18:23 通过网页

回复:CSS Hack整理

嗯,收下~··

9楼

midychen的三人行个人首页

08-01-21 11:44 通过网页

回复:CSS Hack整理

建议尽量少用css hack, 通过更标准的代码实现. 到迫不得已的时候才用...

我经常用的css hack

* html selector { property:value; } for ie6.0

* + html selector { property:value; } for ie 7.0

selector, x:-moz-any-link { property:value; } for firefox

10楼

zhaozy

08-01-21 11:59 通过网页

回复:CSS Hack整理

* html selector { property:value; } 除了ie7 ie系列都识别... * + html selector { property:value; } ie5 也能识别的...

11楼

mscript script editor + instant source + ie dev toolbar + httpwatch PK Firebug

ghost

08-07-13 14:33 通过网页

回复:CSS Hack整理

在对浏览器兼容性要求越来越高的时候,大家是否正在寻找一个完整的解决方案呢?继《[原]最新CSS兼容方案》之后,更新的CSS hack出炉啦,包括FF、IE6、IE7、Opear、Safari,需要注意的是IE由于在不同的DTD上渲染的模式不同,“_”这个hack的使用要注意页面是否使用了DTD或XML申明(<?xml version="1.0" encoding="utf-8"?>)。 .class{ background-color:# FFFF00;/*所有浏览器*/ * background-color:#00FF00;/*IE*/ _ background-color:# 00FFFF;/*IE6*/ } @media all and(min-width:0){ .class{ background-color:#FF00FF; /*Opera */ } }/*只有Opera识别*/ @media all and (min-width:0){ .class{ background-color:#FF00FF; /*Opera和Sa */ html* .class{ background-color:# 808080; /*Sa*/ } }} 已在实际工作中应用,欢迎大家提供更好的解决方案。 文章地址:http://www.cssforest.org/blog/index.php?id=118

12楼

raina

08-07-15 18:58 通过网页

回复:CSS Hack整理

随着浏览器的不断升级,越来越多的新型hack也开始出现,不知道什么时候才真正能够达到统一。

13楼

想认识我的,来吧!
«» 13 

您还没有登录,登录后可回复帖子,