【CSS】横並びのリストを作成する方法

Webサイトやブログのデザインにおいて、リストを横並びに表示する場面はよくあります。例えば、ナビゲーションメニューやタグ一覧などです。今回は、CSSを使って横並びのリストを作成する方法をいくつか紹介します。

flexboxを使用する

flexboxは、要素を柔軟に配置するためのレイアウトモデルです。横並びのリストを作成するのに非常に便利です。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        ul {
            display: flex;
            list-style-type: none;
            padding: 0;
            margin: 0;
        }
        li {
            margin-right: 10px; /* アイテム間のスペースを設定 */
        }
    </style>
    <title>Flexboxを使用した横並びリスト</title>
</head>
<body>
    <ul>
        <li>アイテム1</li>
        <li>アイテム2</li>
        <li>アイテム3</li>
        <li>アイテム4</li>
    </ul>
</body>
</html>

サンプル

  • アイテム1
  • アイテム2
  • アイテム3
  • アイテム4

inline-blockを使用する

display: inline-blockを使うと、要素をインライン要素のように扱いながら、ブロック要素のように幅や高さを指定できます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        ul {
            padding: 0;
            margin: 0;
            list-style-type: none;
        }
        li {
            display: inline-block;
            margin-right: 10px; /* アイテム間のスペースを設定 */
        }
    </style>
    <title>Inline-Blockを使用した横並びリスト</title>
</head>
<body>
    <ul>
        <li>アイテム1</li>
        <li>アイテム2</li>
        <li>アイテム3</li>
        <li>アイテム4</li>
    </ul>
</body>
</html>

サンプル

  • アイテム1
  • アイテム2
  • アイテム3
  • アイテム4

gridを使用する

CSS gridレイアウトを使用すると、非常に柔軟に要素を配置できます。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        ul {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); /* 各アイテムの幅を調整 */
            list-style-type: none;
            padding: 0;
            margin: 0;
            gap: 10px; /* アイテム間のスペースを設定 */
        }
    </style>
    <title>Gridを使用した横並びリスト</title>
</head>
<body>
    <ul>
        <li>アイテム1</li>
        <li>アイテム2</li>
        <li>アイテム3</li>
        <li>アイテム4</li>
    </ul>
</body>
</html>

サンプル

  • アイテム1
  • アイテム2
  • アイテム3
  • アイテム4

floatを使用する

古い方法ですが、floatを使用して横並びにすることもできます。この方法では、親要素のclearfixが必要になる場合があります。

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        ul {
            padding: 0;
            margin: 0;
            list-style-type: none;
        }
        li {
            float: left;
            margin-right: 10px; /* アイテム間のスペースを設定 */
        }
        ul::after {
            content: "";
            display: table;
            clear: both;
        }
    </style>
    <title>Floatを使用した横並びリスト</title>
</head>
<body>
    <ul>
        <li>アイテム1</li>
        <li>アイテム2</li>
        <li>アイテム3</li>
        <li>アイテム4</li>
    </ul>
</body>
</html>

サンプル

  • アイテム1
  • アイテム2
  • アイテム3
  • アイテム4

まとめ

CSSで横並びのリストを作成する方法をいくつか紹介しました。現代的なウェブデザインでは、flexboxやgridを使用することが推奨されます。これらの方法を使って、見栄えの良い横並びのリストを簡単に作成しましょう。