Scopo dell'asterisco prima di una proprietà CSS


101

Quanto segue è tratto dal ripristino di Yahoo CSS. Qualcuno può spiegare lo scopo degli asterischi?

body {
  font:13px/1.231 arial,helvetica,clean,sans-serif;
  *font-size:small;
  *font:x-small;
}

Risposte:


117

È un hack CSS specifico del browser per le versioni 7 o precedenti di Internet Explorer.

*costo dell'immobile

Sebbene Internet Explorer 7 abbia corretto il comportamento quando un nome di proprietà è preceduto da un carattere di sottolineatura o un trattino, altri prefissi di caratteri non alfanumerici vengono trattati come in IE6. Pertanto, se aggiungi un carattere non alfanumerico come un asterisco (*) immediatamente prima del nome di una proprietà, la proprietà verrà applicata in IE e non in altri browser. A differenza del metodo trattino e trattino basso, la specifica CSS non fa riserve per l'asterisco come prefisso, quindi l'uso di questo hack potrebbe comportare un comportamento imprevisto con l'evoluzione delle specifiche CSS.

* proprietà: valore applica il valore della proprietà in IE 7 e inferiore. Potrebbe o non potrebbe funzionare nelle versioni future. Attenzione: utilizza CSS non validi.

Da: http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml



1

Tutti i browser tranne IE ignorano le regole. È conosciuto come lo star hack. Penso che IE7 ignorerà le regole in modalità standard.

In questo caso, la regola del carattere viene impostata e quindi sovrascritta per IE 6 e talvolta 7.


Questo non è l'hack star-html. Quello va nel selettore ed è CSS valido.
bobince


0

Per quanto ne so, l'asterisco impedisce a Firefox di leggere l'attributo, ma è valido in IE.


0

È un hack CSS, quella regola verrà applicata solo a IE7 e precedenti.

Non consiglierei di usarlo, però, ci sono modi migliori per risolvere le incompatibilità di IE.


0

Posizionare caratteri in questo modo è un trucco / soluzione alternativa per far sì che IE 6 utilizzi la proprietà di uno stile, nascondendola da browser più "sani".

Da qui :

Per farla breve, il parser CSS di Internet Explorer è eccessivamente aggressivo nel tentativo di scoprire i nomi delle proprietà e di fatto ignorerà i caratteri non alfanumerici iniziali. Dai miei test questo sembra essere il caso almeno da IE5 in poi.

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.