HTML và CSS đã phát triển một mức độ linh hoạt có nghĩa là các phần tử "chặn" về mặt khái niệm như <div>
(dạng nội dung khối lâu đời nhất và chung nhất của HTML) không cần phải được hiển thị dưới dạng các khối:
div { display: inline; }
Như bạn lưu ý, <div>
có thể được tái sử dụng để thi đua <table>
và những người bạn đồng hành của nó. Trên thực tế, hầu hết các thẻ có thể. Với vai trò đặc biệt của họ, tôi nghi ngờ bạn hữu ích có thể remap thẻ vĩ mô như <html>
, <head>
, <body>
, và <script>
, nhưng thẻ "thông thường" như <div>
, <p>
, <b>
, <em>
, <span>
, và <pre>
? Lên cho lấy. Làm cho các khối thẻ nội tuyến, các khối nội tuyến, các thẻ được định dạng trước chảy, các khối cố định nổi. Phát điên, nếu bạn thích!
Điều đó là có thể . Bạn có thể muốn quay sợi về cách tất cả chúng ta nên sử dụng "đánh dấu ngữ nghĩa" blah blah blah , hoặc tin với Pythonistas rằng "Nên có một - và tốt nhất là chỉ có một - cách rõ ràng để làm điều đó". Tuy nhiên Tim Toady là một anh chàng thông minh và tò mò. Được một tay miễn phí, anh sẽ khám phá tất cả. Điều đó bao gồm sử dụng sự linh hoạt có sẵn để thực hiện thay thế. Một số là khôn ngoan, một số sẽ được chứng minh khác. Nhưng dùng thử, lỗi và kinh nghiệm là cách duy nhất để tìm ra điều đó. Vì vậy, các điều kiện đủ để thay thế là hiện tại.
Tôi không nghĩ rằng việc vượt qua để nói rằng sự thay thế cũng là cần thiết. Tối thiểu, nó cực kỳ thuận tiện . Trong một thời gian dài, HTML không có <menu>
, <section>
hoặc <aside>
các yếu tố. Tuy nhiên, các trang web và ứng dụng ở khắp mọi nơi có menu, phần và thanh bên. Làm sao? Bởi vì các thành phần danh sách HTML ( <ul>
, <ol>
và <li>
) dễ dàng được sử dụng lại và một số cách sử dụng được phân loại lại thành các bộ chứa và các phần của menu. <div>
thể đứng trong cho <article>
, <section>
, <aside>
, <figure>
, và <summary>
. HTML5 đã bắt kịp và thêm các yếu tố bespoke cho một số trường hợp sử dụng chưa được giải quyết trước đó. Đây là một bản cập nhật và chỉnh sửa tuyệt vời để phù hợp với việc sử dụng phổ biến trong thế giới thực.
Mặc dù vậy, vẫn còn rất nhiều thành ngữ phổ biến không có thẻ bespoke hoặc mô hình ngữ nghĩa . Những thứ như trang, chú thích, trích dẫn kéo, luồng nhận xét, hình đại diện liên quan, "thích", tiêu đề phụ và phụ đề mà tôi và nhiều người khác sử dụng hàng ngày. Chúng ta phải làm gì? Những gì chúng ta có thể. Tái sử dụng các yếu tố "gần nhưng không chính xác" với các lớp và id để hỗ trợ và hỗ trợ công việc của chúng tôi trong năm hoặc mười năm tiếp theo hoặc trong nhiều năm cho đến khi HTML6 hoặc HTML7 bắt kịp. Về mặt lý thuyết, HTML / CSS là "X, nhưng chúng tôi sẽ gắn thẻ nó và làm việc với nó như một khả năng Y" rất tiện lợi. Không thể thiếu, thật đấy. Nó làm cho nội dung Web trở nên linh hoạt và không dễ vỡ.
Đi xa hơn nữa, "đánh dấu ngữ nghĩa" có những hạn chế không thể khắc phục . Điều đó đúng với bất kỳ loại cấu trúc nghiêm ngặt nào bạn có thể tưởng tượng cho nội dung.
Các định dạng tiêu chuẩn không thể bao gồm toàn bộ sự giàu có của nhu cầu, mong muốn và sự đa dạng của con người. Họ sẽ luôn luôn "đứng sau đường cong" về những gì mọi người đang làm bây giờ . Làm thế nào họ đang đổi mới. Heck, HTML5 vẫn ở phía sau đường cong trên chú thích, tiêu đề phụ và các cải tiến in ấn khác của thế kỷ 17. Nó thiếu các tính năng cần thiết cho nhiều nhân viên thông tin và người tạo nội dung. Thế là chúng tôi ứng biến.
Thậm chí không thay đổi nhiều hơn là thông tin không tuân theo một bộ quy tắc. Chắc chắn, nó bắt đầu như một cái bàn. Nhưng có lẽ bạn chỉ muốn tóm tắt - nói tiêu đề cho mỗi hàng, như một danh sách. Có thể nó chiếm quá nhiều không gian và bạn muốn nó như một danh sách nội tuyến tiết kiệm không gian. Có thể bạn có hồ sơ bạn chỉ muốn tiêu đề, sau đó nếu bạn nhấp vào, bạn sẽ thấy các chi tiết cơ bản. Hoặc bạn muốn các mục trong một danh sách hoặc bảng phức tạp được nhóm lại và phân loại. Ồ, bây giờ bạn muốn nó chuyển đổi và phân loại một cách khác nhau. Hoặc các giá trị được vẽ như một biểu đồ thanh. Đây là những thứ được thực hiện mỗi ngày trong các ứng dụng, bảng tính và trực quan hóa dữ liệu. Chúng là một phần và phần của bối cảnh thông tin của chúng tôi, và những gì chúng tôi muốn và cần làm trên web. Con người liên tục tổ chức lại hình thức và trình bày dữ liệu của chúng tôi. Nó không chỉ là một thứ, hoặc một định dạng / bố cục, hoặc một khái niệm. Đó là nấm, với ngữ nghĩa tùy thuộc vào hoàn cảnh và lựa chọn người dùng thực hiện tương tác. Có, đánh dấu văn bản là "nhấn mạnh" (<em>
), nhưng đó chỉ là một quy ước. Tôi đã làm việc trên các tài liệu với ít nhất nửa tá loại "nhấn mạnh" khác nhau. Chúng ta cần có khả năng tùy chỉnh và ánh xạ lại cho các mục đích sử dụng khác nhau, các cách hiểu khác nhau. Một loại nhấn mạnh HTML? Giảm đáng kể. Hạn chế. Giòn. Điều này cũng đúng đối với <table>
, <p>
vv
Thật tuyệt khi có các thẻ / yếu tố giúp tổ chức toàn bộ suy nghĩ của cộng đồng về "những gì đi đâu". Điều đó giúp thiết lập các quy ước và thành ngữ, và làm cho chúng ta tập thể hiệu quả hơn. Nhưng khả năng sắp xếp lại mọi thứ, để thiết kế lại và tái sử dụng các cấu trúc đó? Đó là một phần và phần của sự bao gồm của Web và thành công của nó.