Tôi nhận thấy rằng trong rất nhiều công cụ mẫu, trong HTML5 Boilerplate , trong các khung khác nhau và trong các trang php đơn giản, có no-js
lớp được thêm vào <HTML>
thẻ.
Tại sao điều này được thực hiện? Có một số loại hành vi trình duyệt mặc định phản ứng với lớp này? Tại sao bao gồm nó luôn? Điều đó không làm cho chính lớp bị lỗi thời, nếu không có trường hợp không "không-js" và html có thể được giải quyết trực tiếp?
Dưới đây là một ví dụ từ chỉ mục Nồi hơi HTML5.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]-->
Như bạn có thể thấy, <html>
phần tử sẽ luôn có lớp này. Ai đó có thể giải thích tại sao điều này được thực hiện thường xuyên như vậy?