HTMLでナビゲーションメニューバーを作成する方法を現役デザイナーが解説【初心者向け】

初心者向けにHTMLでナビゲーションメニューバーを作成する方法について解説しています。これはサイトの主に上部に表示される、各項目への移動に使われるメニューです。ナビゲーションメニューバーの基本構成と書き方、スタイルの例を紹介します。ぜひ覚えておきましょう。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

HTMLでナビゲーションメニューバーを作成する方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

目次

そもそもHTMLの記述方法がわからない場合は、 HTMLの書き方について解説した記事を読むとさらに理解が深まります。

 

田島悠介

今回は、HTMLに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

ナビゲーションメニューバーを作成する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

ヘッダーメニューの必要性

多くのWebサイトには、視覚的にユーザー目的の情報にたどりつきやすいようヘッダーメニューが用意されています。

ヘッダーメニューは、今閲覧しているページがどのページか、ほかのページへの移動が容易になるなど、ユーザビリティ向上の目的があります。

 

下記、テックアカデミーのヘッダーメニューです。

PCサイトでは常に一覧をWebサイトに追従表示していますが、スマートフォンでは折り畳み式のメニューなどいろいろな工夫がされています。

ユーザビリティの高いWebサイトを作れるように、ヘッダーメニューに関して学習していきましょう。

 

・テックアカデミーPCサイト

 

・テックアカデミーSPサイト

 

[PR] HTML/CSSで挫折しない学習方法を動画で公開中

設置方法

 ヘッダーメニューはbodyの中の<header></header>内に記述します。

リスト形式に記述した各ページのアドレスを記述します。

アドレス自体はa要素に記述します。
そのリスト形式としたli要素をCSSで横並びになるように調整します。

aタグのhref属性で遷移させたいページなどのリンク遷移させることができます。

<header>
    <nav id="gnav">
        <ul class="inner">
            <li><a href="#">ホーム</a></li>
            <li><a href="#">1ページ目</a></li>
            <li><a href="#">2ページ目</a></li>
            <li><a href="#">3ページ目</a></li>
            <li><a href="#">会社概要</a></li>
        </ul>
    </nav>
</header>

 

スタイリング方法

CSSでの調整方法は、いろいろな方法があります。
  • floatを使う方法
  • displayを使う方法
  • Flexboxを使う方法

それぞれ詳細をみてみましょう。

 

floatを使う方法

floatの場合は1つ1つのli要素の横幅を適宜のwidthサイズに指定することで、横並びにできます。
#gnav{
    background-color: gray;
}
#gnav ul{
    overflow: hidden;
}
#gnav li{
    float: left;
    width: 200px;
}

 

displayを使う方法

displayプロパティを使う場合は、inlineを指定することで前後の要素で改行しなくなるため、横並びに要素を並べることができます。

#gnav{
    background-color: gray;
}
#gnav ul li{
    display: inline;
}

 

Flexboxを使う方法

Flexboxは親にあたる要素にdisplay:flex;の指定を追加することで、横並びに表示できます。

#gnav{
    background-color: gray;
}
.inner{
    display: flex;
}
#gnav li{
    width: 200px;
}

表示結果

 

まとめ

ここまでで、ナビゲーションメニューバーの基本的なHTMLの構成やCSSでの配置を学びました。

このほかにもtable-cellを使い、横並びにする方法などいろいろなやり方があります。

どれを使うかは、サイトのデザインや対応ブラウザなどで選ぶようにしましょう。

この機会にぜひ、CSSの装飾を変え、折り畳みメニューの実装などに挑戦してみましょう。

 

執筆してくれたメンター

永井 浩平(ナガイ コウヘイ)

バックエンド、フロント、クラウドなど幅広い業務を行ってきました。
DB全般とspring(Java)、フロント系言語が得意分野です。現在はBtoBtoC事業を行っている会社で
社内SEとして勤務している傍
テックアカデミーのフロントエンドコース・Javaコースのメンターとして活動しています。

大石ゆかり

内容が分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

HTMLを学習中の方へ

これで解説は終了です、お疲れさまでした。

  • つまずかず「効率的に」学びたい
  • 副業や転職後の「現場で使える」知識やスキルを身につけたい

HTMLを学習していて、このように思ったことはありませんか?

テックアカデミーのWebデザインコースでは、第一線で活躍する「プロのWebデザイナー」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。

合格率10%の選考を通過した、選ばれたWebデザイナーの手厚いサポートを受けながら、オリジナルのWebサイト制作を学べます。

まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役Webデザイナーから教わること」を実感してみてください。

時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!