简单介绍CSS hack的如何使用

跟对老板,待在你喜欢的气场里是非常重要的。对于一个陌生的客户来讲,销售人员要做的就是吸引客户的注意。客户不把你放在心上,你能卖出东西吗?

css hack 是个很有争议的东西,一开始我也很讨厌,因为我觉得可以饶过 css hack,通过另外的方法解决问题。但是,随着工作中的不断实践,改变了我的观点,css hack 虽然不能通过 w3c 标准认证,但适当是使用很有可能会使你的 HTML 结构更紧凑、有效的减少无语义标签或带来其他好处。

1.IE条件注释法
该方法安全性好,但是不利于开发维护。比如涉及到针对不同版本IE的css。

<!--[if IE]><![endif]--> 只在IE下有效
<!--[if IE 6]><![endif]--> 只在IE6有效
<!--[if gt IE 6]><![endif]--> 只在IE6以上版本有效

注意:结合lte、lt、gte、gt、!关键字使用。

2.选择符前缀法

“*html” 前缀只对IE6生效 "*+html"前缀只对IE7生效

CSS Code复制内容到剪贴板
  1. .test{width:80px;}/*IE678*/
  2. *html.test{width:70px;}/*IE6*/
  3. *+html.test{width:60px;}/*IE7*/

缺点:不能保证IE9,10不识别*html,*+html,有向后兼容风险。

3.样式属性前缀法:

如“_”只在IE6下生效,“*”在IE6和IE7下生效。同样有向后兼容隐患。
.test{width:80px;*width:70px;_width:60px;}

可用于内联样式

CSS Code复制内容到剪贴板
  1. :<divstyle="width:80px;*width:70px;_width:60px;"></div>

由于IE条件注释法不利于开发维护,实际中常用的hack方法常常是后两者。

小例子

html 代码

XML/HTML Code复制内容到剪贴板
  1. <body>
  2. <p>您的浏览器是</p>
  3. </body>

css hack 代码

CSS Code复制内容到剪贴板
  1. p{margin:0;padding:055px00;height:30xp;line-height:30px;font-size:14px;}
  2. p{background:url(llq.gif)90px-170pxno-repeat;}/*all*/
  3. p,x:-moz-any-link{background:url(llq.gif)90px-80pxno-repeat;}/*forff*/
  4. p,x:-moz-any-link,x:default{background:url(llq.gif)90px-140pxno-repeat;}/*forff2+*/
  5. p{[;background:url(llq.gif)90px-260pxno-repeat;]}/*forsa/ch*/
  6. p{background:url(llq.gif)90px-50pxno-repeat\9;}/*forie*/
  7. *+htmlp{background:url(llq.gif)90px-20pxno-repeat;}/*onlyforie7*/
  8. p{_background:url(llq.gif)90px10pxno-repeat;}/*onlyforie6*/


查看Demo

因为没有找到 op10 的 css hack,所以标准的写法是给 op10 的,然后针对其他浏览器写 css hack。

另外,在修复过程中,我发现了网上流传的一个 css hack 有问题,这个 css hack 也许有很多人在用,就是[属性:值\0],有的人说这是 ie8 专用的,但我在测试过程中发现这个 css hack 除了 ie8 识别外,ff3 和 op10 也能识别(ff2 和 ff3.5 不能识别)。

本文简单介绍CSS hack的如何使用到此结束。人的生命恰似一部小说,其价值在于贡献而不在于短长。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
css让页脚保持在底部位置的四种方案

CSS如何使用Flex和Grid布局如何实现3D骰子

Flex布局史上最简单使用语法教程

新的CSS 伪类函数 :is() 和 :where()示例详解

纯CSS打字动画的如何实现示例