Các thẻ được phép bên trong <li> là gì?


132

Tôi đã tìm kiếm danh sách các thẻ có sẵn trong một <li>, nhưng tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào.

Có thể cho phép bất kỳ yếu tố khối HTML 4+ tuân thủ tiêu chuẩn nào trong chúng không?

Câu trả lời:


198

TL; DR : an <li>có thể chứa bất kỳ phần tử nào hợp lệ <body>.

Trong thông số kỹ thuật HTML 4.01 cho các danh sách, bạn sẽ tìm thấy trích xuất có liên quan của DTD:

<!ELEMENT LI - O (%flow;)* -- list item -->

Điều này xác định rằng <li>có thể chứa nội dung luồng , là tập hợp của tất cả các thành phần khốinội tuyến .

Thông số HTML5 cho một<li> cái giống nhau ở chỗ nó cũng cho phép mọi nội dung luồng .


7

Đó là một yếu tố cấp khối nên hầu như mọi thứ đều diễn ra. Rắc rối chỉ xảy ra khi bạn đặt các yếu tố cấp khối bên trong các yếu tố nội tuyến.


3
Thẻ P là các thành phần cấp khối, nhưng có thể không chứa bất kỳ thành phần cấp khối nào. "Bất cứ điều gì xảy ra" không hoàn toàn chính xác liên quan đến cấp độ khối: stackoverflow.com/questions/8397852/
Kẻ

Do đó ' pretty muchbất cứ điều gì đi'. Có một câu trả lời được nâng cấp 171 cho câu hỏi 7 năm tuổi này vì vậy tôi nghĩ mọi người sẽ ổn thôi
Scott Brown

4

Yup, khá nhiều. Bạn có thể có danh sách bên trong danh sách ( bên trong <li>hoặc chỉ lỏng bên trong <ol>/ <ul> danh sách bên trong phải nằm trong một<li> ), các thành phần khối và thành phần nội tuyến.

Đối với tôi nó sẽ không có ý nghĩa gì khi đặt <table>bên trong một <li>, nhưng ngay cả điều đó vẫn còn hiệu lực.


1

Bạn có thể sử dụng Dịch vụ xác thực đánh dấu của W3C để kiểm tra các trường hợp của bạn để biết liệu đánh dấu của bạn có hợp lệ hay không.

Trình xác nhận này kiểm tra tính hợp lệ đánh dấu của các tài liệu Web trong HTML, XHTML, SMIL, MathML, v.v.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.