Proprietà CSS \ 9 in larghezza


209

Qual'è il significato di questo? Immagino che sia un hack del browser, ma non sono stato in grado di trovare esattamente ciò che fa.

width: 500px\9;

Qual è il significato di \9?


in un file css .. impostando la larghezza di alcuni elementi.
Beh, in realtà il

duplicato non esatto, ma questa domanda ti risponde: stackoverflow.com/questions/701732/size-in-css-with-slash
Raptor

non sembra essere valido in nessuna versione CSS, per quanto posso vedere ...
Marc B

Non penso che questa domanda si riferisca alla stessa cosa.
Beh, in realtà il

6
@Shivan Raptor: No, non lo è. È una domanda totalmente diversa.
BoltClock

Risposte:


290

\9 è un "hack CSS" specifico per Internet Explorer 7, 8 e 9.

Ciò significa semplicemente che una riga specifica di CSS che termina con un \9;al posto di ;è valida solo in IE 7, 8 e 9.

Nel tuo esempio,

width: 500px\9;significa che una larghezza di 500 pixel (stesso risultato di width: 500px;) verrà applicata solo durante l'utilizzo di IE 7, 8 e 9.

Tutti gli altri browser ignoreranno del width: 500px\9;tutto e quindi non si applicheranno affatto width: 500px;all'elemento.

Se il tuo CSS fosse così ...

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

Il risultato sarebbe #myElementlargo 500 pixel in IE 7, 8 e 9, mentre in tutti gli altri browser #myElementsarebbe largo 300 pixel.

Ulteriori informazioni


MODIFICARE:

Questa risposta è stata scritta nel 2011. Ora va notato che questo hack funziona anche in IE 10.


1
@ jdavid.net, se non rompe il tuo CSS, assolutamente niente, AFAIK.
Sparky

10
\0invece di \9applicarlo anche su IE10
abc123

21
@ abc123 lascia sperare che non ottengano mai IE alla versione 16 di allora.
Hoffmann,

4
Nella mia esperienza proprio ora, \9si applicava anche a IE 10 con una widthproprietà, almeno nella modalità di emulazione di IE. La modalità di emulazione è buggy nel migliore dei casi, quindi forse è per questo.
davidjb,

1
@davidjb, è perché non è proprio un emulatore. È stato progettato come fallback per codice precedente.
Sparky

13

È un hack css per IE9 e versione successiva

scrivi così:

width: 500px\9;

Leggi questo articolo http://dimox.net/personal-css-hacks-for-ie6-ie7-ie8/


4
Grazie per il link, ma l'articolo non spiega COSA fa.
Beh, in realtà il

1
Usiamo l'hack per IE per due cose. 1) ci sono alcune proprietà che non sono supportate da IE come display: inline-block & 2) Ogni browser rende alcune proprietà HTML e css in modo diverso. controllare questo articolo blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block
Sandeep


IE supporta display: inline-block ;, cattivo esempio.
reisio,

Tuttavia, non sembra essere un trucco particolarmente utile per la proprietà 'width'. Almeno non al di fuori della modalità stranezze.
reisio,

2

In IE9 per impostare la proprietà width basta aggiungere questo hack.

per esempio

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

2

CSS Hack per IE9

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

7
dovresti pubblicare maggiori informazioni su cosa tratta questo hack invece di collegarti all'esterno - se quel blog è sparito, il valore della tua risposta diminuirà. Inoltre, non tutti parlano russo.
Marcin Orlowski,

1
Sarebbe meglio fornire alcune informazioni essenziali in inglese, perché il link che hai pubblicato è sul blog russo.
Artemix,

OP, dovresti lasciarti andare e sederti sul gradino impertinente.
slugmandrew,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.