ëª ìë
ëª ìëë ë¸ë¼ì°ì ê° ì´ë ììì ê°ì¥ ì°ê´ë ìì±ì ì°¾ë ìë¨ì¼ë¡, ì´ë ê² ì°¾ì ìì±ì´ í´ë¹ ììì ì ì©ë©ëë¤. ëª ìëë ì¬ë¬ ì¢ ë¥ì CSS ì íìë¡ êµ¬ì±ë ì¼ì¹ ê·ì¹ì 기ë°í©ëë¤.
ì´ë»ê² ê³ì°ëëê°?
ëª ìëë 주ì´ì§ CSS ì ì¸ì ì ì©ëë ê°ì¤ì¹(weight)ë¡, ì¼ì¹íë ì íì ë´ ê° ì íì ì íì ìì ìí´ ê²°ì ë©ëë¤. ì¬ë¬ ì ì¸ì´ ëª ìëê° ê°ì ê²½ì°, CSSìì 맨 ëì ì¤ë ì ì¸ì´ ììì ì ì©ë©ëë¤. ëª ìëë ê°ì ììê° ì¬ë¬ ì ì¸ì ëìì´ ëë ê²½ì°ìë§ ì ì©í©ëë¤. CSS ê·ì¹ì ë°ë¼ ì§ì ëì ììë ììê° ë¶ëª¨ë¡ë¶í° ììë°ë ê·ì¹ë³´ë¤ íì ì°ì í©ëë¤.
ì°¸ê³ : 문ì í¸ë¦¬ ë´ ììì ê·¼ì ë(proximity, ê°ê¹ì)ë ëª ìëì ìí¥ì´ ììµëë¤.
ì íì ì í
ìë ì íìë ì íë³ë¡ ëª ìë를 ì¦ê°ìíµëë¤.
- ì í ì íì(
h1ë±) ë° ìì¬ ìì(:beforeë±). - í´ëì¤ ì íì(
.exampleë±), ìì± ì íì([type="radio"]ë±), ìì¬ í´ëì¤(:hoverë±). - ID ì íì(
#exampleë±).
ì ì ì íì(*), ì¡°í©ì(+, >, ~, " ", ||) ë° ë¶ì ìì¬ í´ëì¤(:not())ë ëª
ìëì ìí¥ì ì£¼ì§ ììµëë¤. (:not() ë´ë¶ì ì ì¸í ì íìë ìí¥ì ë¼ì¹©ëë¤)
https://specifishity.comìì ìì¸í ì 보를 íì¸í ì ììµëë¤.
ììì ì¶ê°í ì¸ë¼ì¸ ì¤íì¼(style="font-weight: bold"ì²ë¼)ì íì ì¸ë¶ ì¤íì¼ìí¸ì 모ë ì¤íì¼ì ë®ì´ì°ë¯ë¡ ê°ì¥ ëì ëª
ìë를 ê°ë ê²ì¼ë¡ ìê°í ì ììµëë¤.
!important ìì¸
!important ê·ì¹ì´ ì¤íì¼ ì ì¸ì ì¬ì©ë ê²½ì°, ì´ ì ì¸ì ë¤ë¥¸ ì ì¸ë³´ë¤ ì°ì í©ëë¤. ìë°í ë§í´ !important ìì²´ë ëª
ìëì ì무 ê´ë ¨ì´ ìì§ë§, ëª
ìëì ì§ì ìí¥ì 미칩ëë¤. ê·¸ë¬ë !important ì¬ì©ì ëì ìµê´ì´ê³ ì¤íì¼ìí¸ ë´ ìì°ì¤ë¬ì´ ì¢
ìì 깨ë¨ë ¤ ëë²ê¹
ì ë ì´ë µê² ë§ë¤ê¸°ì í¼í´ì¼ í©ëë¤. !important ê·ì¹ì¼ë¡ ì¶©ëíë ë ì ì¸ì´ ê°ì ììì ì ì©ë ê²½ì°, ë í° ëª
ìë를 ê°ë ì ì¸ì´ ì ì©ë©ëë¤.
ëªëª ê²½í ë²ì¹ë¤:
- íì !important를 ê³ ë ¤í기ë ì ì ëª ìë를 íì©í ë°©ë²ì ì°¾ìë³´ì¸ì.
- ì¸ë¶ CSS(Bootstrap ëë Normalize.css ê°ì ì¸ë¶ ë¼ì´ë¸ë¬ë¦¬ìì)를 ì¬ì ìíë íì´ì§ ì ì© CSSìë§
!important를 ì°ì¸ì. - íë¬ê·¸ì¸/매ìì
ì ìì±í ë
!importantë ì ë ì°ì§ ë§ì¸ì. - ì¬ì´í¸ ì ë° CSSìë
!important를 ì ë ì°ì§ ë§ì¸ì.
!important를 ì¬ì©íë ëì ì, ë¤ìì ê³ ë ¤íì¸ì:
-
CSS ì¢ ìcascadingì ë ì íì©íì¸ì.
-
ë ëª ìë(ëª íí) ê·ì¹ì ì°ì¸ì. ì í ì¤ì¸ ìì ìì íë ì´ìì ìì를 ëíëì¼ë¡ì¨ ê·ì¹ì ë ëª íí´ì§ê³ ë ëì ì°ì ìì를 ì»ìµëë¤:
html<div id="test"> <span>Text</span> </div>cssdiv#test span { color: green; } div span { color: blue; } span { color: red; }ììì 무ê´íê² ì²« ë²ì§¸ ê·ì¹ì´ ê°ì¥ ëª ííë¯ë¡ í ì¤í¸ë ë ¹ìì´ ë©ëë¤. (ëí, ìì ììì 무ê´íê² íëì ê·ì¹ì´ 빨ê°ì ê·ì¹ë³´ë¤ ì°ì í©ëë¤.)
-
(2)ì ë§ë ì ëë í¹ë³í ê²½ì°ë¡, ë ì´ì ëª ìí ììê° ìë ê²½ì° ê°ë¨í ì íì를 ì¬ë¬ ë² ì¨ì ëª ìë를 ëì¼ ì ììµëë¤.
css#myId#myId span { color: yellow; } .myClass.myClass span { color: orange; }
!important를 ì¬ì©íë ë
A) ì¸ë¼ì¸ ì¤íì¼ì ì¬ì ìí ë
ì¬ì´í¸ ì ì²´ì ìê°ì ìì를 ì¤ì íë ì ì CSS íì¼ì ê° ììì ì§ì ì ìë ì¸ë¼ì¸ ì¤íì¼ì ë®ì´ì°ì¼ ì ììµëë¤. ì¸ë¼ì¸ ì¤íì¼ê³¼ !important 모ë ë§¤ì° ëì ìµê´ì¼ë¡ ì·¨ê¸ëì§ë§, ê°ëì©ì !importantë¡ ì¸ë¼ì¸ ì¤íì¼ì ë®ì´ì¨ì¼ í ëê° ììµëë¤.
ì´ëë ì ì CSS íì¼ì ëªëª ì¤íì¼ì !importantë¡ ì¤ì í´ì ììì ì§ì ìì±í ì¸ë¼ì¸ ì¤íì¼ì ë®ì´ì¸ ì ììµëë¤.
<div class="foo" style="color: red;">ëë ë¬´ì¨ ìì¼ê¹?</div>
.foo[style*="color: red"] {
color: firebrick !important;
}
ì¬ë¬ JavaScript íë ììí¬ì ë¼ì´ë¸ë¬ë¦¬ìì ì¸ë¼ì¸ ì¤íì¼ì ì¶ê°í©ëë¤. ì´ë° ì¸ë¼ì¸ ì¤íì¼ì ë®ì´ì¸ ë ë§¤ì° êµ¬ì²´ì ì¸ ì íìì í¨ê» !important를 ì¬ì©í ì ììµëë¤.
B) ëª ìëê° ëì ê·ì¹ì ì¬ì ìí ë
#someElement p {
color: blue;
}
p.awesome {
color: red;
}
ì´ë»ê² íë©´ awesome 문ë¨ì´ #someElement ìì ìëë¼ë íì 빨ê°ê² ë§ë¤ ì ììê¹ì? !important를 ì¬ì©íì§ ìì¼ë©´ ì쪽 ê·ì¹ì ëª
ìëê° ëì¼ë¯ë¡ ìë쪽 ê·ì¹ë³´ë¤ ì°ì í©ëë¤.
!important를 ë®ì´ì°ë ë°©ë²
A) íê·¸, IDë í´ëì¤ë¥¼ ì¶ê°í¨ì¼ë¡ì¨ ëª ìëê° ë ëì !importantí CSS ê·ì¹ì ë§ëëë¤.
table td {
height: 50px !important;
}
.myTable td {
height: 50px !important;
}
#myTable td {
height: 50px !important;
}
B) í¹ì 기존ì ì íì ìëì ëê°ì ì íì를 íë ë ë§ëëë¤(ëª ìëê° ê°ì¼ë©´ ëì¤ì ì ìë ê·ì¹ì´ ì°ì íë¯ë¡).
td {
height: 50px !important;
}
C) ìëë©´ 기존 ê·ì¹ì ìì í´ì ìì !important를 ì¬ì©íì§ ìê² ë§ëë ê²ì´ ë ì¢ì ë°©ë²ì
ëë¤.
[id="someElement"] p {
color: blue;
}
p.awesome {
color: red;
}
ID를 ID ì íì ëì ìì± ì íìë¡ ì ííë©´ í´ëì¤ 1ê°ì ê°ì ëª ìëê° ë©ëë¤. ë ì íìì ëª ìëê° ê°ìì¡ì¼ë¯ë¡ ëì¤ì ì¤ë ê·ì¹ì´ ì°ì í©ëë¤.
ìëìì ìì¸í ì 보를 íì¸íì¸ì
- https://stackoverflow.com/questions/3706819/what-are-the-implications-of-using-important-in-css
- https://stackoverflow.com/questions/9245353/what-does-important-in-css-mean
- https://stackoverflow.com/questions/5701149/when-to-use-important-property-in-css
- https://stackoverflow.com/questions/11178673/how-to-override-important
- https://stackoverflow.com/questions/2042497/when-to-use-important-to-save-the-day-when-working-with-css
:is() ë° :not() ìì¸
모ë ì¼ì¹ ìì¬ í´ëì¤ :is() ë° ë¶ì ìì¬ í´ëì¤ :not()ì ëª
ìë ê³ì°ìì ìì¬ í´ëì¤ë¡ ì·¨ê¸ëì§ ììµëë¤. ê·¸ë¬ë ì´ë¤ ìì¬ í´ëì¤ ìì ëª
ìë ì íìë ì íì ì íì ì를 ê²°ì í ë ì¼ë° ì íìë¡ ì
ëë¤.
ë¤ì CSS ì¡°ê°ê³¼ HTMLì...
div.outer p {
color: orange;
}
div:not(.outer) p {
color: lime;
}
<div class="outer">
<p>This is in the outer div.</p>
<div class="inner">
<p>This text is in the inner div.</p>
</div>
</div>
...ë¤ìê³¼ ê°ì´ íë©´ì íìë©ëë¤.
:where() ìì¸
Experimental: ì´ ê¸°ë¥ì ì¤íì ì¸ ê¸°ë¥ì
ëë¤.
íë¡ëì
íê²½ìì ì¬ì©í기 ì ì ë¸ë¼ì°ì í¸íì± í를 주ì ê¹ê² íì¸íì¸ì.
ëª
ìë ì¡°ì ê°ì í´ëì¤ :where() ì ëª
ìëë íì 0ì
ëë¤.
ë¤ì CSS ì¡°ê°ê³¼ HTMLì...
div:where(.outer) p {
color: orange;
}
div p {
color: blueviolet;
}
<div class="outer">
<p>This is in the outer div.</p>
<div class="inner">
<p>This text is in the inner div.</p>
</div>
</div>
...ë¤ìê³¼ ê°ì´ íë©´ì íìë©ëë¤.
íí ê¸°ë° ëª ìë
ëª
ìëë ì íìì íí(form)를 기ë°ì¼ë¡ í©ëë¤. ìëìì ì íì *[id="foo"]ë ê·¸ ìì²´ë¡ë ID를 ì ííì§ë§ ì íìì ëª
ìë를 ê³ì°í ëë ìì± ì íìë¡ ì·¨ê¸ë©ëë¤.
ë¤ì ì¤íì¼ ì ì¸ê³¼ ë§í¬ì ì...
*#foo {
color: green;
}
*[id="foo"] {
color: purple;
}
<p id="foo">I am a sample text.</p>
...ë¤ìê³¼ ê°ì´ íìë©ëë¤.
ê°ì ììì ì¼ì¹íì§ë§ ID ì íìë ë ëì ëª ìë를 ê°ê¸° ë문ì ëë¤.
í¸ë¦¬ ê·¼ì ë 무ì
ììì 주ì´ì§ ì íìë¡ ì°¸ì¡°ë ë¤ë¥¸ ìììì ê·¼ì ë(proximity)ë ëª ìëì ìí¥ì ì£¼ì§ ììµëë¤.
ë¤ì ì¤íì¼ ì ì¸ê³¼ HTMLì...
body h1 {
color: green;
}
html h1 {
color: purple;
}
<html>
<body>
<h1>Here is a title!</h1>
</body>
</html>
...ìëì ê°ì´ ë ëë§ë©ëë¤.
ë ì ì¸ì ì íì ì í ê°¯ìê° ê°ì§ë§ html h1 ì íìê° ëì¤ì ì ì¸ëì기 ë문ì
ëë¤.
ì§ì ì¼ì¹ ììì ììë ì¤íì¼
í¹ì í ììì ì§ì ì ì¼ë¡ ì¼ì¹íë ì¤íì¼ì ììë ê·ì¹ì ëª ìëì 무ê´íê² íì ììë ì¤íì¼ë³´ë¤ ì°ì í©ëë¤.
ë¤ì CSSì HTMLì...
#parent {
color: green;
}
h1 {
color: purple;
}
<html>
<body id="parent">
<h1>Here is a title!</h1>
</body>
</html>
...ìì ìëì ê°ì´ ë ëë§ë©ëë¤.
h1 ì íìë í¹ì í ììì ì§ì ì¼ì¹íì§ë§ ì´ë¡ì ì íìë ê·¸ë ì§ ìê³ ë¶ëª¨ë¡ë¶í° ììë기 ë문ì
ëë¤.
ëª ì¸
| Specification |
|---|
| Selectors Level 4 > # specificity-rules > |
ê°ì´ 보기
- ëª ìë ê³ì°ê¸°: CSS ê·ì¹ì í ì¤í¸íê³ ì´í´í ì ìë ëíí ì¹ì¬ì´í¸ - https://specificity.keegan.st/
- CSS3 ì íì ëª ìë - http://www.w3.org/TR/selectors/#specificity
- CSS 주ì ê°ë