サブメニューの表示
CoddyのHTMLジャーニー「CSS Mastery」セクションの一部 — レッスン 18/43。
チャレンジ
簡単サブメニューが追加されましたが、常に見えた状態になっており、レイアウトも理想的ではないことにお気づきでしょう。
このレッスンでは、CSSを記述してデフォルトでサブメニューを非表示にし、実際のドロップダウンメニューのようにホバーしたときに表示されるようにします。また、見た目をすっきりさせるために、いくつかのシンプルなスタイルも追加します。
- デフォルトでサブメニューを非表示にする
.submenuに対してdisplay: none;プロパティを使用します。 - ホバー時にサブメニューを表示する
セレクタ.has-submenu:hover .submenuを使用し、display: block;を設定します。 - サブメニューを親項目の下に配置する
.submenuにposition: absolute;を設定します。
これが機能するように、.has-submenuにposition: relative;が設定されていることを確認してください。 - サブメニューの見た目を整えるスタイルを設定する
- 背景色を設定する
list-style: none;でデフォルトのリストスタイルを削除するpadding: 10px;を使用して各項目の内側に余白を追加する- 適切な幅を追加する
色、フォント、ボーダーなど、自由にカスタマイズして自分だけのものにしましょう!
自分で試してみよう
<html>
<head>
<title>Dropdown Menu</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<section class="menu-panel">
<h2>Hobby Club</h2>
<nav class="top-menu">
<ul class="menu-list">
<li class="menu-item">Photography</li>
<li class="menu-item">Cooking</li>
<li class="menu-item has-submenu">
Games
<ul class="submenu">
<li>Board Games</li>
<li>Card Games</li>
<li>Video Games</li>
</ul>
</li>
<li class="menu-item">Drawing</li>
<li class="menu-item">Music</li>
</ul>
</nav>
<div class="menu-controls">
<input type="text" class="search" placeholder="Search activities..." />
<button class="cta-button">Join a Club!</button>
</div>
<div class="info-section">
<p class="intro">Welcome to the Hobby Club community!</p>
<p>Joining a hobby club is a great way to meet people who share your interests.</p>
<p>You can learn new skills, have fun, and even discover talents you didn’t know you had!</p>
</div>
</section>
</body>
</html>