順序付きリストの番号のスタイルを設定しようとしています。背景色、境界線の半径、色を追加して、作業中のデザインと一致させたいと思います。
それは不可能だと思います。番号ごとに異なる画像を使用する必要があります。
ol li:first-child {list-style-image:url('1.gif')};
ol li:nth-child(2) {list-style-image:url('2.gif');}
etc...
より簡単な解決策はありますか?
順序付きリストの番号のスタイルを設定しようとしています。背景色、境界線の半径、色を追加して、作業中のデザインと一致させたいと思います。
それは不可能だと思います。番号ごとに異なる画像を使用する必要があります。
ol li:first-child {list-style-image:url('1.gif')};
ol li:nth-child(2) {list-style-image:url('2.gif');}
etc...
より簡単な解決策はありますか?
回答:
これは、CSSカウンターを:before
疑似要素と組み合わせて使用して行うことができます 。
ol {
list-style: none;
counter-reset: item;
}
li {
counter-increment: item;
margin-bottom: 5px;
}
li:before {
margin-right: 10px;
content: counter(item);
background: lightblue;
border-radius: 100%;
color: white;
width: 1.2em;
text-align: center;
display: inline-block;
}
<ol>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
</ol>
counter-reset: item;
それ以外の場合は、カウンタがネストされた<オール>でリセットされません、オールブロックに行く必要があります。
li
要素の本体が複数の行である場合のレンダリングはどうですか?
50%
、border-radius
(ではなく100%
)の値で十分です。(たとえば、Lea Verou、「border-radius:50%の奇妙なケース」、2010年10月30日を参照してください。)
li
position: relative;
次にそれを:before
与えてposition: absolute;
から使用しtop
、left
好きなように正確に配置します。
私は何か違うものを探していて、CodePenでこの例を見つけました。
これを試してください:http://codepen.io/sawmac/pen/txBhK
body {
font-size: 1.2em;
font-family: "Helvetica Neue", Helvetica, sans-serif;
margin: 50px;
}
.custom-counter {
margin: 0;
padding: 0;
list-style-type: none;
}
.custom-counter li {
counter-increment: step-counter;
margin-bottom: 5px;
}
.custom-counter li::before {
content: counter(step-counter);
margin-right: 20px;
font-size: 80%;
background-color: rgb(180, 180, 180);
color: white;
font-weight: bold;
padding: 3px 8px;
border-radius: 11px;
}
<ol class="custom-counter">
<li>This is the first item</li>
<li>This is the second item</li>
<li>This is the third item</li>
<li>This is the fourth item</li>
<li>This is the fifth item</li>
<li>This is the sixth item</li>
</ol>