本文向大家简单介绍一下CSS hack的来历,使用原理和规则等内容,CSS hack是一种类似作弊的手段,以欺骗浏览器的方式达到兼容的目的,是用浏览器的兼容性差异来解决浏览器的兼容性问题。
CSS hack的来历
CSS hack的由来源于浏览器大战,从1995年开始,微软和网景公司的浏览器竞争,导致各自的浏览器包含大量其私有CSS属性,并逐渐远离标准。1998年网景公司以开放源代码的授权形式,把Communicator的源代码释出,以开源的形式逐渐发展一部分用户群,并在2004年推出Firefox的1.0版本。相继,Safar,Opera的用户群也正在发展壮大中。这让微软不得不考虑从新设计一款更加接近web标准的浏览器。
尽管微软***推出的IE8已经对CSS2.1提供了良好的支持,但事实是,许多用户操作系统的IE版本一直停留在IE6,且大多数用户没有主动升级IE的习惯。
IE的各个版本对CSS2.1中的某些属性从支持程度到解析效果,都不是很一致。这导致开发人员需要单独定义针对不同版本的的CSS样式,以此来获取相近的效果。
由此,人们发现并利用了CSS hack。事实上,到现在为止,我们使用CSS hack最主要的目的是区分IE6和IE7。
CSS hack使用原理
简单来讲,CSS hack就是浏览器解析CSS时的漏洞,因此不同的浏览器就有不同的CSS hack写法。
CSS hack使用原则
尽力避免使用CSS hack,并寻找其它的应对方法。事实上,使用IE的条件注释来区分IE各个版本,是非常不错的选择。
CSS hack使用后的弊端
CSS Hack除了能迅速区分浏览器版本,并可能获得大概一直的效果,但从长远看,CSS Hack会引起许多新的错误。
【编辑推荐】
- CSS Hack的基本原理和实现方式
- 调用CSS hack区分不同浏览器
- 深入探究DIV CSS布局中position属性用法
- CSS属性display:inline-block使用揭秘
- CSS hack:实现IE6、IE7、Firefox兼容