Modernizr ist eine kleine JavaScript-Bibliothek mit der man eine feinere Kontrolle darüber bekommt was für CSS-Styles je nach Browser benutzt (oder auch nicht benutzt) werden können.
Angenommen man möchte in seinem Design Transparenz benutzen und den Nutzern die einen Browser nutzen der das nicht anbietet trotzdem ein vernünftiges Design präsentieren. Dann wäre es natürlich schön würde CSS eine Art if/then/else Konstruktion kennen.
Mit Modernizr kann man das nachbilden. Man würde einfach 2 CSS-Klassen definieren:
.opacity div p { Was auch immer }
.no-opacity div p { siehe oben }Erkennt Modernizr nun, dass der Browser keine Transparenz unterstützt, wird statt der für opacity geltenden Styles die von no-opacity genutzt.
Dies beherrscht Modernizr für mehrere Dutzend CSS-Eigenschaften, so dass man immer sehr einfach “wenn der Browser Feature X kann, dann mach das ansonsten das” Styles erzeugen kann.
Ausserdem stellt das JavaScript anderen JavaScripts eine Klasse zur Verfügung mit der man in eigenen Scripts abfragen kann ob ein Browser eine bestimmte Fähigkeit hat. Modernizr.canvas wäre z.B. die Eigenschaft die man nutzen könnte um festzustellen ob ein Browser das Canvas-Objekt unterstützt, etc.



Letzte Kommentare