32
<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>

<nav>これらの両方を個別に回避する方が意味的に正しい<ul>ですか、それとも 1 つのナビゲーションで両方をラップする必要がありますか?

また、nav タグを使用してフッター メニュー項目を囲むのは適切でしょうか?

4

3 に答える 3

43

仕様を引用するには:

nav 要素は、他のページまたはページ内のパーツにリンクするページのセクション (ナビゲーション リンクを含むセクション) を表します。

ページ上のリンクのすべてのグループが nav 要素に含まれる必要はありません — 主要なナビゲーション ブロックで構成されるセクションのみが nav 要素に適しています。特に、フッターには、サービス条件、ホームページ、著作権ページなど、サイトのさまざまなページへのリンクの短いリストが含まれているのが一般的です。このような場合は、nav 要素を使用せずに footer 要素だけで十分です。

そのため、両方を 1 つの nav タグで自由にラップしてください。フッターをラップしないで、ここでフッタータグを使用してください:)

ここで仕様を読んでください: http://dev.w3.org/html5/spec/Overview.html#the-nav-element

于 2011-03-03T09:24:30.603 に答える
10

ナビゲーションの理由の検索は、何年も前から行われています。今すぐグーグルで検索すると、質問の冒頭にさかのぼる日付が見つかります。私がこれまでに見つけた nav の実際の用途の 1 つは、css のスタイルと関連付けることです。それを行うためのより良い方法があると言う前に、ページのマークアップを行うのはプログラマーだけではないことを考慮してください。生活のために Web ページをデザインするコマーシャル アーティストにとっては、クラスやサブクラスについて考えるよりも、1 つの単純なタグを使用する方が適切です。さまざまなグループの議論をしばらく見ていれば、私がこれについて非常に正しいと感じるでしょう。多くのページ開発者はスタイルがすべてです。彼らはアーティストであり、プログラマーではありません。

もう少し確認: HTML5 の新しい構造タグを見ると、委員会がページの主要な要素を明確に定義することを望んでいたことが簡単にわかります。主要な要素ごとに、外観と動作が異なる場合があります。典型的な Web ページをデザインしたい場合、誰かがすでにページ セクション タグに名前を付けていると非常に便利です。ナビゲーション セクションを提供するページの部分に nav タグを挿入します。それは何ですか?これは、フッターやサイドバーなど、既に定義されている他のセクションの 1 つではありません。これは、作成者がナビゲーション セクションがあると信じている場所を示すチュートリアルです。

それはいいです。他の何百万ものページと同じようなページを作成したい場合、私の唯一の関心事は、自分の色の選択と芸術的要素を他のものとは異なるものにすることです. プログラマーとして、私は常にそれを望んでいるわけではありません。想定された機能が必要とするものは何でも、論理的で使いやすい方法で実現できる柔軟性が必要です。難しいよりも簡単にできれば良いのですが。ですから、この話には 2 つの側面があることを示すために、少し対照的に説明します。私は、HTML5 でフレームセットとフレームが失われたことを嘆いています。iFrame は代用としては不十分です。

設計可能な構造や機能性をあまり気にせずにスタイルに関心のある勝者は、プログラミング言語ではない css に開発を押し込むことを常に望んでいました。RE: フレームが失われました。ほとんどの Web ページがテーブルで構成されていた時代までさかのぼるようです。ただし、ページ内のタグを使用するのではなく、css でテーブルを定義することを望んでいます。彼らは、動的ページの進行を妨げるために可能な限りのことをしているようです。ページ全体のリロードのみを許可して、物事を再構築します。(同じページ構造である画像から別の画像にフェードしたい場合は当てはまりません。)

質問に答えるのに必要以上のことを言ったかもしれませんが、全体的な文脈に少し広げておくと便利だと思いました。

于 2012-04-05T13:05:45.647 に答える
6

私はマーティンに同意します。それらを 1 つの nav 要素にラップします。

フッターに関しては、要素がサイト内を移動している限り、別の nav 要素を使用してください。

于 2011-03-03T09:27:37.430 に答える