일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 일본생활
- 3개국어
- nth-last-child
- 프론트엔드
- atomicdesign
- 아이패드에어
- 프리랜서
- 대화
- 티스토리
- 자영업자
- 일이없어요
- 페이페이
- 일본
- 아토믹디자인
- 나눔펜스크립트
- web
- ipadpro
- 아이패드프로
- iPadAir4
- 반응형웹
- 워킹맘
- 마이나포인트
- 가족
- last-child
- html
- css
- 프리랜서의비애
- 마이넘버
- 잡담
- iPad
- Today
- Total
문과 출신 프리랜서 프론트엔드 개발자 in Japan
【CSS】편리한 자동 넘버링 counter 본문
css2에 추가된 CSS counters
CSS counters를 이용하면 텍스트를 추가한 연속 번호를 자동으로 편리하게 매길 수 있습니다.
예) 제1 장, 제2 장 또는 1.1,1.2와 같이 연속되는 숫자에 반복되는 문자나 기호, 숫자를 추가할 수 있습니다.
실제로 써보면 ol태그보다 더 자유롭게 스타일 적용도 할 수 있고 일일이 태그에 적지 않아도 되는 점이 편리해서 자주 쓰게 됩니다.
1. counter-reset
우선 CSS counters를 사용하려면 먼저 counter-reset 속성(초깃값 0)을 사용하여 초기화해야 합니다.. 주의할 점은 리셋은 카운터를 사용할 요소를 감싸는 부모 요소나 아니면 더 큰 요소(body)에 써야 그 안에서 1,2,3,4... 넘버링이 된다는 것이다. 만약 카운터를 사용하는 요소를 리셋해버리면 숫자는 증가하지 않고 그대로 숫자가 반복되기만 합니다.
.number_list {
counter-reset: number 0;
}
2. counter-increment
카운터의 증가수를 설정합니다. 1을 설정하면 1씩 증가하고 2를 설정하면 2씩 증가합니다. 허나 지금까지 1밖에 설정한 적이 없네....
3. content
표시형식을 지정하는데 카운터를 사용할 요소의 의사 요소 :before,:after의 content에 넘버링을 매길 수 있으며 그렇기 때문에 자유로운 스타일 적용을 할 수 있게 됩니다. 제일 유용하게 쓸 때가 동그라미 외곽이 있는 숫자! ①②...
|
|
<ul class="number_list"> <li class="number_item">사과</li> <li class="number_item">바나나</li> <li class="number_item">귤</li> <li class="number_item">포도</li> </ul> |
|
|
|
<ul class="circle_list"> <li class="circle_item"></li> <li class="circle_item"></li> <li class="circle_item"></li> <li class="circle_item"></li> <li class="circle_item"></li> </ul> |
|
|
|
<ul class="colorcircle_list"> <li class="colorcircle_item"></li> <li class="colorcircle_item"></li> <li class="colorcircle_item"></li> <li class="colorcircle_item"></li> <li class="colorcircle_item"></li> </ul> |
|
counters() 함수를 사용하여 자식 요소 안에 새 인스턴스를 자동으로 만들어 목차를 만드는데 편리합니다.
ol 요소마다 counter-reset을 하도록 하고 중첩된 다른 레벨의 ol에 기존의 숫자와 더불어 새로 시작하는 숫자를 더해나갑니다. counters(인스턴스, '-') ' '; 로 적으면 1-1, 1-2-1 이런 식으로 넘버링을 해나갈 수 있습니다.
|
|
<ol class="index"> <li class="index_item">항목</li> <li class="index_item">항목 <ol class="index"> <li class="index_item">항목</li> <li class="index_item">항목</li> <li class="index_item">항목 <ol class="index"> <li class="index_item">항목</li> <li class="index_item">항목</li> </ol> </li> </ol> </li> <li class="index_item">항목</li> <li class="index_item">항목</li> </ol> |
|
콘텐츠가 픽스된 정적인 페이지를 만들 때나 숫자가 1,2,3정도로 끝나는 건 안 써도 되겠지만
카운터를 쓰면 좋은 점이 더 많은 것같다. 1번의 내용과 2번의 내용을 바꾼다 하였을 때, 텍스트만 바꿔주면 숫자를 바꿀 필요가 없고 이용 규약같이 숫자와 텍스트가 계속해서 반복될 때는 처음에 css만 설정해두면 숫자 형식은 신경 쓰지 않고 텍스트를 채워나가면 되기 때문에 일일이 수작업으로 넘버링을 하는 것보다 훨씬 수훨하다.
'Web' 카테고리의 다른 글
티스토리 반응형 스킨의 모바일 표시 (0) | 2020.09.14 |
---|---|
【CSS】제일 마지막 요소부터 세는 nth-last-child() (2) | 2020.09.12 |
【CSS】요모조모 유용하게 쓰이는 nth-child() (0) | 2020.09.11 |
아토믹 디자인(Atomic Design)의 구조 이해(라이트ver) (2) | 2020.09.09 |