chevron-left chevron-right

Piotr Nalepa Frontend, architecture and AI

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

This version
blog.piotrnalepa.pl/2011/03/01/mootools-css-jak-sprawic-aby-internet-explorer-obslugiwal-css3
Published
Author
, Staff Software Engineer
Category
CSS
Feedback
Write to me · Post on X

This post is 15 years old. Browsers and tools may have changed since then, so check the code against current documentation before you use it.

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:
Example 1HTML
<script src="(ścieżka_do_folderu)/js/mootools-core-1.3.1-full-compat-yc.js"></script>
Następnie dodajemy plik emulatora:
Example 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.

Share
Feedback

About the author

Staff Software Engineer

I've been writing this blog since 2009 and building for the web professionally for 14 years. Today I lead the frontend of the Cosmos platform at Bishop Fox, where I've been since day one of the project. Before that I worked at OLX, KUDO, Auto1 and eZ Systems. Here I write about what I've learned in practice: JavaScript, TypeScript, React, CSS and frontend architecture. I've also spoken at conferences across Poland and Europe. Got a question or an idea for a post? Let me know!