質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Q&A

解決済

3回答

3201閲覧

ヘッダを作る時に<nav>と<header>で違いは?

pecchan

総合スコア587

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

0グッド

0クリップ

投稿2020/09/30 07:52

初歩的な質問で恐縮です。

bootstrapでヘッダを実装しようと思いますが、<nav>でも<header>でも作れる事に気付きました。
何か違い、使い分け等があるのでしょうか?

html

1<nav class="navbar navbar-default"> 2 ・・・ 3</nav >

html

1<header class="navbar navbar-fixed-top navbar-inverse"> 2 ・・・ 3</header>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

<nav>: ナビゲーションセクション要素

現在の文書内の他の部分や他の文書へのナビゲーションリンクを提供するためのセクションを表します。ナビゲーションセクションの一般的な例としてメニュー、目次、索引などがあります。

<header>

導入的なコンテンツ、ふつうは導入部やナビゲーション等のグループを表します。見出し要素だけでなく、ロゴ、検索フォーム、作者名、その他の要素を含むこともできます。

意味合いとしてはこんな感じ。

Bootstrap的にはタグを限定していないので同じレイアウトが実現できるだけの話です。

.navbar { position: relative; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-align: center; align-items: center; -ms-flex-pack: justify; justify-content: space-between; padding: 0.5rem 1rem; }

投稿2020/09/30 07:56

m.ts10806

総合スコア80861

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2020/09/30 08:06

有難う御座います。 なるほど、タグを限定してない。 →試しにdivに変えてもイケました。
m.ts10806

2020/09/30 08:08

回答に引用してますが、意味合い的にはheaderはnavの上位要素だと解釈できます。 タグを限定してない、についてはこれも回答にBootstrapのコードを引用しています。
pecchan

2020/09/30 08:11

有難う御座います。 >意味合い的にはheaderはnavの上位要素だと解釈できます。 これ大事ですね!
m.ts10806

2020/09/30 08:12

あくまで「解釈」です。事実とは異なる可能性があります。
pecchan

2020/09/30 08:15

なるほど。実務経験ないので大変参考になります。
m.ts10806

2020/09/30 08:20

困ったときは公式を見る癖をつけると良いと思います。
guest

0

<nav>でも<header>でも作れる事に気付きました

これが「同じ表示になった」という意味でならその通りです。
bootstrap(というかCSS)の指定がclass="xxxxx"の部分を指しているためです。

<nav><header>については、それぞれ名前が表す通り「ナビゲーション」と「ヘッダー」で若干意味が異なります。

投稿2020/09/30 07:56

編集2020/09/30 07:57
nekoniki

総合スコア2411

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2020/09/30 08:07

有難う御座います。 あ、そうです。同じ表示になったので気になった次第です。 なるほど、CSSの指定なんですね。
guest

0

html4より前まで、従来では<header>を使用してヘッダーを作成しておりましたが
html5が登場してからはそれ専用の要素として<nav>が登場し区別がしやすくなったというものとなります。
規則性を重視する目的の要素であり、どちらを使用するのも問題なくヘッダーを作る事が出来ます。
またSEO対策としても加点の対象になるでしょう。

以下のURLが詳しく解説をしております。
5分でわかる! ここが変わったHTML5 レイアウト要素編

投稿2020/09/30 08:03

nto

総合スコア1438

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2020/09/30 08:08 編集

有難う御座います。 そういう経緯があったのですね。 html5移行は使い分け意識したが良さそうですね^^
miyabi_takatsuk

2020/09/30 08:16

> html4より前まで、従来では<header>を使用してヘッダーを作成しておりましたが 違います。 header要素もHTML5から勧告された要素です。
ex025

2020/09/30 08:26

miyabi_takatsukさんも書いていますが、headerはHTML5から仕様書に書かれている要素です。 HTML5ならヘッダーはheader要素を用いて、navはサイドバーやヘッダー内のメニューなどのために使用するべきです
pecchan

2020/09/30 08:31

miyabi_takatsukさん、 Chiba_mさん 有難う御座います。 header要素を用いて、ヘッダ内のナビメニューはnavを用いることにします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問