CSS hack

本文介绍了CSShack的概念、原理及其三种表现形式:CSS类内部Hack、选择器Hack和HTML头部引用(ifIE)Hack。并详细展示了三种CSShack的方式:条件注释法、类内属性前缀法和选择器前缀法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、CSS hack概念

不同厂商的浏览器(Internet Explorer,Safari,Mozilla Firefox,Chrome等),或者是同一厂商的浏览器的不同版本(IE6、IE7、IE8等),对CSS的解析认识不完全一样,就会导致生成的页面效果不一样。 这时为了在不同浏览器环境下得到统一的页面效果,我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,简单的说,CSS hack的目的就是使你的CSS代码兼容不同的浏览器。

2、CSS hack原理

由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。

3、CSS hack表现形式

CSS Hack大致有3种表现形式,CSS类内部Hack、选择器Hack以及HTML头部引用(if IE)Hack:

  • CSS类内部Hack:比如 IE6能识别下划线”_”和星号” * “,IE7能识别星号” *
    “,但不能识别下划线”_”,而firefox两个都不能认识。等等
  • 选择器Hack:比如 IE6能识别html .class{},IE7能识别+html
    .class{}或者*:first-child+html .class{}。等等
  • HTML头部引用(if IE)Hack:针对所有IE:<!--[if
    IE]><!--您的代码--><![endif]-->
    ,针对IE6及以下版本:<!--[if lt IE
    7]><!--您的代码--><![endif]-->
    ,这类Hack不仅对CSS生效,对写在判断语句里面的所有代码都会生效。
4、CSS hack方式

(1)方式一 条件注释法
只在IE下生效

<!--[if IE]>
这段文字只在IE浏览器显示
<![endif]-->

只在IE6下生效

<!--[if IE 6]>
这段文字只在IE6浏览器显示
<![endif]-->

只在IE6以上版本生效

<!--[if gte IE 6]>
这段文字只在IE6以上(包括)版本IE浏览器显示
<![endif]-->

只在IE8上不生效

<!--[if ! IE 8]>
这段文字在非IE8浏览器显示
<![endif]-->

非IE浏览器生效

<!--[if !IE]>
这段文字只在非IE浏览器显示
<![endif]-->

(2)方式二 类内属性前缀法
属性前缀法是在CSS样式属性名前加上一些只有特定浏览器才能识别的hack前缀,以达到预期的页面展现效果。
IE浏览器各版本 CSS hack 对照表

hack写法实例IE6(S)IE6(Q)IE7(S)IE7(Q)IE8(S)IE8(Q)IE9(S)IE9(Q)IE10(S)IE10(Q)
**color青色YYYYNYNYNY
++color绿色YYYYNYNYNY
--color黄色YYNNNNNNNN
__color蓝色YYNYNYNYNN
##color紫色YYYYNYNYNY
\0color:red\0红色NNNNYNYNYN
\9\0color:red\9\0粉色NNNNNNYNYN
!importantcolor:blue !important;color:green;棕色NNYNYNYNYY

说明:在标准模式中

  • “-″减号是IE6专有的hack
  • “\9″ IE6/IE7/IE8/IE9/IE10都生效
  • “\0″ IE8/IE9/IE10都生效,是IE8/9/10的hack
  • “\9\0″ 只对IE9/IE10生效,是IE9/10的hack
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            .demo1{
                width: 200px;
                height: 200px;
                background-color: red;/* 所有浏览器*/  
                background-color: blue !important;/* 除了IE6以外所有浏览器 */
                *background-color:black; /* IE6, IE7 */  
                +background-color:yellow;/* IE6, IE7*/  
                background-color:gray\9; /* IE6, IE7, IE8, IE9, IE10 */  
                background-color:purple\0; /* IE8, IE9, IE10 */  
                background-color:orange\9\0;/*IE9, IE10*/  
                _background-color:green; /* 只适用于IE6 */  
                *+background-color:pink; /*  只适用于IE7? */
            }
        </style>
    </head>
    <body>
        <div class="demo1"></div>
    </body>
</html>

(3)CSS hack方式三:选择器前缀法
选择器前缀法是针对一些页面表现不一致或者需要特殊对待的浏览器,在CSS选择器前加上一些只有某些特定浏览器才能识别的前缀进行hack。

内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值