【问题标题】:Conditional comments or IE specific hacks条件注释或 IE 特定的 hack
【发布时间】:2011-06-03 13:25:06
【问题描述】:

因此,在我评估其他程序员的 CSS 的网络旅行中,我注意到很多人使用下划线或星号 hack 来调试特定于 IE 浏览器的供应商,尽管 W3C 不会将其解析为有效的 CSS。

我个人更喜欢注释条件,您至少可以遵循有效的 IE 特定 CSS,但我想唯一的问题是添加额外的 CSS。

所以我很好奇你喜欢什么以及每种方法的积极或消极影响的共识。

评论条件或 IE 供应商特定的 hack?

PS - 老实说,这个标题应该是你是否支持 IE 布局:-)

【问题讨论】:

    标签: css internet-explorer css-hack


    【解决方案1】:

    条件样式表是要走的路。 hack 这个词本身就意味着你正在做一些你不应该做的事情。但在这两个方面都简短地说:

    条件样式表

    • (+) 更简洁的 CSS 代码
    • (+) 更易于管理
    • (+)易于其他开发人员理解
    • (+) CSS 验证
    • (-)更多 CSS 文件(从而增加服务器负载)

    黑客攻击

    • (+) 更快(可能)
    • (-) 弄乱你的 CSS
    • (-) CSS 无效
    • (-) 对其他开发人员(尤其是没有经验的开发人员)非常不清楚
    • (-) 可能会导致较新版本的 IE 出现问题

    【讨论】:

    • "•(-) CSS 不验证" 并非总是如此
    • 同意。不是全部,但大多数黑客都会这样做。
    【解决方案2】:

    我更喜欢条件 cmets,因为它使您的页面仍然有效。但是,我可以想象您使用供应商黑客,因为您不需要额外的 css 文件,每个加载的页面都保存一个请求(当然,如果不是用于缓存)。再一次,css 文件被缓存,如果您明智地使用条件,您可以为每个 IE 版本创建一个单独的文件,如果多个版本需要它们,则复制 hack。这样一来,每页最多需要一个额外的 css,然后将其缓存起来,从而最大限度地减少额外负载。

    【讨论】:

    • 我通常将 IE 样式内联(在样式元素中),因为它们通常只有几行,因此不值得拥有一个完整的单独 CSS 文件。
    • @Sombrero - 我喜欢这种思路,但这会在源代码中产生噪音(我希望尽可能保持干净)。
    • @Damien 另一方面,我想避免在我的静态目录中有 100 个单行 CSS 文件,以及额外 HTTP 请求的不必要开销。
    • 正如我所说,每个 IE 版本可以有一个 css。这只会导致一个额外的请求,那么您需要支持多少个版本? IE6和7?对于 8,您可能甚至不需要单独的 CSS。如果你需要这么多例外,你可能做错了什么。我见过相当大而复杂的网站,只需要少量的 IE6 hack。
    猜你喜欢
    • 2011-11-03
    • 2016-07-22
    • 2011-02-04
    • 2012-05-23
    • 2011-10-30
    • 2012-02-24
    • 2014-03-22
    • 1970-01-01
    • 2012-04-26
    相关资源
    最近更新 更多