Poniższy fragment pochodzi z resetowania Yahoo CSS. Czy ktoś może wyjaśnić cel gwiazdek?
body {
font:13px/1.231 arial,helvetica,clean,sans-serif;
*font-size:small;
*font:x-small;
}
Odpowiedzi:
Jest to hack CSS dla przeglądarki Internet Explorer w wersji 7 lub starszej.
*wartość nieruchomości
Chociaż program Internet Explorer 7 poprawił swoje zachowanie, gdy nazwa właściwości jest poprzedzona podkreśleniem lub łącznikiem, inne przedrostki znaków niealfanumerycznych są traktowane tak, jak w IE6. Dlatego jeśli dodasz znak niealfanumeryczny, taki jak gwiazdka (*) bezpośrednio przed nazwą właściwości, właściwość zostanie zastosowana w IE, a nie w innych przeglądarkach. W przeciwieństwie do metody łącznika i podkreślenia, specyfikacja CSS nie zawiera żadnych zastrzeżeń co do gwiazdki jako przedrostka, więc użycie tego hacka może spowodować nieoczekiwane zachowanie w miarę ewolucji specyfikacji CSS.
* właściwość: wartość dotyczy wartości właściwości w IE 7 i poniżej. To może, ale nie musi działać w przyszłych wersjach. Ostrzeżenie: to używa nieprawidłowego CSS.
Od: http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml
To hack do Internet Explorera. Jeśli bezpośrednio przed nazwą właściwości dodasz znak niealfanumeryczny, taki jak gwiazdka (*), właściwość zostanie zastosowana w IE7 i niższych, ale nie w innych przeglądarkach.
Wszystkie przeglądarki oprócz IE ignorują zasady. To się nazywa hack gwiazdy. Myślę, że IE7 zignoruje reguły w trybie standardów.
W takim przypadku reguła dotycząca czcionek jest ustawiana, a następnie zastępowana dla IE 6, a czasem 7.
O ile wiem, gwiazdka uniemożliwia przeglądarce Firefox odczytanie atrybutu, ale jest poprawna w IE.
Umieszczanie takich znaków jest sztuczką / obejściem, aby IE 6 używał właściwości stylu, jednocześnie ukrywając ją przed bardziej „rozsądnymi” przeglądarkami.
Od tutaj :
Krótko mówiąc, parser CSS Internet Explorera jest zbyt agresywny, próbując wykryć nazwy właściwości i faktycznie ignoruje początkowe znaki niealfanumeryczne. Z moich testów wynika, że dzieje się tak od co najmniej IE5.