【CSS】「list-style」プロパティの使い方!【分かりやすい】
この記事はこのような方へ向けて書いています。
この記事で得られる知識!
- 「list-style」は何ができるプロパティなのか?
- 「list-style」の使い方!
- 「list-style」の使用例!
- 「list-style」を使う上での注意点!
この記事を読むことで、これらの知識が得られます。
この記事でサクッと「list-style」について学習しちゃって下さい!
「list-style」は何ができるプロパティなのか?
CSSの「list-style」プロパティは、リストアイテムの設定ができる3つのプロパティを一括で指定できる「一括指定プロパティ」です。
具体的には、ul要素や、ol要素で作るリストの、それぞれの項目の
- 「マーカーの種類」
- 「マーカーにどの画像を使うか」
- 「マーカーの位置」
の設定ができます。
このように、「list-style」を使うと、ul要素やol要素で作るリストの項目のマーカーの種類を変えたりする設定ができます。
リストの項目につく「マーカー」が上から順に、「黒丸」「白丸」「四角形」となっています。
「list-style」で一括指定できるプロパティは?
「list-style」で一括指定できるプロパティは、下記の通りです。
「list-style」で一括指定できるプロパティ!
- list-style-type
- list-style-image
- list-style-position
「list-style」を使うと、これら3つのプロパティに対して一括で値をセットすることができます。
「list-style-type」の使い方。
「list-style-type」を使うと、リスト項目に使われるマーカーの設定ができます。(円、四角、文字、など)
どんな値が使える?
「list-style-type」には、様々な値を使うことができます。
よく使う代表的なものは下記です。
- list-style-type: none;
- list-style-type: disc;
- list-style-type: circle;
- list-style-type: square;
- list-style-type: decimal;
「none」を使うと、マーカーは表示されません。
「disc」を使うと、「塗りつぶされた円形のマーカー」が表示されます。
「circle」を使うと、「枠線だけの円のマーカー」が表示されます。
「square」を使うと、「塗りつぶされた四角形のマーカー」が表示されます。
- 連番
- 連番
- 連番
「decimal」を使うと、「1から始まる連番」が振られます。
マーカーの色は?
マーカーの色は、特に何も設定しなければ、li要素の「color」プロパティの値と等しくなります。
li::marker {
color: blue;
}
マーカーの色と文字色の色を別々に設定するには、上記のように書けばOKです。
「::marker」としてあげて疑似要素の「color」プロパティの値を変更してあげれば、それがマーカーの色となります。
引用元:MDN Web Docs
https://developer.mozilla.org/ja/docs/Web/CSS/list-style-type
「list-style-type」には他にたくさんの値が設定できるので、気になる方は調べてみてください。
↑こちらのサイトにたくさん載っています。
グローバル値も使えます。
あとは、「list-style-type」に「unset」などの「グローバル値」も使えます。
「グローバル値」については、こちらの僕の記事で解説しています!気になる方はどうぞ!
【CSS】「グローバル値」とは?「initial」「inherit」「unset」「revert」【分かりやすい】
「list-style-type」の公式定義。
「list-style-type」の公式定義は下記の通りです。
「list-style-type」の公式定義!
- 初期値は、disc
- 継承は、あり
※「初期値は、disc」ですが、ol要素は「user agent stylesheet」によって「decimal」と指定されることが多いです。
「list-style-image」の使い方。
「list-style-image」を使うと、リストの項目のマーカーに「画像を使う」ことができます。
設定方法は、値に「url(画像ファイルへのパス)」みたいに書いてあげればOKです。
ul {
list-style-image: url("pengin_mini.png");
}
すると上の画像のように、マーカーに画像を使うことができます。
「list-style-image」に設定できる値は?
「list-style-image」に設定できる値は下記の通りです。
「list-style-image」に設定できる値!
- 使う画像
- 「none」というキーワード
これら2つです。
※「linear-gradient()」などのグラデーションを表す関数を使った指定も、それらが画像という扱いなのでOKです。
ul {
list-style-image: none;
}
「none」と指定すると、画像は何も設定されません。初期値です。
url関数の使い方!
ul {
list-style-image: url("pengin_mini.png");
}
ここで使ってる「url()」というものは、CSSに用意されている関数です。
使い方はシンプルで、()の中にファイルへのパスを書いてあげればOKです。
- 絶対指定
- 相対指定
どちらでもOKです。
ul {
list-style-image: url(img/pengin_mini.png);
}
こんな感じで、()の中に直接ファイルへのパスを書いてもOKです。
※ですが、フォルダ名にスペースが入っているフォルダを経由する場合は、引用符で囲まないと上手くいかないので注意してください。
ul {
list-style-image: url("image min/pengin_mini.png");
}
上の様な場合は、引用符で囲む必要があります。
グローバル値も使えます。
あとは、「list-style-image」に「unset」などの「グローバル値」も使えます。
「グローバル値」については、こちらの僕の記事で解説しています!気になる方はどうぞ!
【CSS】「グローバル値」とは?「initial」「inherit」「unset」「revert」【分かりやすい】
「list-style-image」の公式定義。
「list-style-image」の公式定義は下記の通りです。
「list-style-image」の公式定義!
- 初期値は、none
- 継承は、あり
「list-style-position」の使い方。
「list-style-position」を使うと、リスト項目の「マーカーの位置の設定」ができます。
「list-style-position」に設定できる値は?
「list-style-position」に設定できる値は、下記の通りです。
「list-style-position」に設定できる値!
- inside
- outside
この2つだけです!
「list-style-position」に「inside」を使う。
ul {
list-style-position: inside;
}
「list-style-position」に「inside」を使うと、マーカーはリスト要素の「中」に配置されます。
「list-style-position」に「inside」を使い、かつ、「padding」をつけると上のようになります。
「list-style-position」に「outside」を使う。(初期値)
ul {
list-style-position: outside;
}
「list-style-position」に「outside」を使うと、マーカーはリスト要素の「外」に配置されます。
「list-style-position」に「outside」を使い、かつ、「padding」をつけると上のようになります。
グローバル値も使えます。
あとは、「list-style-position」に「unset」などの「グローバル値」も使えます。
「グローバル値」については、こちらの僕の記事で解説しています!気になる方はどうぞ!
【CSS】「グローバル値」とは?「initial」「inherit」「unset」「revert」【分かりやすい】
「list-style-position」の公式定義。
「list-style-position」の公式定義は下記の通りです。
「list-style-position」の公式定義!
- 初期値は、outside
- 継承は、あり
「list-style」の使い方。
ul {
list-style: square inside;
}
「list-style」には、一括指定するそれぞれのプロパティの値を「半角スペース」もしくは「改行」で区切って書けばOKです。
値を省略すると、それぞれのプロパティの初期値が入る。
ul {
list-style: square;
}
ul {
list-style-type: square;
list-style-image: none;
list-style-position: outside;
}
上の1行の指定と、下の3行の指定は同じ意味になります。
「list-style」には、値を省略して書くことが可能で、省略された場合は、そのプロパティの初期値が入ります。
※なので予期せぬ上書きに注意してください。
「display: list-item」の要素に適用できる。
「list-style」および一括指定できる3つのプロパティは、「display: list-item」の要素にだけ適用することができます。
li要素には意識せず使える。
li要素はwebブラウザが予めスタイルをつけてくれる「user agent stylesheet」によって、「display: list-item」となるので、あまり意識しなくてOKです。
継承はありなので、ul、olに設定しておけばOK。
「list-style」の設定は、ul、olの要素に設定するのが一般的です。
もちろんli要素に設定してもOKですが、リストごとにスタイルは共通させることが多いので、ul、olに設定するのがいいのかなと思います。
dlの中に入れる、dt、ddは予め「display: list-item」とならないので、注意!
dlの中に入れる、dt、ddは予め「display: list-item」とならないことが多いので、「list-style」を使うなら、「display: list-item」の設定が必要です。
div要素なども「display: list-item」と設定すれば、「list-style」が適用される。
li要素じゃなくても、「display: list-item」と設定すれば、「list-style」を適用することができるので、使わないと思いますが、div要素に「list-style」の設定をすることも可能です。
ですがSEO的に、それがリストならしっかりul,olタグを使ってマークアップするのがいいと思うので、これは非推奨です。
「list-style」が効かない?使用上の注意点とは。
「list-style」が効かない!という時にのために、予めミスりそうな箇所を書いておきますね。
予期せぬ上書きに注意する。
ul {
list-style-position: inside;
list-style: square;
}
このように書くと一見上手くいきそうです。ですがこれだと「inside」が効きません。
「list-style」の設定をする時に、「list-style-position」の値を省略しています。なのでここで初期値の「outside」が入ってきちゃうからですね。
このような意図しない上書きに注意してください。
ul {
list-style: square;
list-style-position: inside;
}
このように「list-style-position: inside;」の設定を下の書いてあげればOKです。これなら、上書きされることはありません。
まず「 list-style」で大まかに指定して、それから「list-style-position」で細かく指定する感じです。
「display: list-item」に設定しているか?
先ほどもちらっと書きましたが、「list-style」および一括指定できる3つのプロパティは、「display: list-item」の要素にだけ適用することができるので、もし上手く効かない場合は、しっかり「display: list-item」となっているか確認してみてください。
特に何も設定しなければ、li要素はwebブラウザが予めつけてくれる「user agent stylesheet」によって、「display: list-item」となるので、あまり意識しなくてOKだと思いますが、自分で書いたCSSによって、li要素に「display: list-item」以外の設定がされていると、上手く効かないので、一応この知識も知っておいてね!
ブラウザの対応状況。
引用元:https://caniuse.com/?search=list-style
ブラウザの対応状況を調べるには、「Can I use」というWebサイトを参照するといいと思います。
「background」は、主要ブラウザでは対応しているようなので、安心して使って大丈夫だと思いますね。
最新の情報は、上記のリンクから「Can I use」へアクセスして確かめてみてください。
公式定義について。
「list-style」の公式定義は下記の通りです。
「list-style」の公式定義!
- 初期値は、それぞれのプロパティの初期値。
- 継承は、あり
参考リンク。
仕様書。
https://drafts.csswg.org/css-lists/#list-style-property
MDN。
https://developer.mozilla.org/ja/docs/Web/CSS/list-style
Can I use
https://caniuse.com/?search=list-style
あわせて読みたい記事。
大学生が夏休みにweb制作で13万円稼ぐまでにやったこと。【経験談】
まとめ。
「list-style」はリストアイテムの設定ができる3つのプロパティを一括で指定できる「一括指定プロパティ」。
「list-style」で一括指定できるプロパティ!
- list-style-type
- list-style-image
- list-style-position
「list-style」の公式定義!
- 初期値は、それぞれのプロパティの初期値。
- 継承は、あり
「list-style」が上手く効かない場合に考えること!
- 予期せぬ上書きが起きてないか?
- 「display: list-item」に設定しているか?
ではまた!