노드는 상위 노드와 같은 속성값을 갖게 만들어줄 수 있다. 이를 상속이라고 부르는데, margin, border, padding과 같은 배치와 관련된 속성들은 상속되지 않는다.
CSS는 여러가지 스타일정보를 기반으로 최종적으로 '경쟁'에 의해 적절한 스타일이 반영된다.
div ul li {
font-size: 10px;
}
위와 같은 코드인 경우, 'div 요소 하위 ul 아래 li 요소에 font-size를 10px로 설정한다'는 의미이다.
각 Selector별 CSS 상속 표기는 다음과 같다.
/* Type Selector - 공백으로 표기 */
h1 h2 h3 h4 {
...
}
/* Class Selector - .class명으로 표기 */
li.spacious.elegant {
...
}
/* ID Selector - #id명으로 표기 */
div #myId#identified {
...
}
h1 {
color: red;
text-align: left;
}
/* h1이 적용된 텍스트는 가운데 정렬됨 */
h1 {
text-align: center;
}
1. inline > internal > external
2. 구체적인 표현
/* red 적용 */
body > span {
color: red;
}
span {
color: blue;
}
Inline Style > !important > id > class > tag
<div class="foo" style="color: red;">나는 무슨 색일까?</div>
.foo[style*="color: red"] {
color: firebrick !important;
}
위와 같이 적용하면, .foo의 color는 firebrick이 된다.
잘 봤습니다. 좋은 글 감사합니다.