list-styleで括弧付の数字を振りたいときという記事を見まして、まさにこれがやりたかったわけですが、応用もできるよ、ということで、h2タグを使った例が紹介されていました。
h2 { counter-increment : chapter ; } h2:before { content : "第" counter(chapter) "条" ; }
これって俺の好きなdl, dt, ddで使えるやん!と思った次第です。
なんでこれを使いたくなったかというと、利用規約とかを整形している最中だったのですが、番号振るのが億劫だったのです。
以下、sassです。dtが出る度に自動で条を振ってくれます。括弧が必要だったら付ける程度で。
あと、dd要素内でol liの入れ子があったらよきに計らってくれます。
入れ子先で括弧付き番号を振ってくれます。便利。
dl { dt { font-weight: bold; counter-increment: chapter; &:before { content: "第" counter(chapter) "条(" } &:after { content: ")" } } dd { margin: 0 0 1em 2em; &> ol > li { list-style: outside decimal; margin-left: 2em; &> ol > li { list-style-position: inside; counter-increment: cnt; &:before { display: marker; content: "(" counter(cnt) ") "; } } } } }
cssは奥が深いですのう…。