Властивість ширини CSS \ 9


209

У чому сенс цього? Я здогадуюсь, що це злом браузера, але я не зміг знайти, що саме це робить.

width: 500px\9;

Яке значення має \9?


у файлі css .. встановлення ширини якогось елемента.
ну власне

не точний дублікат, але це питання відповідає на вас: stackoverflow.com/questions/701732/size-in-css-with-slash
Раптор

наскільки я бачу ... не видається дійсним у будь-якій версії CSS ...
Марк 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;
}

Результат отримав би #myElement500 пікселів у IE 7, 8 та 9, тоді як у всіх інших браузерах - #myElementшириною 300 пікселів.

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


Редагувати:

Ця відповідь була написана в 2011 році. Зараз слід зазначити, що цей злом працює і в IE 10.


1
@ jdavid.net, якщо він не порушує ваш CSS, абсолютно нічого, AFAIK.
Спаркі

10
\0замість \9буде застосувати його до IE10 також
abc123

21
@ abc123 дозволяє сподіватися, що вони ніколи не отримають IE до версії 16.
Гофман

4
За моїм досвідом, зараз \9також застосовувалося до IE 10 із widthвластивістю, принаймні, в режимі емуляції IE. Режим емуляції баггі в найкращі часи, тому, можливо, саме тому.
davidjb

1
@davidjb, це тому, що це насправді не емулятор. Він був розроблений як резервний варіант для більш старого коду.
Спаркі

13

Це злом css для версії IE9 та нижче

пишіть так:

width: 500px\9;

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


4
Дякуємо за посилання, але стаття не пояснює, що це робить.
насправді

1
Ми використовуємо hack для 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 підтримує відображення: вбудований блок ;, поганий приклад.
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
Було б краще надати деяку важливу інформацію англійською мовою, адже посилання, яке ви опублікували, - це російський блог.
Артемікс

ОП, ви повинні сказати себе і піти і сісти на неслухняний крок.
slugmandrew
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.