CSS \ 9 we właściwości width

209

Co to znaczy? Domyślam się, że to włamanie do przeglądarki, ale nie byłem w stanie znaleźć, co dokładnie robi.

width: 500px\9;

Jakie jest znaczenie \9?

właściwie właściwie
źródło
w pliku css .. ustawianie szerokości jakiegoś elementu.
cóż, właściwie
nie dokładne duplikaty, ale to pytanie odpowiada: stackoverflow.com/questions/701732/size-in-css-with-slash
Raptor
wydaje się, że nie jest poprawny w żadnej wersji CSS, o ile widzę ...
Marc B
Nie sądzę, że to pytanie odnosi się do tej samej rzeczy.
cóż, właściwie
6
@Shivan Raptor: Nie, nie ma. To zupełnie inne pytanie.
BoltClock

Odpowiedzi:

290

\9 to „hack CSS” specyficzny dla Internet Explorera 7, 8 i 9.

Oznacza to po prostu, że jedna konkretna linia CSS kończąca się \9;na zamiast ;jest poprawna tylko w IE 7, 8 i 9.

W twoim przykładzie

width: 500px\9;oznacza, że ​​szerokość 500 pikseli (taki sam wynik jak width: 500px;) zostanie zastosowana tylko podczas korzystania z IE 7, 8 i 9.

Wszystkie inne przeglądarki będą width: 500px\9;całkowicie ignorować i dlatego w ogóle nie będą miały zastosowania width: 500px;do tego elementu.

Jeśli Twój CSS wyglądał tak ...

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

W #myElementIE 7, 8 i 9 wynik miałby szerokość 500 pikseli, podczas gdy we wszystkich innych przeglądarkach #myElementmiałby szerokość 300 pikseli.

Więcej informacji


EDYTOWAĆ:

Ta odpowiedź została napisana w 2011 roku. Należy teraz zauważyć, że ten hack działa również w IE 10.

iskrzący
źródło
1
@ jdavid.net, jeśli to nie złamie twojego CSS, absolutnie nic, AFAIK.
Sparky
10
\0zamiast \9zastosuje to również do IE10
abc123
21
@ abc123 pozwala mieć nadzieję, że nigdy nie uzyskają IE do wersji 16.
Hoffmann
4
Z mojego doświadczenia wynika , że \9miałem również zastosowanie do IE 10 z widthwłaściwością, przynajmniej w trybie emulacji IE. Tryb emulacji jest wadliwy w najlepszym momencie, więc może dlatego.
davidjb
1
@davidjb, to dlatego, że tak naprawdę nie jest to emulator. Został zaprojektowany jako awaria starszego kodu.
Sparky,
13

To hack css dla IE9 i niższych wersji

napisz tak:

width: 500px\9;

Przeczytaj ten artykuł http://dimox.net/personal-css-hacks-for-ie6-ie7-ie8/

sandeep
źródło
4
Dzięki za link, ale artykuł nie wyjaśnia, co robi.
cóż, właściwie
1
Używamy hacka dla IE do dwóch rzeczy. 1) istnieją pewne właściwości, które nie są obsługiwane przez IE, takie jak display: inline-block & 2) Każda przeglądarka renderuje niektóre właściwości HTML i css inaczej. sprawdź ten artykuł blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block
sandeep
Sprawdź również link coding.smashingmagazine.com/2010/06/07/…
sandeep
IE obsługuje display: inline-block ;, zły przykład.
reisio
Jednak nie wydaje się to szczególnie przydatnym hackowaniem dla właściwości „width”. Przynajmniej nie poza trybem dziwactwa.
reisio
2

W IE9, aby ustawić właściwość width, po prostu dodaj ten hack.

na przykład

.align {
    float:left;
    margin:5px;
    background-color:blue;
    width:65px;
    width:\9 !important;
}
Asad Shah
źródło
2

Hack CSS dla IE9

/* Hack CSS IE9 */
.csshackie9 {color:#f00\9\0\;}
Gordi
źródło
7
powinieneś zamieścić więcej informacji na temat tego hacka zamiast linkować na zewnątrz - jeśli ten blog zniknie, wówczas wartość twojej odpowiedzi spadnie. Ponadto nie wszyscy mówią po rosyjsku.
Marcin Orłowski,
1
Lepiej byłoby podać podstawowe informacje w języku angielskim, ponieważ zamieszczony przez ciebie link znajduje się na rosyjskim blogu.
Artemix,
OP, powinieneś sobie odpuścić i usiąść na niegrzecznym stopniu.
slugmandrew