デモ
リストタグ(ul / li)を使って、横並びメニューを作る方法です。
昔は float を使う方法が一般的でしたが、現在は Flexbox(フレックスボックス) を使うのが標準的なやり方です。
背景画像を使うことで、雰囲気のあるメニューを簡単に作ることができます。
CSS
CSS
.horizontal-menu {
display: flex; /* 横並びにする */
gap: 2px; /* メニュー間のすき間 */
margin: 0;
padding: 0;
list-style: none; /* リストマーカー非表示 */
}
.horizontal-menu li {
width: 300px; /* 各メニューの横幅 */
}
.horizontal-menu li a {
display: block; /* クリック範囲を広げる */
padding: 15px 0; /* 上下の余白 */
text-align: center; /* 文字を中央揃え */
font-weight: bold; /* 文字を太くする */
text-decoration: none; /* 下線を消す */
color: #ffffff; /* 文字色 */
background-color: #6699ff; /* 背景色 */
background-image: url("背景画像のURL");
border: 1px solid #0000cc; /* 枠線 */
border-radius: 0.5em; /* 角を丸くする */
}
.horizontal-menu li a:hover {
color: #0000cc; /* マウスを乗せた時の文字色 */
background-color: #ffffff; /* マウスを乗せた時の背景色 */
background-image: url("背景画像のURL");
}
HTML
HTML
<ul class="horizontal-menu">
<li><a href="リンク先URL">ここに文字</a></li>
<li><a href="リンク先URL">ここに文字</a></li>
</ul>
縦メニューにしたい場合
横並びをやめて、縦に並べたい時は、Flexbox の向きを変えるだけです。
CSS
.horizontal-menu {
flex-direction: column;
}
使い方のポイント
- 横並びは
display: flex;で指定 a要素をdisplay: block;にすることでボタン全体がクリックできるようになります- 背景画像を変えるだけで、デザインの印象が大きく変わります
この方法は 現在の主要ブラウザすべてに対応しています。レスポンシブ対応もしやすいです。
メニュー用の画像素材(576*70)

waterdrop70-1.jpg 576×70 18796b

waterdrop70-2.jpg 576×70 32731b

waterdrop70-3.jpg 576×70 11688b

waterdrop70-4.jpg 576×70 17187b

waterdrop70-5.jpg 576×70 16965b

butterfly1.jpg 576×70 32659b

butterfly2.jpg 576×70 40778b

butterfly3.jpg 576×70 32664b

green-flower1.jpg 576×70 30928b

green-flower2.jpg 576×70 29470b

green-flower3.jpg 576×70 29608b

green-flower4.jpg 576×70 31054b

zebra1.jpg 576×70 29304b

zebra2.jpg 576×70 31735b

zebra3.jpg 576×70 26587b

asterisk70.jpg 576×70 13873b
スタイルで横幅を指定する時に、576px 以上にすると画像の継ぎ目が出てしまいます。そんな大きなメニューは作られないと思いますが。
