什么是hack技术

来源:互联网 发布:mysql的全文索引 编辑:程序博客网 时间:2024/04/29 19:48

由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。

这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。

这个针对不同的浏览器写不同的CSS code的过程,就叫CSS hack,也叫写CSS hack。


css hack有三种方式,CSS 内部hack、选择器hack、HTML 头部引用,其中第一种最常用。

内部hack就是在属性前面加上前缀,比如不同浏览器兼容的代码

/*Mozilla内核浏览器:firefox3.5+*/  -moz-transform: rotate | scale | skew | translate ; /*Webkit内核浏览器:Safari and Chrome*/  -webkit-transform: rotate | scale | skew | translate ; /*Opera*/  -o-transform: rotate | scale | skew | translate ; /*IE9*/  -ms-transform: rotate | scale | skew | translate ; /*W3C标准*/  transform: rotate | scale | skew | translate ;

这种也算是内部hack,还可以加 *,-,+,\9等等,具体哪个支持IE哪个版本,

第二种用的比较少,就是对选择器加上前缀,

第三种用到过,就是IE浏览器对css3和HTML5支持不是太好,

在HEAD中加入以下的代码,

<!--[if lt IE 9]>  <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.js"></script>   <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script><![endif]—>

做页面常用的东西,写这里用的时候省点去找了。。。

html5shiv:解决ie9以下浏览器对html5新增标签的不识别,并导致CSS不起作用的问题。

respond.min:让不支持css3 Media Query的浏览器包括IE6-IE8等其他浏览器支持查询。

由于IE6/IE7/IE8还有很大一部分用户,为了让网站浏览者都能正常的访问HTML5网站,故这两种方案还是需要的


0 0