
CSS 선택자의 종류와 스타일 상속에 대해서 알아보자
CSS 선택자의 종류에는 기본, 복합, 가상 클래스, 가상 요소, 속성이 있다
ABC:hover
선택자 ABC 요소에 마우스 커서가 올라가 있는 동안 선택
ABC:active
선택자 ABC 요소에 마우스를 클릭하고 있는 동안 선택
ABC:focus
선택자 ABC 요소가 포커스 되면 선택
💡Focus 가능 요소
HTML의 대화형 콘텐츠가 Focus 가능 요소에 포함되며 종류는 input, a, button, label, select 등이 있다.
대화형 콘텐츠가 아니더라도 tabindex 속성을 사용하면 focus 될 수 있다.
ABC:first-child
선택자 ABC가 형제 요소 중 첫째라면 선택
ABC:nth-child(n)
선택자 ABC가 형제 요수 중 n번째라면 선택
ABC:not(XYZ)
선택자 XYZ가 아닌 ABC 요소 선택 (특정 선택자를 부정하는 방식으로 선택)
ABC::before
선택자 ABC 요소의 내부 앞에 내용을 삽입한다
가상의 inline 요소를 만들어서 요소의 앞에 내용을 삽입한다
ABC::after
선택자 ABC 요소의 내부 뒤에 내용을 삽입한다
💡before과 after 모두 내용(content)을 작성하지 않으면 아무런 변화도 생기지 않는다.
[type] {color: red;}
[type="password"] {color: red;}
💡스타일 상속이란?
스타일(CSS)이 부모 요소로부터 상속되어 자식 요소도 적용되는 것
스타일 상속이 되는 속성들은 모두 글자나 문자 관련 속성들이다
또한 스타일 상속에는 실질적으로 상속이 되지 않는 속성도 강제로 상속시킬 수 있는 방법인 강제 상속 방법도 존재한다
💡우선순위란?
같은 요소가 여러 선언의 대상이 된 경우, 어떤 선언의 CSS 속성을 우선적으로 적용할지 결정하는 방법
우선 순위가 높은 순 정리
⚠️ 만약 우선순위가 같다면, 더 나중에 작성한 속성 값을 우선으로 따르게 된다
CSS 요소에는 여백을 지정할 수 있으며 여백의 종류는 외부 여백(margin)과 내부 여백(padding)이 있다.
margin
padding
또한 요소에 테두리 선을 부여할 수 있는데 CSS에서는 테두리 선을 border 이라고 한다.
border
margin, padding, border 모두 다음과 같은 순서로 width 속성을 지정할 수 있다.
ex)