【问题标题】:CSS expression crashing the browserCSS 表达式使浏览器崩溃
【发布时间】:2012-05-12 11:33:06
【问题描述】:

在我的网站中,我希望body 标记的最小宽度为 640 像素。问题是,IE6 无法识别min-width,所以我尝试在我的 IE6 样式表中使用 CSS 表达式来解决这个问题:

body {
    width : expression(this.clientWidth < 639 ? "640px" : "auto");
}

但是当我调整它的大小时,这会使浏览器崩溃。我尝试过使用document.body.clientWidth 而不是this.clientWidth,但它也崩溃了。有可能解决这个问题吗?

【问题讨论】:

  • IE6 支持 CSS 表达式?我从来没有听说过这个。有没有你没有告诉我们的插件...或者这实际上是一些令人惊叹的 IE6 功能?
  • IE6 确实支持 CSS 表达式。我会避开他们。这个 S.O.答案可能对你有所帮助,John Doe:stackoverflow.com/questions/93274/min-width-in-msie-6
  • 谢谢大家,我已经尝试了很多方法来做到这一点,但是当我尝试它时唯一真正有效的是this one。它有点侵入 HTML,但它是一个多浏览器修复

标签: css internet-explorer internet-explorer-6 css-expressions


【解决方案1】:

如果bodypadding:0,那么这应该可以工作:

body {
    width : expression(this.clientWidth < 641 ? "640px" : "auto");
}

演示:http://jsfiddle.net/kt2m8/embedded/result/


如果有一些 padding 你可以使用这样的东西:
body {
    width : expression(this.clientWidth < 641+parseInt(document.body.currentStyle.paddingLeft,10)+parseInt(document.body.currentStyle.paddingRight,10) ? "640px" : "auto");
}

padding:10pxmargin:10px 的演示:http://jsfiddle.net/vL689/embedded/result/

【讨论】:

  • 试过了,没用:/。我什至看不到 jsfiddle 中使用 ie6 的示例,哈哈。无论如何感谢您的回答
  • @JohnDoe:我在 IE6 (6.00.2900.2180) 中使用安全设置进行了尝试:Medium -> i.stack.imgur.com/HUBKx.jpg,希望对您有所帮助。
猜你喜欢
  • 2015-04-25
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-15
相关资源
最近更新 更多