CSS \ 9 width属性


209

这是什么意思?我猜这是一个浏览器黑客,但我一直无法找到确切的功能。

width: 500px\9;

的意义是\9什么?


在一个css文件中..设置某些元素的宽度。
实际上是

不完全重复,但是这个问题可以回答您:stackoverflow.com/questions/701732/size-in-css-with-slash
Raptor

据我所知,在任何CSS版本中似乎都无效……
Marc B

我不认为这个问题指的是同一件事。
实际上是

6
@Shivan Raptor:不,不是。这是一个完全不同的问题。
BoltClock

Answers:


290

\9 是特定于Internet Explorer 7、8和9的“ CSS hack”。

这仅表示CSS的特定行\9;以代替,;仅在IE 7、8和9中有效。

在您的示例中

width: 500px\9;表示width: 500px;仅在使用IE 7、8和9时才应用500像素的宽度(与相同的结果)。

所有其他浏览器将width: 500px\9;完全忽略,因此根本不适width: 500px;用于该元素。

如果您的CSS看起来像这样...

#myElement {
    width: 300px;
    width: 500px\9;
}

#myElement在IE 7、8和9中,结果将为500像素宽,而在所有其他浏览器中,结果#myElement将为300像素宽。

更多信息


编辑:

该答案写于2011年。现在应注意,此hack也可在IE 10中使用。


1
@ jdavid.net,如果它不会破坏您的CSS,那么绝对没有,AFAIK。
Sparky

10
\0而不是\9将其也应用于IE10
abc123 2013年

21
@ abc123让我们希望他们以后再也无法将IE升级到16版。
霍夫曼2013年

4
以我目前的经验,至少在IE的仿真模式下,我\9还向IE 10申请了一个width属性。最好的情况下,仿真模式是越野车,所以也许就是这个原因。
davidjb 2014年

1
@davidjb,这是因为它实际上不是模拟器。它被设计作为旧代码的后备。
Sparky 2014年

13

这是IE9及以下版本的CSS hack

这样写:

width: 500px\9;

阅读本文http://dimox.net/personal-css-hacks-for-ie6-ie7-ie8/


4
感谢您的链接,但本文并未解释其作用。
实际上是

1
对于IE,我们使用hack做两件事。1)IE不支持某些属性,例如display:inline-block&2)每个浏览器以不同的方式呈现一些HTML和CSS属性。检查本文blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block
sandeep


IE确实支持display:inline-block ;,不好的例子。
reisio

但是,对于'width'属性似乎并不是一个特别有用的技巧。至少不在怪癖模式之外。
reisio

2

在IE9中设置width属性,您只需添加此技巧即可。

例如

.align {
    float:left;
    margin:5px;
    background-color:blue;
    width:65px;
    width:\9 !important;
}

2

IE9的CSS Hack

/* Hack CSS IE9 */
.csshackie9 {color:#f00\9\0\;}

7
您应该在此内容中发布更多信息,而不是在外部进行链接-如果该博客消失了,那么答案的价值就会降低。此外,并非所有人都说俄语。
Marcin Orlowski

1
最好用英语提供一些基本信息,因为您发布的链接是俄语博客。
Artemix

OP,您应该告诉自己,然后走上顽皮的台阶。
slugmandrew
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.