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を使用することが推奨されます。これらの方法を使って、見栄えの良い横並びのリストを簡単に作成しましょう。