Data dodania: 21 styczeń 2010r.
Chyba każdy webmaster miał kiedyś problem z Internet Explorer. Pewnie często był to problem z powodu nieprawidłowego Doctype. Jednak IE jest beznadziejną przeglądarką i nie zawsze poprawne Doctype pomoże. Można wtedy skorzystać z alternatywnego arkusza stylów, tylko dla IE. Nie możemy po prostu dołączyć arkusza „luzem”, bo każda inna przeglądarka również go wczyta. Musimy umieścić kod w komentarzu warunkowym:
Listing 1 – komentarz warunkowy dla każdej wersji Internet Explorer
<!--[if IE]> <link rel="stylesheet" href="ie.css" type="text/css" /> <![endif]-->
Teraz nasz arkusz „zobaczy” tylko Internet Explorer, bez względu na wersję. Jednak, gdy problem występuje tylko w jednej wersji badzIEwia, ten arkusz może rozwalić stronę w pozostałych odsłonach IE. Na szczęście w komentarzu warunkowym możemy podać dokładną wersję IE, dla której kod ma być „widoczny”. Wystarczy tylko dodać numer wersji, tak jak w przykładzie:
Listing 2 – arkusz stylów CSS wewnątrz tego komentarza warunkowego „zobaczy” tylko IE 6
<!--[if IE 6]> <link rel="stylesheet" href="ie6.css" type="text/css" /> <![endif]-->
lub też podać od jakiej wersji kod ma być „widoczny”, tak jak tu (w tym przykładzie arkusz wczyta IE 6 i starsze wersje):
Listing 3 – style CSS z tego arkusza zastosuje każdy Internet Explorer o wersji starszej niż 7
<!--[if lt IE 7]> <link rel="stylesheet" href="ie6.css" type="text/css" /> <![endif]-->
„lt” oznacza „mniejszy”, „gt” – „wiekszy”, „lte” – „mniejszy lub równy”, a „gte” – „wiekszy lub równy”.
Starajmy się jednak nie korzystać z alternatywnego arkusza CSS przy każdym drobnym błędzie i nie sięgajmy od razu po komentarz warunkowy, w końcu ma to być alternatywny arkusz CSS dla IE, a nie osobny. Pamiętajmy także, że sporo problemów z badzIEwiem można rozwiązać poprzez poprawny kod.
Dokładnie zgadzam się z ostatnim zdaniem. Niepoprawność kodu to najczęstsza przyczyna złego wyświetlania strony IE. Wypróbowałem to nie raz.
© Filip Markiewicz Mapa strony Spis moich monet II RP XHTML 1.0 CSS 2.1