In 'n' Out

知識を取り込み、そして発信する

リストの装飾

リストの見た目を整える

ここでは、文字そのものの見た目を整えるためのCSSを扱います。
テキスト装飾系のプロパティは、要素の配置や並びを変えるものではなく、displayで理解した箱の中で、文字をどのように見せるかを調整するためのものです。

なお、これらのプロパティの中には、インライン要素やインラインブロック要素では、見た目に反映されないものがあります。
これはCSSが効いていないのではなく、要素の表示形式による挙動の違いです。
以降のコード例と出力例では、ブロック要素を使って確認します。

リストマーカーの種類

list-style-typeは、リストマーカーの種類を指定するプロパティです。
黒丸・白丸・数字・アルファベットなど、表示される記号を変更できます。

構文

セレクタ{
    list-style-type:値;
}

list-style-typeには複数の値がありますが、ここでは代表的なものを紹介します。

disc

構文

セレクタ{
    list-style-type:disc;
}

discはulのデフォルトの黒丸です。

コード例

<ul class="type-disc">
    <li>discを指定したリスト</li>
</ul>
.type-disc{
    list-style-type: disc;
}

出力例

  • discを指定したリスト

ulを使用する場合、特別な理由がなければ指定する必要はありませんが、他の値からデフォルトに戻す際に使用します。

circle

構文

セレクタ{
    list-style-type:circle;
}

circleは白丸に変更します。

コード例

<ul class="type-circle">
    <li>circleを指定したリスト</li>
</ul>
.type-circle{
    list-style-type: circle;
}

出力例

  • circleを指定したリスト

デフォルトの黒丸と意図が違うリストにする際に使用します。

square

構文

セレクタ{
    list-style-type:square;
}

squareは黒四角に変更します。

コード例

<ul class="type-square">
    <li>squareを指定したリスト</li>
</ul>
.type-square{
    list-style-type: square;
}

出力例

  • squareを指定したリスト

デフォルトの黒丸では段落感が弱い際に使用します。

decimal

構文

セレクタ{
    list-style-type:decimal;
}

decimalはolのデフォルトの数字に変更します。

コード例

<ul class="type-decimal">
    <li>decimalを指定したリスト</li>
    <li>decimalを指定したリスト</li>
    <li>decimalを指定したリスト</li>
</ul>
.type-decimal{
    list-style-type: decimal;
}

出力例

  • decimalを指定したリスト
  • decimalを指定したリスト
  • decimalを指定したリスト

数字を使う際には意味合い的にolを使う方がいいのですが、順番ではなく項目として数字を使う場合に使用します。
デフォルトでは1から始まります。

lower-alpha

構文

セレクタ{
    list-style-type:lower-alpha;
}

lower-alphaは小文字のアルファベットに変更します。

コード例

<ul class="type-lower-alpha">
    <li>lower-alphaを指定したリスト</li>
    <li>lower-alphaを指定したリスト</li>
    <li>lower-alphaを指定したリスト</li>
</ul>
.type-lower-alpha{
    list-style-type: lower-alpha;
}

出力例

  • lower-alphaを指定したリスト
  • lower-alphaを指定したリスト
  • lower-alphaを指定したリスト

項目としてアルファベットを使う場合に使用します。
なお、デフォルトではaから始まり、大文字にすることはできません。

none

構文

セレクタ{
    list-style-type:none;
}

noneはリストの頭に何も付きません。

コード例

<ul class="type-none">
    <li>noneを指定したリスト</li>
    <li>noneを指定したリスト</li>
</ul>
.type-none{
    list-style-type: none;
}

出力例

  • noneを指定したリスト
  • noneを指定したリスト

一番使用するのがこのnoneです。
また、リストにdisplayを指定すると、マーカーが表示されなくなる場合があります。
これはlist-style-typeをnoneにしたのとは理由が異なります。

このようにリストマーカーには色々な種類がありますが、liの1つ目にdisc、2つ目にnoneなど複数の種類を1つのリストには使用できません。

リストマーカーの位置

list-style-positionは、マーカーをどこに表示するかを指定します。 マーカーを「外側」に出すか、「本文の内側」に含めるかを制御します。

構文

セレクタ{
    list-style-position:値;
}

list-style-positionの値はinsideとoutsideのみです。

outside

構文

セレクタ{
    list-style-position:outside;
}

outsideはリストのデフォルトの位置にマーカーが表示されます。

コード例

<ul class="position-outside">
    <li>outsideの配置<br>
    改行を入れるとマーカーの外側の位置を基準で折り返します。</li>
</ul>
.position-outside{
    list-style-position: outside;
}

出力例

  • outsideの配置
    改行を入れるとマーカーの外側の位置を基準で折り返します。

使用する際には指定する意味は特にありません。

inside

構文

セレクタ{
    list-style-position:inside;
}

insideはリストの内側にマーカーが表示されます。

コード例

<ul class="position-inside">
    <li>insideの配置<br>
    改行を入れるとマーカーの内側の位置で折り返します。</li>
</ul>
.position-inside{
    list-style-position: inside;
}

出力例

  • insideの配置
    改行を入れるとマーカーの真下の位置で折り返します。

レイアウト調整が難しくなる場合があるため、リストに長文を使うのには不向きです。
マーカーも本文の一部として扱われるため、行頭が揃わなくなる点に注意が必要です。

リストの省略形(ショートハンド)

list-styleは、マーカーの種類・位置・画像指定をまとめて指定できるプロパティです。

構文

セレクタ{
    list-style:値;
}

list-styleの値にはlist-style-type、list-style-positionの他に、紹介しなかったlist-style-imageを一気に指定できます。

コード例

<ul class="list-style">
    <li>リストの値を複数指定しました</li>
    <li>リストの値を複数指定しました</li>
</ul>
.list-style{
    list-style: square inside;
}

出力例

  • リストの値を複数指定しました
  • リストの値を複数指定しました

このようにリストマーカーを四角にして、マーカーの位置を内側に指定できます。
ただし、ショートハンドで複数の値を指定することは少なく、list-style-typeだけを指定する場面が多々あるため、list-styleにtypeだけを指定することが一般的になっています。
list-style-imageを使うと画像をマーカーとして指定できますが、 位置やサイズの調整が難しく、実務では扱いにくい場合があります。
より柔軟に指定したい場合は、セレクタの疑似要素を使った方法がよく用いられます。
この方法については後の「CSSセレクタの使い分け」にて取り扱います。