Zauważyłem ten kod CSS w projekcie:
html, body { :)width: 640px;}
Pracuję z CSS już od dłuższego czasu, ale nigdy wcześniej nie widziałem tego kodu „:)”. Czy to coś znaczy, czy to tylko literówka?
Zauważyłem ten kod CSS w projekcie:
html, body { :)width: 640px;}
Pracuję z CSS już od dłuższego czasu, ale nigdy wcześniej nie widziałem tego kodu „:)”. Czy to coś znaczy, czy to tylko literówka?
Odpowiedzi:
Z artykułu na javascriptkit.com , który dotyczy IE 7 i wcześniejszych wersji:
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.
Jest też hack dla <= IE 8 :
div {
color: blue; /* All browsers */
color: purple\9; /* IE8 and earlier */
*color: pink; /* IE7 and earlier */
}
Jednak nie jest to dobry pomysł, nie sprawdzają poprawności. Zawsze możesz pracować z komentarzami warunkowymi do kierowania na określone wersje IE :
<!--[if lte IE 8]><link rel="stylesheet" href="ie-8.css"><![endif]-->
<!--[if lte IE 7]><link rel="stylesheet" href="ie-7.css"><![endif]-->
<!--[if lte IE 6]><link rel="stylesheet" href="ie-6.css"><![endif]-->
Ale dla tych, którzy chcą zobaczyć hack w rzeczywistości, otwórz tę stronę w najnowszej wersji IE. Następnie przejdź do trybu programisty, wykonując F12. W sekcji Emulacja ( ctrl+ 8) zmień tryb dokumentu na 7
i zobacz, co się stanie.
Właściwość użyta na stronie to :)font-size: 50px;
.
:
to coś jeszcze? W przeciwnym razie nie mogę umieścić *********************font-size: "150%";
itp.?
Wygląda jak włamanie CSS do przeglądarki IE7 i wcześniejszych przeglądarek. Chociaż jest to nieprawidłowy CSS i przeglądarki powinny go zignorować, IE7 i wcześniejsze będą analizować i honorować tę regułę. Oto przykład tego hacka w akcji:
CSS
body {
background: url(background.png);
:)background: url(why-you-little.png);
}
IE8 (ignoruje regułę)
IE7 (stosuje regułę)
Pamiętaj, że nie musi to być buźka; BrowserHacks wspomina:
Dowolna kombinacja tych znaków: [zanim nazwa właściwości zadziała] Internet Explorer ≤ 7
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |