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

Ответы:


290

\9 «CSS-хак», характерный для Internet Explorer 7, 8 и 9.

Это просто означает, что одна конкретная строка CSS, заканчивающаяся на « \9;вместо», ;действительна только в IE 7, 8 и 9.

В вашем примере

width: 500px\9;означает, что ширина в 500 пикселей (такой же результат, как width: 500px;) будет применяться только при использовании IE 7, 8 и 9.

Все остальные браузеры будут width: 500px\9;полностью игнорироваться и, следовательно, вообще не будут применяться width: 500px;к элементу.

Если ваш CSS выглядит так ...

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

В результате #myElementIE 7, 8 и 9 будут иметь ширину 500 пикселей, а во всех других браузерах #myElement- 300 пикселей.

Больше информации


РЕДАКТИРОВАТЬ:

Этот ответ был написан в 2011 году. Теперь следует отметить, что этот хак также работает в IE 10.


1
@ jdavid.net, если это не сломает ваш CSS, абсолютно ничего, AFAIK.
Sparky

10
\0вместо того, \9чтобы применить его к IE10, а
abc123

21
@ abc123 позволяет надеяться, что они никогда не получат IE до версии 16.
Гофман

4
По моему опыту только сейчас, \9также применялось к IE 10 со widthсвойством, по крайней мере, в режиме эмуляции IE. Режим эмуляции глючит в лучшие времена, поэтому, возможно, поэтому.
davidjb

1
@ davidjb, это потому что это не эмулятор. Он был разработан как запасной вариант для старого кода.
Sparky

13

Это взлом CSS для IE9 и ниже версии

напишите так:

width: 500px\9;

Прочитайте эту статью http://dimox.net/personal-css-hacks-for-ie6-ie7-ie8/


4
Спасибо за ссылку, но статья не объясняет, ЧТО это делает.
ну на самом деле

1
Мы используем хак для IE для двух вещей. 1) есть некоторые свойства, которые не поддерживаются IE, такие как display: inline-block & 2) Каждый браузер отображает некоторые свойства HTML & css по-своему. проверить эту статью blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block
sandeep

Проверьте ссылку также coding.smashingmagazine.com/2010/06/07/…
sandeep

IE поддерживает отображение: inline-block; плохой пример.
Reisio

Однако, похоже, не очень полезный хак для свойства width. По крайней мере, не вне режима причуд.
Reisio

2

В IE9 для установки свойства ширины вы просто добавляете этот хак.

например

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

2

CSS Hack для IE9

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

7
Вы должны публиковать больше информации о том, что это за хакер, вместо того, чтобы ссылаться снаружи - если этот блог пропадет, тогда ценность вашего ответа снизится. Кроме того, не все говорят по-русски.
Марцин Орловский

1
Было бы лучше предоставить некоторую необходимую информацию на английском языке, потому что вы разместили ссылку на русский блог.
Артемикс

OP, вы должны сказать себе, иди и сядь на порочный шаг.
Slugmandrew
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.