IT修真院-前端

常用的hack技巧!

2017-08-13  本文已影响0人  小翼_b998

常用的hack技巧!

1.背景介绍

由于各浏览器对页面的解析不同,会导致页面在不同浏览器中显示的样式不一致,为了保持页面的统一,经常需要对浏览器进行兼容性问题的调试。

2.知识剖析

CSS Hack的概念

面对浏览器诸多的兼容性问题,经常需要通过修改CSS样式来调试,其中用的最多的就是CSS Hack。所谓CSS Hack就是针对不同的浏览器书写不同的CSS样式,通过使用某个浏览器单独识别的样式代码,控制该浏览器的显示效果。

3.HACK方法。

3.1使用CSS选择器Hack

CSS选择器Hack是指通过在CSS选择器的前面,加上一些只有特定浏览器才能识别的Hack前缀,来控制不同的CSS样式。

IE6及IE6以下版本识别的选择器Hack,书写CSS样式时,如果希望此样式只对IE6及IE6以下版本的浏览器生效,可以使用IE6及以下版本的选择器Hack,其基本语法如下:

* html 选择器{样式代码};

E7版本识别的选择器Hack,书写CSS样式时,如果希望此样式只对IE7版本的浏览器生效,可以使用IE7版本的选择器Hack,其基本语法如下:

*+html 选择器{样式代码};

目前最常见的是:

*html *前缀只对IE6生效

*+html *+前缀只对IE7生效

@media screen\9{...}只对IE6/7生效

@media \0screen {body { background: red; }}只对IE8有效

@media \0screen\,screen\9{body { background: blue; }}只对IE6/7/8有效

@media screen\0 {body { background: green; }} 只对IE8/9/10有效

@media screen and (min-width:0\0) {body { background: gray; }} 只对IE9/10有效

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {body { background: orange; }} 只对IE10有效等等

3.2 使用CSS属性Hack

3.3 hack方式-条件注释法

其他浏览器的识别符

Firefox: -moz-

Chrome、Safari: -webkit-

Opera: -o-

IE: -ms-

3.4 CSS hack利弊

一般情况下,我们尽量避免使用CSS hack,但是有些情况为了顾及用户体验实现向下兼容,不得已才使用hack。比如由于IE8及以下版本不支持CSS3,而我们的项目页面使用了大量CSS3新属性在IE9/Firefox/Chrome下正常渲染,这种情况下如果不使用css3pie或htc或条件注释等方法时,可能就得让IE8-的专属hack出马了。使用hack虽然对页面表现的一致性有好处,但过多的滥用会造成html文档混乱不堪,增加管理和维护的负担。

4.参考文献

前端网

脚本之家

C博客

感谢大家观看!

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

上一篇 下一篇

猜你喜欢

热点阅读