2011-03-03 10 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> 

は、個別にこれらの両方の<ul>周り<nav>を持っているために、より意味的に正しいです、または1つは、両方をラップNAV必要がありますか?HTML5のNAVタグ正しい使い方

また、ナビゲーションタグを使用してフッターメニュー項目を囲むことは適切でしょうか?

答えて

43

スペックを引用すると:ナビゲーションリンクのセクション :

のnav要素は、ページ内の部品に他のページや にリンクするページのセクション を表します。

ページ上のリンクのすべてのグループは、ナビゲーション要素であることを を必要としない - 唯一の主要なナビゲーションで構成するセクション ブロックはNAV 要素に適しています。特に、 のフッターには、 などのサイトのさまざまなページへの短いリスト、サービス規約として ページ、著作権ページなどがあります。フッタ 要素だけでは、nav要素を持たないこのような場合には十分です。

1つのnavタグで両方をラップすることをお勧めします。フッターを包むが、ここでフッターのタグを使用しないでください:)

はここに仕様を読む:http://dev.w3.org/html5/spec/Overview.html#the-nav-element

6

を私はマーティンに同意すると思います。 1つのnav要素にラップします。

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

+3

@Ian:仕様では、フッターがnav要素を必要としないと特に言及しています。 –

+0

彼らはそうしています。奇妙なことに、それはまだナビゲーションです。 –

+1

@Ianしたがって、両方の仕様が明確に一致していれば、いずれかのページに** 2つの** nav要素を表示することは可能ですか? –

10

navの理由の検索が今年何度も続いています。ちょうど今の周りにgoogleとあなたは、その紹介に戻る質問に日付を見つけるでしょう。これまでにnavで見つけた1つの実際の使用は、CSSのスタイルと関連付けることです。あなたが言う前に、それを行うためのより良い方法があります。プログラマーはページマークアップを行う唯一の人ではないと考えてください。生活のためにウェブページをデザインする商業的なアーティストには、クラスやサブクラスについて考えるよりも単純なタグを1つ持つ方がよいでしょう。あなたがしばらくの間、様々なグループの議論に従ってきたなら、あなたはこれについて私が非常にうまくいくと感じるでしょう。多くのページ開発者はすべてスタイルに関するものです。彼らはプログラマではなくアーティストです。

もう少し確認:HTML5の新しい構造タグを見ると、委員会がページの主要な要素を明確にしたかったという考えを簡単に得ることができます。それぞれの主要な要素は異なった見方をすることができます。典型的なWebページをデザインしたい場合は、誰かが既にページセクションタグに名前を付けているので、それらをスタイリングするビジネスに直接触れることができれば非常に便利です。ナビゲーションセクションを提供するページの部分のnavタグをスローします。それは何ですか、あなたは尋ねますか?フッターやサイドバーのような既に定義済みのセクションの1つではありません。 Here's a tutorial showing where the author believes the navigation section is - それはあなたがそれを期待する場所です。

これは問題ありません。何百万もの他のページと同じようなページを作りたいと思っていて、自分の色の選択や芸術的要素を他のものと違うものにすることが私の唯一の関心事です。プログラマとして、私はいつもそれを望んでいません。私は、想定された機能性が論理的で使いやすい方法で必要とするものを達成するための柔軟性を求めています。それが難しいのではなく、簡単ならばいいだろう。ですから、この話には2つの側面があることを示すためにちょっとしたコントラストを与えるだけです.HTML5でフレームセットやフレームが失われてしまうのは残念です。 iFramesは貧弱な代替品です。

設計可能な構造と機能性に大きな関心を払わずにスタイルに興味を持っている受賞者は、常にプログラミング言語ではないCSSに開発をプッシュしたいと考えていました。 RE:フレームが失われているように見えます。ほとんどのWebページがテーブルで構成されていた時代に押し戻されます。ただし、ページ内のタグではなくCSSで表を定義する必要があります。彼らは動的なページでどんな進路をも妨げるために可能なすべてをやっているようだ。完全なページリロードだけで物事を再構築することができます。 (同一のページ構造で画像間をフェードしたい場合は当てはまりません)

多分私はこの質問に答えるために必要以上に言ってきましたが、私は少し広げて全体的な文脈に

+4

投票しました。役に立つ答え。 WTFには-4がありますか? – mxcl

+7

私は人々が表現された意見に同意しないので、人々が下落したかもしれないと想像します。 '

関連する問題