
아래 내용은 학원 수업 및 온라인 강좌 등을 듣고 정리한 내용입니다.
CSS selector(이하 선택자)는 HTML 파일에서 작성한 엘리먼트들을 선택하는 것을 말한다. 이 선택자는 태그명, 아이디, 클래스 등으로 선택할 수 있다.
* : (전체 선택자) 내부의 모든 요소를 선택태그명 : (태그 선택자) 태그 이름을 선택자로 선택#아이디이름 : (아이디 선택자) 아이디 이름을 선택자로 선택.클래스이름 : (클래스 선택자) 클래스 이름을 선택자로 선택선택자1선택자2를 복합적으로 선택 (두가지가 동시에 만족되어야 하며, 선택자가 붙어 있음)선택자1 > 선택자2 선택자1의 자식 선택자를 찾아서 선택선택자1 선택자2 선택자1 속에 있는 모든 요소 중에서 선택자2를 찾아서 선택선택자1 + 선택자2 선택자1 다음에 나오는 형제 요소 1개선택자1 ~ 선택자2 선택자1 다음에 나오는 형제 요소 모두인접 형제 요소 선택자와 일반 형제 요소 선택자는 선택자1의 앞쪽의 형제는 찾지 않는다.
<div> // 1
<ul> // 2
<li></li> // 3
<li class="orange"></li> // 4
<li></li> // 5
<li></li> // 6
</ul>
</div>
li.orange {} : li와 .orange가 동시에 일치되어야 선택됨 (일치 선택자) → 4ul > li {} : ul의 자식인 li를 전부 선택됨 (자식 선택자) → 3, 4, 5, 6div .orange {} : div속에 있는 모든 선택자 중에서 .orange가 선택됨 (후손(하위) 선택자) → 4.orange + li {} : .orange다음에 오는 형제 li 1개가 선택됨 (인접 형제요소 선택자) → 5.orange ~ li {} : .orange다음에 오는 형제 li가 모두 선택됨 (일반 형제요소 선택자) → 5, 6:hover : 마우스가 올라가 있는 동안active : 마우스를 클릭하고 있는 동안focus : 포커스가 된 동안 대화형 콘텐츠에서 사용이 가능함first-child : 형제 요소 중 첫번째last-child : 형제 요소 중 마지막nth-child(n) : 형제 요소 중 n번째 요소 선택 (n키워드 사용시 0부터 해석)XXX-child 주의사항
.fruits p:nth-child(n)
위 예시의 경우 아래와 같은 순서로 해석해서 선택한다.
1. .fruits
2. :nth-child(n)
3. p
E:nth-of-type(n) : E와 동일한 타입 형제 요소 중 E가 n번째 이면 선택한다.
E:not(s) : E중에서 S가 아닌 것 선택
: ≠ ::E::before : E요소 내부의 앞에 내용 삽입 (content)E::after : E요소 내부의 뒤에 내용 삽입 (content)html의 속성을 선택 (css의 속성은 property라고 한다.)
[attr] : attr 속성인 값이 있으면 선택[attr = value : attr 속성 값이 value인 요소 선택[attr* = value] : attr 속성 값에 value가 포함되어 있는 요소 선택 여러개의 class명이 포함되어 있어도 사용 가능[attr^ = value] : attr 속성 값이 value로 시작하는 요소 선택[attr$ = value] : attr 속성 값이 value로 끝나는 요소 선택조상 요소의 속성을 지정 → 후손에도 적용됨 (대부분 글자를 다루는 속성!)
font-sizefont-weightfont-styleline-heightfont-familycolortext-aligntext-indenttext-decorationletter-spacingopacity속성의 "값"에 inherit를 적용하면 "부모"에서 "자식"으로 강제 상속시킬 수 있다. 후손에는 적용안됨, 모든 요소가 inherit를 사용할 수 있는 것은 아니다.
같은 요소가 여러 선언 대상이 된 경우
!important는 다른 모든 대상보다 우선 됨부정선택자는 점수 없음