λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μ›Ή(IT) 정보/css

CSS3 nth-child μš”μ†Œ κ°œλ³„μ μš©

by λ‹ˆλͺ¨λ„€ 2017. 8. 7.
λ°˜μ‘ν˜•


μ •λ ¬λœ μš”μ†Œμ˜ cssμ—μ„œ κ°œλ³„ μ •μ˜κ°€ κ°€λŠ₯ν•œ nth-child μž…λ‹ˆλ‹€.

νŠΉμ • μˆœμ„œμ— λ”°λ₯Έ μ •μ˜κ°€ κ°€λŠ₯ν•˜λ©° μ—¬λŸ¬κ°€μ§€ 방법을 ν†΅ν•˜μ—¬ 각 μš”μ†Œλ§ˆλ‹€ κ°œλ³„μ μœΌλ‘œ μ •μ˜κ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.


1. nth-child(숫자)둜 μˆœμ„œ μ •μ˜λ₯Ό λ‚΄λ¦½λ‹ˆλ‹€.

html

<ul>
    <li>nth-child(1)</li>
    <li>nth-child(2)</li>
    <li>nth-child(3)</li>
    <li>nth-child(4)</li>
    <li>nth-child(5)</li>
</ul>


css

li:nth-child(1) {background:#FFF}
li:nth-child(2) {background:#F00}
li:nth-child(3) {background:#00F}
li:nth-child(4) {background:#FF0}
li:nth-child(5) {background:#0F0}


  • nth-child(1)
  • nth-child(2)
  • nth-child(3)
  • nth-child(4)
  • nth-child(5)

μœ„μ™€ 같이 κ°œλ³„ li μš”μ†Œλ§ˆλ‹€ cssλ₯Ό μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.



2. nth-child(odd,even)둜 μˆœμ„œ μ •μ˜λ₯Ό λ‚΄λ¦½λ‹ˆλ‹€.

css

li:nth-child(odd) {background:#FF0}
li:nth-child(even) {background:#0F0}


  • μ˜ˆμ œν…μŠ€νŠΈ
  • μ˜ˆμ œν…μŠ€νŠΈ
  • μ˜ˆμ œν…μŠ€νŠΈ
  • μ˜ˆμ œν…μŠ€νŠΈ
  • μ˜ˆμ œν…μŠ€νŠΈ

oddλŠ” ν™€μˆ˜, even은 짝수 순으둜 μ •μ˜λ₯Ό λ‚΄λ € 리슀트 순으둜 ν•΄λ‹Ή cssλ₯Ό μž…ν˜€μ€λ‹ˆλ‹€.


3. nth-child(?n+?)둜 μˆœμ„œ μ •μ˜λ₯Ό λ‚΄λ¦½λ‹ˆλ‹€.

배열을 μ‚¬μš©ν• λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€. 4개의 이미지 λͺ©λ‘μ—μ„œ 4번째의 css에 ν•΄λ‹Ή cssλ₯Ό μ μš©ν•©λ‹ˆλ‹€.

html

<ul>
    <li>이미지</li>
    <li>이미지</li>
    <li>이미지</li>
    <li>이미지</li>
</ul>


css

li {width:24%; height:140px; margin-right:1.333%; background:#F63; float:left}
li:nth-child(4n+4) {margin-right:0;}


  • img
  • img
  • img
  • Img

가러리 κ²Œμ‹œνŒ μ‚¬μš©μ‹œ 각 λ§ˆμ§„μ˜ 간격을 λ„£λ‹€κ°€ 보면 제일 끝뢀뢄 이미지가 μ•„λž˜λ‘œ λ–¨μ–΄μ§€κ±°λ‚˜ λ”± λ§žμΆ”μ—ˆλ‹€κ³  해도 λ ˆμ΄μ•„μ›ƒμ— λ”± λ§žμ§€ μ•ŠλŠ” λ§ˆμ§„μ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ nth-child(4n+4)λ₯Ό ν†΅ν•˜μ—¬ ν•΄λ‹Ή λ§ˆμ§€λ§‰ li의 λ§ˆμ§„μ„ μ œκ±°ν•˜μ—¬ λ ˆμ΄μ•„μ›ƒμ— μ •ν™•νžˆ 맞좜 수 μžˆμŠ΅λ‹ˆλ‹€.

(4n+?)λ₯Ό 잘 μ‚¬μš©ν•˜λ©΄ νŠΉμ • 뢀뢄에 cssλ₯Ό μž…νž 수 μžˆμŠ΅λ‹ˆλ‹€. 보톡 dbμ—μ„œ λΆˆλŸ¬μ˜€λŠ” κ²Œμ‹œλ¬Όλ“€μ„ λ”°λ‘œ classλ₯Ό 쀄 수 없기에 이 속성은 ꡉμž₯히 μ€‘μš”ν•œ μš”μ†Œκ°€ 될 μˆ˜λ°–μ— μ—†μŠ΅λ‹ˆλ‹€.


nth-child 외에 μ²«λ²ˆμ§Έλ‚˜ λ§ˆμ§€λ§‰μ—λ§Œ μ‚¬μš©ν•˜λ €λ©΄ first-child, last-child 만 μ‚¬μš©ν•˜μ…”λ„ 같은 λ°©λ²•μœΌλ‘œ 적용이 λ©λ‹ˆλ‹€.

first-childλŠ” 첫번째 μ‹œμž‘ν•˜λŠ” ν•΄λ‹Ή μš”μ†Œμ— 적용.

last-childλŠ” λ§ˆμ§€λ§‰ ν•΄λ‹Ή μš”μ†Œμ— μ μš©ν•©λ‹ˆλ‹€.

이와같은 CSS둜 각 μš”μ†Œλ“€μ— classλ₯Ό μ μš©ν•˜λŠ” 일이 없도둝 ν•©μ‹œλ‹€.

λ°˜μ‘ν˜•

λŒ“κΈ€