【完全ガイド】CSSでUL/LIリストの箇条書きの色を変更する方法と、その他のデザインテクニック

2024-04-02

CSSのみでUL/LIリストの箇条書きの色を変更する方法

手順

  1. HTMLファイル
<ul>
  <li>項目1</li>
  <li>項目2</li>
  <li>項目3</li>
</ul>
  1. CSSファイル

以下のコードをCSSファイルに記述します。

ul {
  list-style: none; /* デフォルトの箇条書きを消去 */
}

li {
  list-style-type: circle; /* 箇条書きの種類を円に変更 */
  list-style-color: red; /* 箇条書きの色を赤に変更 */
}

ポイント

  • list-style: none; で、ul要素のデフォルトの箇条書きを消去します。
  • list-style-type で、箇条書きの種類を指定します。
    • circle: 円
    • square: 四角
    • disc: 丸
    • none: 箇条書きなし
  • list-style-color で、箇条書きの色を指定します。
  • 箇条書きの種類は、上記以外にも多数存在します。詳細は CSS list-style-type: URL CSS list-style-type を参照してください。
  • 箇条書きの色は、カラーコードやカラー名で指定できます。詳細は CSS color: URL CSS color を参照してください。
  • 箇条書きのサイズや位置などを調整したい場合は、list-style-imagemargin-left などのプロパティを使用します。詳細は CSS list-style: URL CSS list-style を参照してください。

CSSのみで、画像やspanタグを使わずに、UL/LIリストの箇条書きの色を変更する方法を紹介しました。

上記を参考に、リストデザインを自由に変更してみてください。




<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>箇条書きの色を変更</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <h1>サンプル</h1>
  <ul>
    <li>項目1</li>
    <li>項目2</li>
    <li>項目3</li>
  </ul>
</body>
</html>
ul {
  list-style: none;
}

li {
  list-style-type: circle;
  list-style-color: red;
}

このコードを実行すると、ブラウザ上で以下の様に表示されます。

ブラウザ上の表示

<h1>サンプル</h1>

* 項目1
* 項目2
* 項目3

その他のサンプル

  • 箇条書きの種類を変更
li {
  list-style-type: square;
}
li {
  list-style-color: blue;
}
li {
  list-style-type: circle;
  list-style-image: url(https://example.com/image.png);
}
li {
  list-style-type: circle;
  margin-left: 20px;
}

これらのコードを参考に、様々なデザインを試してみてください。




箇条書きの色を変更する他の方法

::marker 疑似要素は、リスト項目の箇条書き部分のみを対象にスタイルを設定できます。

ul li::marker {
  color: red;
}

このコードは、li 要素内の ::marker 疑似要素に対して color プロパティを適用し、箇条書きの色を赤に変更します。

list-style-image プロパティは、箇条書きの代わりに画像を表示できます。

li {
  list-style-type: none;
  list-style-image: url(https://example.com/image.png);
}

このコードは、list-style-typenone に設定してデフォルトの箇条書きを消去し、list-style-image で画像を指定します。

before 疑似要素は、要素の前にコンテンツを挿入できます。

li {
  list-style: none;
  position: relative;

  &::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 5px;
    width: 10px;
    height: 10px;
    background-color: red;
    border-radius: 50%;
  }
}

content プロパティは、要素の内容を変更できます。

li {
  list-style: none;
  padding-left: 20px;

  &::before {
    content: "•";
    color: red;
    font-size: 16px;
  }
}

上記で紹介した4つの方法は、それぞれ異なる利点と欠点があります。

  • ::marker 疑似要素は、最も簡単で効率的な方法ですが、古いブラウザでは対応していない場合があります。
  • list-style-image プロパティは、画像を使って自由度の高いデザインが可能ですが、画像ファイルの読み込み時間が長くなる場合があります。
  • before 疑似要素は、画像を使わずに様々なデザインが可能ですが、コードが複雑になる場合があります。
  • content プロパティは、シンプルなデザインに適していますが、複雑なデザインには不向きです。

目的に合った方法を選択して、箇条書きのデザインを自由に変更してみてください。


css layout colors


「screen」と「only screen」の違い

screenscreenは、幅広い画面デバイスを対象としたメディアタイプです。具体的には、以下のようなデバイスが含まれます。デスクトップパソコンノートパソコンタブレットスマートフォン違いscreenとonly screenの主な違いは、プリンターなどの非画面デバイスを除外するかどうかです。...


CSSだけでできる!div要素の内側にボーダーを表示する方法

CSS上記のように、div要素にborderプロパティを指定することで、その要素の外側にボーダーを表示することができます。しかし、borderプロパティは要素の外側にのみ適用されます。そのため、div要素の内側にボーダーを表示するには、別の方法が必要です。...


Intersection Observer APIで実現!スクロール可能なdiv要素を常に最下部に保持する方法

このプログラミング手法は、スクロール可能な div 要素を常に最下部に保持し、ユーザーがスクロールアップしない限り、新しいコンテンツが追加されても自動的にスクロールダウンさせるものです。これは、チャットウィンドウやライブフィードなどのアプリケーションでよく使用されます。...


【保存版】Twitter Bootstrap 3でボタンを中央に配置!3つの方法とサンプルコード

方法 1: .text-center クラスを使う最も簡単な方法は、ボタンを配置するコンテナに . text-center クラスを追加することです。このクラスは、そのコンテナ内のすべての要素を水平方向に中央揃えにします。方法 2: .btn-group クラスと...


Flexbox vs margin vs position: 要素を下部に配置する最適な方法は?

ここでは、Flexbox を使って要素を下部に配置する方法について解説します。Flexbox コンテナの align-items プロパティを使って、子要素を垂直方向に配置できます。このプロパティには以下の値を指定できます。flex-start: 子要素を上部に配置します。...


SQL SQL SQL SQL Amazon で見る



【CSS】自動で文字を折り返すには?改行するための2つのプロパティを紹介

メリットコードが簡潔になるデザインの自由度が高まる特定の条件下でのみ改行を適用できる方法主に以下の3つの方法があります。white-spaceプロパティnormal: 通常の改行処理pre: 空白文字と改行文字をそのまま表示pre-wrap: 長い単語が折り返される


サンプルコードを用いた解説:CSSでHTMLの順序付きリストにおける2行目以降のインデント維持

問題HTMLの順序付きリスト(ol要素)で、2行目以降の項目が1行目よりも大きくインデントされてしまうことがあります。これは、ブラウザのデフォルトのスタイルによるものです。解決策CSSを使用して、2行目以降の項目のインデントを維持することができます。以下の方法は、CSSのlist-style-typeプロパティとmargin-leftプロパティを使用します。