【问题标题】:CSS hack for width attribute on IE8 and belowIE8 及更低版本宽度属性的 CSS hack
【发布时间】:2013-03-26 20:50:16
【问题描述】:

我正在为 IE8 及以下版本尝试以下 CSS hack:

 .class {
        background-color: #BFBFBF;
        width: 1154px;
        width: 930px \9;
       }

但是这个 CSS hack 也影响了 IE9。

能否请您帮我将此宽度属性仅应用于 IE8 及以下版本?

【问题讨论】:

  • 抱歉我没试过@user125697
  • 开发人员可能无法访问 HTML,而这正是 CSS hack 发挥作用的地方。甚至有可能开发人员无法访问选择器,因此只有属性破解是唯一的可能性。

标签: css browser internet-explorer-8 css-hack


【解决方案1】:

使用条件 cmets。

<!--[if IE 8]>
According to the conditional comment this is IE 8<br />
<![endif]-->

【讨论】:

    【解决方案2】:

    虽然我完全不建议使用特定于浏览器的 CSS,但最好的选择是使用条件 cmets。

    <!--[if lte IE 8]><html class="ie8-"><![endif]-->
    
    .ie8-.class {
        width: 930px;
    }
    

    【讨论】:

      【解决方案3】:

      与其求助于一堆黑客,我真的建议利用 javascript(请参阅http://modernizr.com/)将您的浏览器类型作为一个类放在 html 标记中。因此,您的页面在 IE8 中的标记将包括:

      <html class="ie8">....
      

      这样,您可以在样式表中引用特定于浏览器的类:

      .class {
          background-color: #BFBFBF;
          width: 1154px;
      }
      .ie8 .class {width: 930px}
      

      【讨论】:

        【解决方案4】:

        其他答案是更好的答案 - 您应该使用条件 cmets。但是要回答您为什么您正在做的事情不起作用的问题,请尝试

        width: 930px\9;
        

        没有空格。

        【讨论】:

        • 我之前尝试过,现在也尝试过,但没有用。我不想使用其他选项,因为我正在使用 SASS,因此添加到 SASS 文件的代码将转换为 CSS 文件,并且无法在 SASS 中添加条件语句,因为它在编译时抛出异常
        猜你喜欢
        • 1970-01-01
        • 2013-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-09
        • 1970-01-01
        • 2021-03-07
        • 1970-01-01
        相关资源
        最近更新 更多