Mir ist aufgefallen, dass in vielen Template-Engines in der HTML5 Boilerplate in verschiedenen Frameworks und in einfachen php-Seiten gibt es die no-js
Klasse, die der <HTML>
Tag.
Warum wird dies getan? Gibt es eine Art Standard-Browserverhalten, das auf diese Klasse reagiert? Warum sollte sie immer enthalten sein? Wird dadurch nicht die Klasse selbst obsolet, wenn es keinen "no-js"-Fall gibt und html direkt angesprochen werden kann?
Hier ist ein Beispiel aus der HTML5 Boilerplate index.html:
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="en" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
Wie Sie sehen können, ist die <html>
Element wird immer diese Klasse haben. Kann mir jemand erklären, warum das so oft gemacht wird?