【CSS】OLタグの数字を丸くする

【CSS】OLタグの数字を丸くする
【CSS】OLタグの数字を丸くする

この記事では、OLタグで表示される数字を丸で囲う方法を説明する。

HTMLで数字をつけたリスト表現したい場合、通常OLタグを使う。OLタグとは「Ordered List」の略で、順序のあるリストであるということ。反対に順序のないリストは「Unordered List」と呼ばれ、お馴染みのULタグである。

OLタグの番号を丸で表現するCSSのやり方

HTMLの用意

次のようなHTMLを用意しよう。これにスタイルシートを当てて数字を丸で表現していく。

html
<ol>
    <li>コメント</li>
    <li>コメント</li>
    <li>コメント</li>
    <li>コメント</li>
</ol>

OLタグのHTML
OLタグのHTML

丸パターン1

OLタグの数字を丸でデザイン
OLタグの数字を丸でデザイン

数字を丸で囲ったパターンがこちら。

css
ol {
  counter-reset:num;
  list-style-type: none!important;
  padding:0;
  margin:0;
}
ol li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 30px;
}

ol li:before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  display:inline-block;
  background:transparent;
  border:#555 1px solid;
  color: #555;
  font-family: 'Arial',sans-serif;
  font-weight:bold;
  font-size: 14px;
  border-radius: 50%;
  left: 0;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  top: 10px;
}

丸パターン2

OLタグの数字を丸でデザイン
OLタグの数字を丸でデザイン

図のように、背景を色で埋めた丸のパターンがこちら。

css
ol {
  counter-reset:num;
  list-style-type: none!important;
  padding:0;
  margin:0;
}
ol li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 30px;
}

ol li:before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  display:inline-block;
  background: #555;
  color: #FFF;
  font-family: 'Arial',sans-serif;
  font-weight:bold;
  font-size: 14px;
  border-radius: 50%;
  left: 0;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  top: 10px;
}

解説

OLタグの数字をデザインするポイントは、デフォルトの数字を非表示にし、counterで新たに数字を作ってデザインしているところ。次のように最小限の構成で表示を試すとわかりやすい。ちなみにこのcounterはCSS2から存在している。

css
ol {
  counter-reset:num; /* num変数を0で初期化 */
  list-style-type: none!important; /* デフォルトの数字を非表示 */
}
ol li:before {
  counter-increment: num; /* numに1を加算 */
  content: counter(num); /* numの値を表示 */
}

CSSのカウンターを使って数字を表示
CSSのカウンターを使って数字を表示

関連記事

最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム

オススメ!Webデザインの本

デザインの目的は相手に伝えること。美しく装飾することだけがデザインではないのです。そして、デザインはセンスよりも知識が必要です。 ここではWebデザインをつくる上で、実際に役に立ったと思う本をご紹介します。

▼ コードを見ながら手を動かし、作りながら学べる内容になってます。Webデザインの知識からHTMLやCSSの技術的なことまでを、体系的に順序立てて学ぶことができます。実際の制作現場の流れが体験できる本です。「レスポンシブデザイン」「Flexbox」「CSSグリッド」についても学べます。

▼ デザインの本といえばこちら。とても有名な古典的名著です。デザインを良くするための4つの基本原則を徹底解説してます。DTPをはじめ、Webデザインやプレゼン資料づくりにも役立ちます。

SEO関連のオススメ書籍