IE 6和7的哪些css黑客是未来的证据?

时间:2010-01-29 13:53:46

标签: css cross-browser css-hack

IE 6和7的哪些css黑客是未来的证据?我的意思是,如果我使用然后他们永远不会产生任何问题,他们的补丁永远不会实现?

为所有人管理2个css,一个用于IE是耗时的,它还添加了一个额外的样式表。如果任何黑客可以解决主要css中的问题,那么这是一个节省时间,当多个人在同一个项目上工作时,大部分时间我们都忘了在条件css中进行更改。

我不是在询问条件样式表

6 个答案:

答案 0 :(得分:24)

无。
使用IE conditional comments插入您的每个版本(没有双关语......好吧也许有点)样式..

<小时/> [<强> 更新 ]
您更改的问题的附加说明。 这可能是耗时的,但这是最好的做法( btw许多黑客都不是有效的css )..

即使对于浏览器的相同主要版本,使用黑客也可以从不保证。他们不太可能在将来的未成年人中修复IE6中的css 错误发布,但你仍然不能100%确定..

我提到的IE评论有一个替代方案(可能更耗时“),但它确实是最好的做法......

此外,想想你团队中其他所有必须知道,理解并记住未来相同黑客的程序员。随着时间的推移,维持黑客攻击比维护不同版本的违规规则会更耗时。在其他文件中..

答案 1 :(得分:2)

黑客是黑客,不能保证他们是否会成为未来的证明。重点是你应该尽量减少黑客的使用,原因很简单,他们无法面向未来。难道你没有看到IE6,IE7和IE8的黑客之间存在任何差异,它们都有不同的黑客攻击,并没有保留以前版本的所有黑客攻击。其他浏览器也是如此。

答案 2 :(得分:1)

一般来说,没有。但它们也不应该是,针对特定浏览器的特殊情况编码并不是一个好主意。

如果您必须进行特殊情况编码,那么最好的办法是使用像jQuery这样的库,并使用其中一个功能测试。不要做“如果不是IE6”,而是做“如果不支持圆角”

答案 3 :(得分:1)

我无法考虑将来以下划线开头的房产。

_background: #ff0000;

答案 4 :(得分:1)

稍后在代码中涉及覆盖CSS属性的任何内容都只是遵循CSS标准,因此是面向未来的。

body {
   background: url('background.jpg') center;
   background: url('background-top.jpg') top, url('background-bottom.jpg') bottom;
}

但是,这仅适用于使用旧版浏览器中不可用的功能,而不适用于处理特定于浏览器的错误。要确保特定版本的Internet Explorer使用特定版本的CSS,请使用条件注释。

<head>
    ...
    <!--[if lt IE 8]><link rel="stylesheet" type="text/css" src="ie7.css" /><![endif]-->
    <link rel="stylesheet" type="text/css" src="generic.css" />
</head>

答案 5 :(得分:0)

永远/永远不要聊天,由于维护,每个浏览器模型的单独文件会随着时间的推移迅速崩溃。