[CSS] Counter

J.yeonΒ·2023λ…„ 12μ›” 18일
0
post-thumbnail

πŸ€”

ul μ•ˆ li μš”μ†Œμ— 번호λ₯Ό κΈ°μž…ν•˜λŠ” κ³Όμ •μ—μ„œ μ½˜ν…μΈ μ˜ 데이터 λ³€ν™˜μ— 상관없이 μˆœμ„œλ₯Ό λ§€κΈ°κ³  μ‹Άλ‹€λ©΄?


CSS λ§ŒμœΌλ‘œλŠ” ν˜„μž¬ μžμ‹ μš”μ†Œμ˜ μˆœμ„œμ— 따라 번호λ₯Ό ν• λ‹Ήν•˜λŠ” κΈ°λŠ₯이 μ—†λ‹€. κ·ΈλŸ¬λ‚˜ CSS μΉ΄μš΄ν„°(Counter)λ₯Ό μ‚¬μš©ν•˜μ—¬ νŠΉμ • μš”μ†Œμ— 번호λ₯Ό ν• λ‹Ήν•˜κ³  ν‘œμ‹œν•˜λŠ” 방법이 μžˆλ‹€.



CSS μΉ΄μš΄ν„°(Counter)λž€?

λ¬Έμ„œ λ‚΄μ—μ„œ νŠΉμ • μš”μ†Œμ˜ μˆœμ„œλ₯Ό μΆ”μ ν•˜κ³  κ·Έ 값을 μŠ€νƒ€μΌμ— μ μš©ν•˜λŠ” CSS κΈ°λŠ₯이닀.
counter-reset 및 counter-increment 속성을 μ‚¬μš©ν•˜μ—¬ μΉ΄μš΄ν„°λ₯Ό μ΄ˆκΈ°ν™”ν•˜κ³  μ¦κ°€μ‹œν‚¬ 수 μžˆλ‹€.
이λ₯Ό ν™œμš©ν•˜μ—¬ λͺ©λ‘ μ•„μ΄ν…œμ— 번호λ₯Ό μžλ™μœΌλ‘œ ν• λ‹Ήν•˜κ±°λ‚˜ νŠΉμ • μš”μ†Œμ— κ³ μœ ν•œ μ‹λ³„μžλ₯Ό λΆ€μ—¬ν•  수 μžˆλ‹€.

🍏λͺ¨λ“  λΈŒλΌμš°μ €μ—μ„œ μ‚¬μš© κ°€λŠ₯



/* 초기 μΉ΄μš΄ν„° 값을 0으둜 μ„€μ • */
ul {
    counter-reset: my-counter;
    list-style-type: none; /* κΈ°λ³Έ μˆœμ„œλ₯Ό μˆ¨κΉ€. */
}

li::before {
    /* μΉ΄μš΄ν„° 값을 증가 */
    counter-increment: my-counter;
    
    /* 번호λ₯Ό ν‘œμ‹œ */
    content: counter(my-counter) ". ";
    
    /* 기타 μŠ€νƒ€μΌλ§μ„ 적용 */
    font-weight: bold;
    margin-right: 5px; /* λ²ˆν˜Έμ™€ ν…μŠ€νŠΈ 간격 쑰절 */
}

μœ„ μ½”λ“œλŠ” ul μš”μ†Œμ˜ μžμ‹μΈ 각 li μš”μ†Œμ— μˆœμ„œλŒ€λ‘œ 번호λ₯Ό ν• λ‹Ήν•œλ‹€. μ—¬κΈ°μ„œ counter-reset은 μΉ΄μš΄ν„°λ₯Ό μ΄ˆκΈ°ν™”ν•˜κ³ , counter-incrementλŠ” μΉ΄μš΄ν„°λ₯Ό μ¦κ°€μ‹œν‚¨λ‹€.

content 속성은 ::before μœ μ‚¬ 클래슀λ₯Ό μ‚¬μš©ν•˜μ—¬ 각 li μš”μ†Œ μ•žμ— 번호λ₯Ό ν‘œμ‹œν•œλ‹€.

μ΄λ ‡κ²Œ ν•˜λ©΄ HTML ꡬ쑰에 따라 μžλ™μœΌλ‘œ λ²ˆν˜Έκ°€ λΆ€μ—¬λ˜λ©°, μˆœμ„œκ°€ λ°”λ€Œμ–΄λ„ λ²ˆν˜Έκ°€ μžλ™μœΌλ‘œ μ‘°μ •λœλ‹€.
CSS μΉ΄μš΄ν„°λŠ” 특히 λͺ©λ‘μ΄λ‚˜ νŠΉμ • μš”μ†Œμ˜ μˆœμ„œλ₯Ό μ‹œκ°μ μœΌλ‘œ ν‘œν˜„ν•˜κ³ μž ν•  λ•Œ μœ μš©ν•˜λ‹€.

단, λ™μ μœΌλ‘œ λ‚΄μš©μ΄ λ³€κ²½λ˜λŠ” κ²½μš°μ—λŠ” JavaScriptλ₯Ό μ‚¬μš©ν•˜λŠ” 것이 더 적합할 수 μžˆλ‹€.

profile
λ‚˜ν˜Όμžλ§Œ μœˆλ„μš°UPπŸ’»

0개의 λŒ“κΈ€