chevron-left chevron-right

Piotr Nalepa Frontend, architektura i AI

[Mootools][CSS] Jak sprawić, aby Internet Explorer obsługiwał CSS3?

Ta wersja
blog.piotrnalepa.pl/2011/03/01/mootools-css-jak-sprawic-aby-internet-explorer-obslugiwal-css3
Opublikowano
Autor
, Staff Software Engineer
Kategoria
CSS
Uwagi
Napisz do mnie · Napisz na X

Ten wpis ma 15 lat. Od tego czasu przeglądarki i narzędzia mogły się zmienić, więc zanim użyjesz kodu, sprawdź go z aktualną dokumentacją.

W dzisiejszym artykule opiszę sposób na problem związany z selektorami CSS3 w przeglądarkach Internet Explorer 8 i niższymi. Z tym problemem spotkałem się pracując nad nowym szablonem dla tego bloga i postanowiłem się podzielić z Tobą rozwiązaniem tego problemu.

Rozwiązanie jest zaskakująco proste, ale nie pozbawione wad. Należy zastosować swoistego rodzaju emulator selektorów CSS3 napisany w JS, w postaci biblioteki selectivizr.
Jako że, najbardziej zależało mi na poprawnej obsłudze selektorów:

  • :nth-of-type
  • :first-child
  • :first-of-type
To na podstawie tabeli:
Zestawienie obsługi selektorów zależnie od frameworka JS
Zestawienie obsługi selektorów zależnie od frameworka JS
Postanowiłem wykorzystać bibliotekę Mootools (zdziwiło mnie, że jQuery nie potrafi poprawnie obsłużyć tych selektorów w IE).
W pliku HTML dołączamy bibliotekę Mootools:
Przykład 1HTML
<script src="(ścieżka_do_folderu)/js/mootools-core-1.3.1-full-compat-yc.js"></script>
Następnie dodajemy plik emulatora:
Przykład 2HTML
<script src="(ścieżka_do_folderu)/js/selectivizr.js"></script>
I voila, dzieje się magia. Selektory na których mi w tym przypadku zależało idealnie działają we wszystkich wersjach przeglądarki Internet Explorer.
Należy pamiętać, że to rozwiązanie ma wadę. Do emulacji tych selektorów potrzebna jest włączona obsługa JS w przeglądarce (znakomita większość osób ma ją właczoną) i należy jako tako zadbać o poprawny wygląd strony przy wyłączonej obsłudze JS (przyznam się, sam nie do końca zadbałem o tą poprawność u siebie 😉 ).
Mam nadzieję, że ten artykuł pomoże rozwiązać Twój problem z selektorami CSS3 w Internet Explorerze.

Udostępnij
Uwagi

O autorze

Staff Software Engineer

Piszę na tym blogu od 2009 roku, a strony i aplikacje webowe tworzę zawodowo od 14 lat. Obecnie w Bishop Fox prowadzę frontend platformy Cosmos, od samego początku projektu. Wcześniej pracowałem m.in. w OLX, KUDO, Auto1 i eZ Systems. Piszę tu o tym, czego nauczyłem się w praktyce: o JavaScripcie, TypeScripcie, Reakcie, CSS-ie i architekturze frontendu. Występowałem też jako prelegent na konferencjach w Polsce i Europie. Masz pytanie albo pomysł na wpis? Daj znać!