Frontend

5.19 CSS 선택자-복습

단점이없어지고싶은개발자 2021. 5. 19. 02:34
반응형

CSS를 입히는 방식이 많은데

link를 이용해 css를 불러오는 방식이 가장 좋다.

가독성이 좋다.

 

@import 방식 -외부문서로 CSS를 불러온다.

 

기본선택자

 

1. 전체선택자

2. 태그선택자

3. 클래스선택자

4. 아이디 선택자

 

5. 전체선택자 : 모든 요소를 선택

 

- 전체를 택한다

 

2. 태그선택자 : 태그 이름을 선택

 

3. 클래스선택자 : HTML class속성의 값을 선택 -활용도가 높다

   .E

 

4. 아이디 선택자 : id가 들어간 선택자 -중요한 곳 한 곳에서만 사용가능하다

 

#

 

복합선택자

 

일치선택자 : E와 F를 동시에 만족하는 요소선택

예) span.orane

 

자식선택자 : E의 자식요소 F를 선택

예) ul > .orange

 

후손(하위)선택자 : E의 후손(하위)요소 F를 선택

예) div .orange 중간에 뛰어쓰기가 들어가 있다.

 

인접 형제 선택자 : E의 다음 형제 요소 F 하나만 선택

예) .orange + li

 

일반 형제 선택자 : E의 다음 형제 요소 F 모두 선택

예) .orange ~ li

 

가상 클래스 선택자(Pseudo - Classes Selectors)

 

Hover : E에 마우스가 올라가 있는 동안에만 E 선택

예) E:hover

 

actinv : E를 마우스로 클릭하는 동안에만 E 선택

예) E:active

 

focus : E가 포커스 된 동안에만 E 선택 주로 input요소에서 사용한다

예) E:focus

 

first child : E가 형제 요소 중 첫번째 요소라면 선택

예) E:first-child

 

last-child : E가 형제 요소 중 마지막 요소라면 선택

예) E:last-child

 

nth-child : E가 형제 요소 중 n번째 요소라면 선택(n키워드 사용시 0부터 해석)

예) E:nth-child(n)

 

nth of type : E의 타입(태그이름)과 동일한 타입인 형제 요소 중 E가 n번째 요소라면 선택

예) E:nth-of-type(n)

 

부정선택자 : S가 아닌 E선택, 한 요소를 빼고 선택하겠다.

예) E:not(s)

 

가상요소 선택자

before : E요소 내부의 앞에, 내용(content)을 삽입

예) E::before

content를 적어줘야 내용이 들어간다. 내용이 없더라도

content : ""; 적어야 들어간다

 

after: E요소 내부의 뒤에, 내용(content)을 삽입

예) E::after

 

속성 선택자(Attribute Selectors)

 

attr: 속성 attr을 포함한 요소 선택

예)[disabled] {}

 

attr = value : 속성 attr을 포함하며 속상 값이 value인 요소 선택

예) [type="password"] {}

 

attr ^= value : 속성 attr을 포함하며 속성 값이 value로 시작하는 요소 선택

예) [class^="btn-"] {}

 

attr $= value : 속성 attr을 포함하며 속성 값이 value로 끝나는 요소 선택

예) [class^="success] {}

 

상속(Inheritance)

하위 요소들에게 적용된다. 글자를 다루는 속성들 대부분이 상속된다.

 

강제속성 : 강제속성을 받을 자식 요소에 position : inherit;을 써준다.

 

우선순위 결정

 

1. 명시도 점수가 높은 선언이 우선(명시도)

2. 점수가 같은 경우, 가장 마지막 해석되는 선언이 우선(선언 순서)

3. 명시도는 '상속' 규칙 보단 중요

   !important > id선택자 > 클래스 선택자 > 태그 선택자 > 전체선택자 > 상속

 

하지만 !important를 쓰는건 나쁘다. 전체를 무시하고 그것을 우선시 하겠다고 쓰는 건 코드가 어느 부분이 안되기 때문에 쓰는 것



반응형