CSS 적용 우선순위
조회수 1386회
-------------------------------HTML
<div class="big">
<div class="inside">Inside</div>
<div>without class</div>
<p>My name is...</p>
</div>
-------------------------------CSS
.big .inside {
color: red;
}
.big {
color: green;
}
안녕하세요. 위 코딩을 보면 클래스 inside에 색깔을 빨강으로 주고, 나중에 부모div에 다시 색깔을 지정하면 나머지는 다 바뀌는데 클래스지정한 div는 색깔이 그대로 인데.. 왜 바뀌지 않나요?
아직 초보라 ..순위문제인가요? 아 미리보기에 코드 결과만 보이네요..아.. 어떻게 해야하죠..?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
우선, 약간 틀린걸 수정하면 다음과 같아요. 여러개의 클레스를 같이 사용할 경우
,
를 넣어줘야합니다 :-).big, .inside { color: red; } .big { color: green; }
CSS가 적용되는 우선순위에 대해서, 동일한 레벨이라면 더 마지막에 선언된, 그러니까 아랫줄에 위치한 코드가 더 우선순위를 가지는 것은 맞습니다. 하지만 클레스를 동일 레벨이 아닌 더 하위 레벨의 테그에 적용했다면, 하위 레벨에 적용된 클레스가 반영됩니다. 결국 CSS적용 우선순위 에 대한 이야기라고 이해하면 좋을 것같아요.
따라서, 위의 코드의 가장 상위
<div class="big">
보다 그 하위의<div class="inside">
가 CSS 적용 우선순위가 높습니다. 만약 위의 코드에서color: red;
를 강제로 적용하고 싶다면color: red !important;
라고 입력할 수 있습니다. 다음과 같이요..big, .inside { color: red !important; } .big { color: green; }
사실 CSS 적용 순위는 더 정확하고, 체계적입니다. 그렇기때문에 이부분에 대해서 이해도가 적다면 어렵게 느껴질 수 있을 수 있어요. CSS에 대한 더 자세한 내용을 보고 싶다면 CSS적용 우선순위(from Opentytorials)을 확인해보세요.
- 아 적용순위였군요.. 추가적인 !important 사용법도 정말 감사드립니다. 알 수 없는 사용자 2016.12.29 14:15
- 새복많이 받으세요! 알 수 없는 사용자 2016.12.29 14:15
- 네! 연관님도 새해 복 많이받으세요. ㅎㅎ :-) 박기선 2016.12.29 14:19
댓글 입력