Sáng nay, khi tôi đang viết một số html và haml, tôi nhận ra rằng cách các div được sử dụng là vô lý. Tại sao div không ngụ ý? Hãy tưởng tượng nếu điều này:
<div class="hero-img">
<img src="http://whatever.com/this.jpg">
</div>
được điều này:
<hero-img>
<img src="http://whatever.com/this.jpg">
</hero-img>
Nếu phần "lớp div" của phần tử được giả sử, HTML sẽ có ngữ nghĩa hơn và dễ đọc hơn nhiều với các thẻ đóng phù hợp!
Điều này tương tự với HAML, nơi chúng tôi có:
.content Hello, World!
Trở thành:
<div class='content'>Hello, World!</div>
Đối với tôi, điều duy nhất sẽ xảy ra để điều này hoạt động trong các trình duyệt là các trình duyệt có thể bắt đầu diễn giải mọi phần tử mà không có định nghĩa phần tử html hiện tại như ngụ ý <div class="<element name>">
.
Điều này có thể hoàn toàn tương thích ngược; đối với các bộ chọn CSS và jQuery, v.v., "div.hero-img" vẫn có thể hoạt động và là cú pháp cần thiết để chọn các thành phần.
Tôi biết về đặc tả thành phần web mới, nhưng điều đó phức tạp hơn đáng kể so với những gì được đề xuất ở đây. Bạn có thể tưởng tượng sẽ dễ chịu như thế nào khi nhìn vào nguồn của một trang web và thấy html trông như thế không?!
Vậy tại sao chúng ta phải sử dụng div?
Nếu bạn nhìn vào danh sách phần tử html5 của Mozilla , mọi phần tử đều có ý nghĩa ngữ nghĩa, và sau đó chúng ta sẽ nhận được <div>
và thông báo:
"Đại diện cho một container chung không có ý nghĩa đặc biệt."
.. và sau đó họ liệt kê các yếu tố tùy ý mà họ đang thêm vào html5 như thế nào <details>
.
Tất nhiên, nếu khái niệm divs ngụ ý này được thêm vào thông số html, sẽ mất mười năm để trở thành tiêu chuẩn, tức là một triệu năm trong thời gian web.
Vì vậy, tôi nghĩ rằng phải có một lý do chính đáng điều này chưa xảy ra. Xin vui lòng giải thích cho tôi!