2011-03-03 42 views
31
<ul class="mainMenu"> 
    <li><a href="#">Home</a></li> 
    <li><a href="#">Forum</a></li> 
    <li><a href="#" class="mainSelected">Construct</a></li> 
    <li><a href="#">Arcade</a></li> 
    <li><a href="#">Manual</a></li> 
</ul> 
<ul class="subMenu"> 
    <li><a href="#">Homepage</a></li> 
    <li><a href="#">Construct</a></li> 
    <li><a href="#" class="underSelected">Products</a></li> 
    <li><a href="#">Community Forum</a></li> 
    <li><a href="#">Contact Us</a></li> 
</ul> 

Có ngữ nghĩa chính xác hơn để có một số <nav> xung quanh cả hai số <ul> riêng lẻ hoặc một nav này sẽ bao gồm cả hai?Thẻ điều hướng HTML5 sử dụng chính xác

Cũng sẽ thích hợp khi sử dụng thẻ nav để bao quanh các mục menu chân trang của tôi?

Trả lời

43

Để trích dẫn thông số kỹ thuật:

Yếu tố nav đại diện cho một phần của một trang liên kết đến các trang khác hoặc đến các bộ phận bên trong trang: một phần với các liên kết điều hướng.

Không phải tất cả các nhóm liên kết trên một trang cần được trong một phần tử nav - chỉ phần đó bao gồm hàng hải lớn khối phù hợp với các yếu tố nav. Cụ thể, phổ biến là để chân trang có danh sách ngắn gồm liên kết đến các trang khác nhau của trang web, chẳng hạn như làm điều khoản dịch vụ, trang chủ và trang bản quyền. Phần chân trang là đủ cho các trường hợp như vậy, không có phần tử nav.

Vì vậy, vui lòng quấn cả hai trong một thẻ điều hướng. Đừng quấn chân nhưng sử dụng thẻ chân ở đây :)

Đọc thông số kỹ thuật ở đây: http://dev.w3.org/html5/spec/Overview.html#the-nav-element

6

Tôi đồng ý với Martin. Bọc chúng trong một yếu tố nav.

Về chân trang, có sử dụng một phần tử điều hướng khác, miễn là các phần tử đang điều hướng trong trang web.

+3

@Ian: thông số cụ thể đề cập đến chân trang là không cần phần tử điều hướng. –

+0

Vì vậy, họ làm, làm thế nào remiss của tôi. Odd mặc dù, vì nó vẫn chuyển hướng. –

+1

@ Vì vậy, chỉ để được rõ ràng, nó có thể hiển thị ** hai ** nav yếu tố trên bất kỳ một trang, miễn là họ cả hai rõ ràng đáp ứng các spec? –

10

Tìm kiếm lý do điều hướng đã diễn ra trong nhiều năm nay. Chỉ cần google xung quanh ngay bây giờ và bạn sẽ tìm thấy ngày trên câu hỏi mà quay trở lại giới thiệu của nó. Việc sử dụng thực tế cho nav mà tôi đã tìm thấy cho đến nay là kết hợp nó với phong cách trong css. Trước khi bạn nói, có những cách tốt hơn để làm điều đó, hãy xem xét rằng các lập trình viên không phải là người duy nhất đánh dấu trang. Đối với một nghệ sĩ thương mại thiết kế trang web để kiếm sống, tốt hơn là nên có một thẻ đơn giản hơn là suy nghĩ về các lớp và các lớp phụ. Nếu bạn đã theo dõi cuộc thảo luận giữa các nhóm khác nhau trong một thời gian, bạn sẽ có cảm giác rằng tôi rất có thể đúng về điều này. Nhiều nhà phát triển trang là tất cả về phong cách - họ là nghệ sĩ, không phải lập trình viên.

Xác nhận thêm một chút: Nếu bạn xem các thẻ cấu trúc mới trong HTML5, bạn có thể dễ dàng có ý tưởng rằng ủy ban muốn xác định rõ các yếu tố chính của trang. Mỗi yếu tố chính có thể nhìn và hành xử khác nhau. Nếu bạn muốn thiết kế một trang web điển hình, thì có thể khá thuận tiện nếu ai đó đã đặt tên cho các thẻ phần của trang để bạn có thể tiếp cận ngay với công việc tạo kiểu cho chúng. Ném vào thẻ nav trong phần của trang nơi bạn cung cấp phần điều hướng. Cái gì thế, bạn hỏi? Nó không phải là một trong những phần khác đã được xác định trước như footer hoặc sidebar. Here's a tutorial showing where the author believes the navigation section is - đúng nơi bạn muốn.

Tốt thôi. Nếu tôi muốn xây dựng một trang giống như một triệu trang khác, và mối quan tâm duy nhất của tôi là làm cho lựa chọn màu sắc của tôi và các yếu tố nghệ thuật khác với những người khác, toàn bộ mọi thứ là khá thường xuyên. Là một lập trình viên, tôi không luôn luôn muốn điều đó. Tôi muốn sự linh hoạt để thực hiện bất kỳ chức năng được hình dung nào cần một cách hợp lý và dễ sử dụng. Sẽ tốt hơn nếu điều đó dễ hơn là khó hơn.Vì vậy, chỉ để đưa ra một chút tương phản để cho thấy rằng có hai mặt của câu chuyện này - tôi than thở về việc mất bộ khung và khung trong HTML5. iFrames là sản phẩm thay thế kém.

Những người chiến thắng quan tâm đến phong cách mà không quan tâm nhiều đến cấu trúc có thể thiết kế và chức năng luôn muốn đẩy phát triển thành css, vốn không phải là ngôn ngữ lập trình. RE: mất khung hình, có vẻ như tôi sẽ được đẩy tất cả các con đường trở lại những ngày khi hầu hết các trang web được cấu trúc bởi các bảng; ngoại trừ họ muốn tôi định nghĩa các bảng trong css thay vì với các thẻ trong trang. Họ dường như đang làm mọi thứ có thể để chặn bất kỳ đầu nào trên các trang động; chỉ cho phép tải lại toàn bộ trang để cấu trúc lại mọi thứ. (Không đúng nếu bạn muốn mờ dần từ ảnh này sang ảnh khác có cùng cấu trúc trang.)

Có lẽ tôi đã nói nhiều hơn một chút so với yêu cầu để trả lời câu hỏi, nhưng tôi nghĩ sẽ hữu ích hơn khi mở rộng một chút vào bối cảnh tổng thể.

+4

Đã bỏ phiếu; câu trả lời hữu ích. WTF nó có -4? – mxcl

+7

Tôi tưởng tượng mọi người có thể đã downvoted vì họ không đồng ý với các ý kiến ​​bày tỏ. '

Các vấn đề liên quan