ダウンロード サンプルファイル (8.7 KB)
リストのテキストをボタンのようにスタイリングする
先ほどは画像を横並びにしましたが、今度は、テキストをボタンのようにスタイリングしてみましょう。
サンプルのHTMLコードは次のようになります。
<ul id="sample06"> <li><a href="#">リスト1</a></li> <li><a href="#">リスト2</a></li> <li><a href="#">リスト3</a></li> <li><a href="#">リスト4</a></li> <li><a href="#">リスト5</a></li> </ul>
リスト項目は5個あるので、ul要素を600pxの幅とした場合、5等分するとli要素の幅は120pxになります。width:120pxと指定したうえで、float:leftを指定します。さらにテキストを中央揃えにするためにtext-align: centerを指定します。
ul#sample06 {
width: 600px; /* 幅600px */
margin: 0 auto 20px auto;
}
ul#sample06 li {
width: 120px; /* 幅120px */
float: left; /* 左に配置 */
text-align: center; /* テキストを中央揃え */
}
図13は、分かりやすくするために、li要素にグレーの背景色を付け、a要素にredのボーダーを指定したものです。120px幅のボタンになるようにスタイリングしたいのですが、グレーの領域にマウスカーソルを持っていっても反応しません。
a要素はインライン要素のため、これをdisplay: blockとしてブロックレベル表示にすることで、クリッカブル領域が親要素(li要素)の幅120pxまで広がります。
ul#sample06 li a {
border: 1px solid red;
display: block;
}
ここまでできたら、a要素をボタンに見えるようにスタイリングします。クリックできる領域であることを表現するには、グラデーションやボーダーで立体的に装飾すると良いでしょう。
図15のように、ボタンの上と左ボーダーを背景より明るく、右と下ボーダーを背景より暗くすると凸を表現することができます。押したときの表現はその逆で、左と上ボーダーを暗く、右と下ボーダーを明るくします。
ul#sample06 li a {
display: block; /* ブロックレベル表示 */
padding: 10px 0;
background-color: #3399cc;
color: #fff;
border-top: 1px solid #99ccff;
border-left: 1px solid #99ccff;
border-right: 1px solid #006699;
border-bottom: 1px solid #006699;
text-decoration: none;
font-weight: bold;
}
ul#sample06 li a:hover, ul#sample06 li a:active { /* ホバー時,アクティブ時 */
background-color: #336699;
border-top: 1px solid #006699;
border-left: 1px solid #006699;
border-right: 1px solid #99ccff;
border-bottom: 1px solid #99ccff;
}
まとめ
本記事では、リストのスタイリングでよく使われるテクニックを紹介しました。同じリスト要素でもボタン風にしたり、マーカーを付けたりと多様な表現ができることをお分かりいただけたと思います。
次回は、CSSを使ったテーブルのスタイリング方法をご紹介します。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 宮本麻矢(ミヤモト マヤ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア




