주문 목록 번호의 스타일을 지정할 수 있습니까?


89

순서가 지정된 목록의 번호에 스타일을 지정하려고합니다. 배경색, 테두리 반경 및 색상을 추가하여 작업중인 디자인과 일치하도록하고 싶습니다.

여기에 이미지 설명 입력

나는 그것이 불가능하다고 생각하고 각 숫자에 대해 다른 이미지를 사용해야 할 것입니다.

ol li:first-child {list-style-image:url('1.gif')};
ol li:nth-child(2) {list-style-image:url('2.gif');} 
etc...

더 간단한 해결책이 있습니까?


3
내 데모에서 해결책을 찾을 수 있습니다. 여기 jsfiddle.net/viphalongpro/Hj8Nn BTW, 이것이 검색 이 불가능하다고 생각하지 않습니다. 먼저 검색 하면 많은 결과를 얻을 수 있습니다 . 이런 종류의 질문은 여러 번 물었다.
King King

1
정보에 대한 링크 1. codeitdown.com/ordered-list-css-styles 2. css-tricks.com/numbering-in-style 좋은 qtn이지만 약간의 검색으로 답을 얻었을 수도 있습니다
crafter

1
@KingKing - 나는 ... 다음 중복으로이 마킹 좋을 것
리 테일러

답변:


187

유사 요소 와 함께 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>


12
counter-reset: item;달리 카운터는 중첩 된 <OL>에서 재설정되지 않습니다, 팔자 블록에 가야한다.
Michael Klöpzig

2
좋은 해결책이지만 li요소 의 본문 이 두 줄 이상일 때 렌더링 은 어떻습니까?
cmhughes

stackoverflow.com/questions/13354578/… 에서와 같이 예를 들어`margin-left : -2.0em; width : -2.0em;`
cmhughes

원을 얻으려면 값이 아닌 50%for 값 이면 충분합니다. (참조, 예를 들어, 레아 베루, " 국경 반경의 호기심 경우 : 50 % ,"10 월 30 일 2010 년)border-radius100%
짐 래틀 리프

@cmhughes - 당신이 그렇게하기를 원한다면, 당신은을 줘야 할 것 li position: relative;, 다음을 위해 :before당신이 줄 것 position: absolute;사용 후와 topleft당신 등 정확하게 위치를.
마이크

25

저는 다른 것을 찾고 있었고 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>

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.