“css hack”的版本间的差异

来自Blueidea
跳转至: 导航搜索
(添加并修改外链)
修正一个错别字
 
(未显示2个用户的4个中间版本)
第3行: 第3行:
 
== css hack的来历 ==
 
== css hack的来历 ==
  
css hack的由来源于[http://http://zh.wikipedia.org/wiki/浏览器大战 浏览器大战],从1995年开始,微软和网景公司的浏览器竞争,导致各自的浏览器包含大量其私有CSS属性,并逐渐远离标准<ref>http://zh.wikipedia.org/wiki/浏览器大战#.E5.B8.B6.E4.BE.86.E7.9A.84.E5.BE.8C.E6.9E.9C 浏览器大战所带来的后果</ref>。1998年网景公司以开放源代码的授权形式,把Communicator的源代码释出,以开源的形式逐渐发展一部分用户群,并在2004年推出Firefox的1.0版本。相继,Safar,Opera的用户群也正在发展壮大中。这让微软不得不考虑从新设计一款更加接近web标准的浏览器。
+
css hack的由来源于[http://zh.wikipedia.org/wiki/浏览器大战 浏览器大战]<ref>[http://www.blueidea.com/tech/site/2009/7068.asp 浏览器15年历史回顾]</ref>,从1995年开始,微软和网景公司的浏览器竞争,导致各自的浏览器包含大量其私有CSS属性,并逐渐远离标准<ref>http://zh.wikipedia.org/wiki/浏览器大战#.E5.B8.B6.E4.BE.86.E7.9A.84.E5.BE.8C.E6.9E.9C 浏览器大战所带来的后果</ref>。1998年网景公司以开放源代码的授权形式,把Communicator的源代码释出,以开源的形式逐渐发展一部分用户群,并在2004年推出Firefox的1.0版本。相继,Safar,Opera的用户群也正在发展壮大中。这让微软不得不考虑从新设计一款更加接近web标准的浏览器。
  
尽管微软最新推出的IE8已经对CSS2.1提供了良好的支持,但事实是,许多用户操作系统的IE版本一直停留在IE6,且大多数用户没有主动升级IE的习惯。
+
尽管微软最新推出的IE8已经对CSS2.1提供了良好的支持,但事实是,许多用户操作系统的IE版本一直停留在IE6<ref>[http://www.blueidea.com/tech/site/2010/7376.asp 让IE6更快的走向灭亡]</ref>,且大多数用户没有主动升级IE的习惯。
  
 
IE的各个版本对CSS2.1中的某些属性从支持程度到解析效果,都不是很一致。这导致开发人员需要单独定义针对不同版本的的CSS样式,以此来获取相近的效果。
 
IE的各个版本对CSS2.1中的某些属性从支持程度到解析效果,都不是很一致。这导致开发人员需要单独定义针对不同版本的的CSS样式,以此来获取相近的效果。
第15行: 第15行:
 
尽力避免使用css hack,并寻找其它的应对方法。事实上,使用IE的[[条件注释]]来区分IE各个版本,是非常不错的选择。
 
尽力避免使用css hack,并寻找其它的应对方法。事实上,使用IE的[[条件注释]]来区分IE各个版本,是非常不错的选择。
 
== 使用后的弊端 ==
 
== 使用后的弊端 ==
Hack除了能迅速区分浏览器版本,并可能获得大概一直的效果,但从长远看,Hack会引起许多新的错误。
+
css hack除了能迅速区分浏览器版本,并可能获得大概一致的效果,但从长远看,css hack会引起许多新的错误。
  
[[参考文献]]
+
==参考文献==
 
<references/>
 
<references/>
 +
 +
[[Category:CSS]]

2010-04-09T19:14:20的最后版本

注意:此文存在一些待纠正的地方,请协助修改或补充,以使其完善。

css hack的来历

css hack的由来源于浏览器大战[1],从1995年开始,微软和网景公司的浏览器竞争,导致各自的浏览器包含大量其私有CSS属性,并逐渐远离标准[2]。1998年网景公司以开放源代码的授权形式,把Communicator的源代码释出,以开源的形式逐渐发展一部分用户群,并在2004年推出Firefox的1.0版本。相继,Safar,Opera的用户群也正在发展壮大中。这让微软不得不考虑从新设计一款更加接近web标准的浏览器。

尽管微软最新推出的IE8已经对CSS2.1提供了良好的支持,但事实是,许多用户操作系统的IE版本一直停留在IE6[3],且大多数用户没有主动升级IE的习惯。

IE的各个版本对CSS2.1中的某些属性从支持程度到解析效果,都不是很一致。这导致开发人员需要单独定义针对不同版本的的CSS样式,以此来获取相近的效果。

由此,人们发现并利用了css hack。事实上,到现在为止,我们使用css hack最主要的目的是区分IE6和IE7。

使用原理

简单来讲,css hack就是浏览器解析CSS时的漏洞,因此不同的浏览器就有不同的css hack写法[4]

使用原则

尽力避免使用css hack,并寻找其它的应对方法。事实上,使用IE的条件注释来区分IE各个版本,是非常不错的选择。

使用后的弊端

css hack除了能迅速区分浏览器版本,并可能获得大概一致的效果,但从长远看,css hack会引起许多新的错误。

参考文献

  1. 浏览器15年历史回顾
  2. http://zh.wikipedia.org/wiki/浏览器大战#.E5.B8.B6.E4.BE.86.E7.9A.84.E5.BE.8C.E6.9E.9C 浏览器大战所带来的后果
  3. 让IE6更快的走向灭亡
  4. http://www.w3cn.org/article/tips/2006/120.html CSS hack浏览器兼容一览表