2010-12-30 18 views
141

Eventuali duplicati:
CSS reset - purpose of asterik within a styleCosa fa un asterisco in un nome di proprietà CSS?

so cosa un asterisco fa in un selettore per i CSS (What does an Asterisk do?), ma che cosa fa in un nome di proprietà? Ecco un esempio di CSS usato da YUI. Non so cosa fa il *display.

.yui-button .first-child 
{ 
    display:block; 
    *display:inline-block; 
} 
+0

è interessante nel tuo esempio il * display: inline-block; perché internet explorer 7 non "capisce" la proprietà inline-block – Sotiris

+4

@Sotiris: lo fa, un po '. Ha sbagliato tutto, però. – BoltClock

+0

@BoltClock hahahah "Lo fa, un po '" – luigi7up

risposta

153

Si tratta di un errore di sintassi. Quindi, in CSS, rende invalido il nome della proprietà e ne interrompe l'analisi.

Grazie ai bug nei browser, a volte viene ignorato. Questo fa sì che la proprietà si applichi solo ai browser che presentano quel particolare bug - IE7.

In generale, dovrebbe essere evitato a favore di commenti condizionali.

57

È un hack di IE. La seconda dichiarazione verrà applicata da IE7 e versioni precedenti (ignorando quindi la prima dichiarazione), mentre altri browser la ignoreranno e continueranno invece ad applicare la prima dichiarazione.

Inoltre, questa sintassi CSS non è valida.

+0

@Jakub Pietkun: wat. Hai uno screenshot? – BoltClock

+0

Scusate per la confusione, mi sono sbagliato. Ho testato FF, Chrome e IE - l'attributo "asterisked" non ha alcun effetto. –

14

è come il trattino basso per ie6. ma per ie7

se si inserisce l'asterisco, la proprietà verrà utilizzata solo nei browser ie7 e precedenti.

suo un mod ...

9

E 'uno degli hack IE. Internet Explorer analizza i CSS in un modo leggermente diverso, tenendo conto di alcuni hack che verranno ignorati in altri browser. Google per questo. Puoi scegliere come target diverse versioni di IE con diversi hack.