λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ”₯ TIL

[CSS] 속성 μ„ νƒμž 정리

λ°˜μ‘ν˜•

[CSS] ν˜•μ œ μ„ νƒμž / μ†μ„±μ„ νƒμž

ν˜•μ œ μ„ νƒμž

  • 같은 λΆ€λͺ¨λ₯Ό κ°€μ§€λŠ” μš”μ†Œ.

1. 인접 ν˜•μ œ μ„ νƒμž

  1. μ„ νƒμž 사이λ₯Ό +λ₯Ό μ‚¬μš©ν•˜μ—¬ λ‚˜νƒ€λ‚Έλ‹€.
  2. μ•ž μš”μ†Œ λ°”λ‘œ λ’· μš”μ†Œλ§Œ 선택.
h1 + ul {
    color: red;
}

2. 일반 ν˜•μ œ μ„ νƒμž

  1. μ„ νƒμž 사이λ₯Ό ~λ₯Ό μ‚¬μš©ν•˜μ—¬ λ‚˜νƒ€λ‚Έλ‹€.
  2. μ•ž μš”μ†Œ 뒀에 μžˆλŠ” λͺ¨λ“  λ’· μš”μ†Œ 선택.
h1 ~ ul {
    color: red;
}


속성 μ„ νƒμž

  • 각 νƒœκ·Έκ°€ 가지고 μžˆλŠ” 속성에 μ ‘κ·Όν•˜λŠ” 방식.
  • μ μ ˆν•œ id와 class 이름이 없을 경우 μ• μš©ν•œλ‹€.

    속성 μ„ νƒμž(attribute selector)λŠ” HTML의 속성λͺ…κ³Ό 속성값을 μ„ νƒμžλ‘œ 지정할 수 μžˆλ‹€.
    <p style="color: red;">
    // p            νƒœκ·Έ(tag)
    // style        속성λͺ…(attribute)
    // color: red   속성값(value)


1. [attribute]

[속성λͺ…]

<p title="banana">속성λͺ…μ„ νƒμžλŠ” νƒœκ·Έμš”μ†Œμ™€ 같이 μ„ νƒμžλ‘œ μ‚¬μš©ν•  수 μžˆλ‹€.</p>
<p title="tomato">속성λͺ…이 μΌμΉ˜ν•΄λ„ νƒœκ·Έκ°€ λΆˆμΌμΉ˜ν•˜λ©΄ μ„ νƒλ˜μ§€ μ•ŠλŠ”λ‹€.</p>
<a href="https://www.google.co.kr" target="_blank">ꡬ글</a>
h1[title] {color: red; }
[href] { color: red; }

2. [attribute="value"]

[속성λͺ… + "속성값"]

<p class="tomato">속성λͺ…κ³Ό 속성값이 λͺ¨λ‘ μΌμΉ˜ν•˜λŠ” μš”μ†Œ μ„ νƒμžλ‘œ 지정.</p>
<li class="tomato">νƒœκ·Έμ™€ λ¬΄κ΄€ν•˜κ²Œ 속셩λͺ…κ³Ό 속성값이 μΌμΉ˜ν•˜λ©΄ 선택.</li>

 

3. [attribute~="value"]

[속성λͺ… ~= "속성값"]

곡백으둜 μž‘μ„±λœ ν•©μ„±μ–΄ κ°€λŠ₯.

<p title="faker">독립단어 κ°€λŠ₯.</p>
<p title="SKT1 faker">곡백으둜 μž‘μ„±λœ ν•©μ„±μ–΄λŠ” 상관없이 μ μš©λœλ‹€.</p>

 

4. [attribute*="value"]

[속성λͺ… *= "속상값"]

* 전체λ₯Ό μ„ νƒν•˜λŠ” 의미.

곡백, ν•˜μ΄ν”ˆ, 언더바 및 곡백없이 이어진 단어 쑰합에도 적용.

<p title="faker">독립단어 적용.</p>
<p title="SKT1-faker">ν•˜μ΄ν”ˆ, 언더바 적용.</p>
<p title="SKT1faker">곡백이 μ—†λŠ” 합성어도 κ°€λŠ₯.</p>

 

5. [attribute|="value"]

[속성λͺ… |= "속성값"]

κ³΅λ°±μ μš©μ•ˆλ¨.

ν•˜μ΄ν”ˆ(-)으둜 μ—°κ²°λœ 경우만 κ°€λŠ₯.

<p title="faker">λ…λ¦½λ‹¨μ–΄λŠ” 적용.</p>
<p title="faker-SKT1">ν•˜μ΄ν”ˆμœΌλ‘œ μ—°κ²°λ˜κ³  접두사에 있으면 적용.</p>
<p title="SKT1-faker">적용 λΆˆκ°€λŠ₯.</p>

 

6. [attribute^="value"]

[속성λͺ… ^= "속성값"]

곡백가λŠ₯. ν•˜μ΄ν”ˆ(-), 언더바(_) κ°€λŠ₯.

곡백이 μ—†λŠ” 합성어도 κ°€λŠ₯.

μ ‘λ‘μ‚¬μ—λŠ” κ°€λŠ₯.

<p title="faker">독립 λ‹¨μ–΄λŠ” 적용.</p>
<p title="SKT1-faker">ν•˜μ΄ν”ˆμœΌλ‘œ μ—°κ²°λ˜μ–΄λ„ μ ‘λ―Έμ‚¬λŠ” μ μš©μ•ˆλ¨.</p>
<p title="faker_SKT1">언더바가 있고 접두사에 있으면 적용.</p>
<p title="fakerSKT1">곡백이 μ—†λŠ” 합성어도 접두사에 μžˆμ„ 경우 적용.</p>
<p title="SKT1faker">곡백이 μ—†κ³  접미사 μžˆμ„ 경우 μ μš©μ•ˆλ¨.</p>

 

7. [attribute$="value"]

[속성λͺ… $= "속성값"]

곡백가λŠ₯. 곡백없어도 κ°€λŠ₯.

ν•˜μ΄ν”ˆ, 언더바 κ°€λŠ₯.

νŠΉμ • 단어가 뒀에 μžˆμ„ 경우(접미사) 속성값을 μ„ νƒμžλ‘œ μ§€μ •ν•˜κ³  싢은 경우 μ‚¬μš©.

<p title="faker">독립 λ‹¨μ–΄λŠ” 적용.</p>
<p title="faker SKT1">곡백으둜 μž‘μ„±λœ μ ‘λ‘μ‚¬μ—λŠ” μ μš©μ•ˆλ¨.</p>

 

 

정리

[class*='all-'] [class$='-ends'] li:first-child:nth-last-child(3),
[class*='all-'] [class$='-ends'] li:first-child:nth-last-child(3) ~ li { }

즉 all- λͺ…μœΌλ‘œ μ„€μ •λœ λͺ¨λ“  ν΄λž˜μŠ€μ™€ -ends 둜 λλ‚˜λŠ” 클래슀 λͺ…μ˜ li의 μ²«λ²ˆμ§Έμ™€ λ§ˆμ§€λ§‰μ—μ„œ μ„Έλ²ˆμ§Έ(즉 μžμ‹ )와,

μœ„μ˜ λͺ¨λ“  ν˜•μ œλ“€(li) 의 μŠ€νƒ€μΌμ„ μ§€μ •ν•΄μ€€λ‹€λŠ” λœ»μ΄λ‹€.

 

 

Reference

https://dasima.xyz/css-attribute-selector/

λ°˜μ‘ν˜•

'πŸ”₯ TIL' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

2021.04.07 // width calc() μ£ΌκΈ°  (0) 2021.04.07
2021.04.05  (0) 2021.04.05
2021.03.22  (0) 2021.03.22
[CSS] ν˜•μ œμš”μ†Œλ‘œ 갯수 μ•Œμ•„λ‚΄κΈ°  (0) 2021.03.18
[HTML] label νƒœκ·Έ / [jQuery] childern() , find()  (0) 2020.07.13