CSSでのメニュー作成
このレッスンでは、ウェブサイトのメニューを作成する練習をします。 例として、以下のようなメニューを作成してみましょう:
まず最初に、HTML部分を作成する必要があります。 メニューのリンクを配置したdivを作成しましょう:
<div id="menu">
<a href="#">link text 1</a>
<a href="#">link text 2</a>
<a href="#">link text 3</a>
<a href="#">link text 4</a>
<a href="#">link text 5</a>
</div>
サンプルで見られるように、メニューのリンクの1つが強調表示されています。
これは、そのメニュー項目に対応するサイトページに現在いることを示しています。
このようなページは、通常クラス active を使用して強調表示します:
<div id="menu">
<a href="#">link text 1</a>
<a href="#" class="active">link text 2</a>
<a href="#">link text 3</a>
<a href="#">link text 4</a>
<a href="#">link text 5</a>
</div>
それでは、リンクを横一列に並べてみましょう:
#menu {
display: flex;
}
リンクのスタイルを記述します:
#menu a {
margin-right: 5px;
padding: 10px;
font: 15px Arial;
text-decoration: none;
color: #1437AD;
border: 1px solid #1437AD;
background-color: white;
}
リンクにホバー時の反応を追加しましょう:
#menu a:hover {
color: blue;
border: 1px solid blue;
background-color: #F5F6FA;
}
アクティブなリンクの見た目は、ホバー時のリンクと一致しています。 これらのスタイルをまとめましょう:
#menu a:hover, #menu a.active {
color: blue;
border: 1px solid blue;
background-color: #F5F6FA;
}
コードをまとめると、メニューのコードが完成します:
<div id="menu">
<a href="#">link text 1</a>
<a href="#" class="active">link text 2</a>
<a href="#">link text 3</a>
<a href="#">link text 4</a>
<a href="#">link text 5</a>
</div>
#menu {
display: flex;
}
#menu a {
margin-right: 5px;
padding: 10px;
font: 15px Arial;
text-decoration: none;
color: #1437AD;
border: 1px solid #1437AD;
background-color: white;
}
#menu a:hover, #menu a.active {
color: blue;
border: 1px solid blue;
background-color: #F5F6FA;
}