首页 > 开发 > CSS > 正文

CSS hacker使用小结(兼容IE6、7、8)

2024-07-11 08:35:10
字体:
来源:转载
供稿:网友

什么是CSS hack
由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面展现效果。这时,我们为了获得统一的页面效果,就需要针对不同的浏览器或不同版本写特定的CSS样式,我们把这个针对不同的浏览器/不同版本写相应的CSS code的过程,叫做CSS hack!

CSS hack的原理
由于不同的浏览器和浏览器各版本对CSS的支持及解析结果不一样,以及CSS优先级对浏览器展现效果的影响,我们可以据此针对不同的浏览器情景来应用不同的CSS。

如果想系统的学习css hacker的相关资料,推荐查看这篇文章(https://www.Vevb.com/css/493362.html)。

<meta http-equiv="X-UA-Compatible"  content="IE=edge,chrome=1">这行代码是永远以最新的IE版本模式来显示网页,使IE支持HTML5。
<meta name="renderer" content="webkit">这行代码是360浏览器渲染页面需默认用极速内核
<!–[if lt IE 9]>
    <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js">
    <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js">
<![endif]–>

各浏览器CSS兼容问题汇总:https://www.Vevb.com/css/9707.html
条件样式替代CSS Hacks方案:http://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
 
建议:使用ietester软件测试IE6、7、8。
顾名思义,!important的优先级要高. 举例说明:
body
{
           background-color:#FF0000 !important;
           *background-color:#00FF00 !important;
           *background-color:#0000FF;
           background-color:#000000;
 }
IE6选择最后一个,即: (因为IE6对important不感冒)
IE7选择第二个,即:background-color:#000000;(因为IE7开始对important感冒了,同时还死守着它对 * 感情的最后一版本,但important并未起到优先级的作用)
IE8和Firefox、Opera、Safari选择第一个,即:!important;(IE8完全感冒于important,同时丢弃了对*的感情)
另外再补充一个,下划线"_",
IE6支持下划线,IE7、IE8和Firefox、Opera、Safari均不支持下划线。

整理二:IE6,IE7,FireFox,Opera,Safari兼容CSS的解决方法及CSS差别

IE6,IE7,FireFox,Opera,Safari兼容CSS的解决方法及CSS差别
参考网址:http://shouce.Vevb.com/csshack/

以下两种方法几乎能解决现今所有HACK:

1. !important
随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表