CSS Hack整理

2016-02-19 23:17 6 1 收藏

下面图老师小编要向大家介绍下CSS Hack整理,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - Web开发 】

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

我进行前端开发的时候,测试用的浏览器大致有: 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可以识别.

Firefox:

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

Safari:

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

Opera:

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

以上的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的运用,一一列举的话可能能写成一本书了...想到再添加吧.

下面的兼容一览图

来源:http://www.tulaoshi.com/n/20160219/1629576.html

延伸阅读
标签: Web开发
一、float 闭合(清除浮动) 将以下代码加入Global CSS 中,给需要闭合的div加上 class="clearfix" 即可,屡试不爽. style .clearfix:after { content:"."; display:block; height:0; clear:both; visibility:hidden; } .clearfix { display:inline-block; } .clearfix {display:bl...
标签: Web开发
CSS兼容性一直是大家头疼的问题,IE6、IE7和FF已经让大家够呛,在22333.com以前的文章中,很多这方面的知识介绍。今天向大家介绍IE8的CSS hack。 IE8正式版发布以来,一直在找一种区别IE8正式版的方法.在百度搜索"IE8 hack"有19万多个结果,google搜索则有243万多个结果,但几乎没有看到任何一种有效的方法是针对IE8正式版的,要知道IE8正...
标签: Web开发
区别IE6与FF:        background:orange;*background:blue; 区别IE6与IE7:        background:green !important;background:blue; 区别IE7与FF:        background:orange; *background:green; 区别FF,IE7,IE6:    &n...
标签: Web开发
Css Reset是什麽?有些同行叫 "css复位",有些可能叫 "默认css"..... 相信看完全文您会对Css Reset有个重新的认识 PS: 程序代码 * { padding: 0; margin: 0; } 这就是最常用的Css Reset,但是这里会有很多问题. 原文前部分说了很多关於Css,以及各浏览器的css规则的不同,而制定"Css Reset"也是为了兼容...
标签: Web开发
区别IE6与FF:        background:orange;*background:blue; 区别IE6与IE7:        background:green !important;background:blue; 区别IE7与FF:        background:orange; *background:green; 区别FF,IE7,IE6:     ...

经验教程

434

收藏

22

精华推荐

CSS Hack兼容各浏览器是否正常

CSS Hack兼容各浏览器是否正常

aifeng1991

CSS技巧整理共25条

CSS技巧整理共25条

丿春天在哪里

网页制作:不同浏览器CSS Hack写法

网页制作:不同浏览器CSS Hack写法

木子李88106

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部