Front-end/CSS

CSS : CSS 선택자

giggs 2021. 12. 18. 19:41
BOOK : 모던 웹을 위한 HTML5 + CSS3 바이블

 

CSS 선택자란?

CSS 선택자는 특정한 HTML 태그를 선택할 때 사용하는 기능

선택자를 사용해 특정한 HTML 태그를 선택한 후

해당 태그에 우리가 원하는 스타일 또는 기능을 적용할 수 있다.

 

 

 

 

이러한 코드를 CSS 블록이라고 부름

style 태그 내부에 입력해 사용함.

이때 style 태그 내부에 입력되는 코드를 스타일 시트라고 부른다.

 

 

 

 

CSS 선택자
선택자 종류 선택자 형태 선택자 예
전체 선택자 * *
태그 선택자 태그 h1
아이디 선택자 #아이디 #header
클래스 선택자 .클래스 .item
후손 선택자 선택자 선택자 header h1
자손 선택자 선택자 > 선택자 header > h1
속성 선택자 선택자[속성=값] input[type=text]
동위 선택자 선택자 + 선택자
선택자 ~ 선택자
h1 + h2 (바로 뒤에있는 h2 1개)
h1 ~ h2 (뒤에 오는 모든 h2에 적용)
구조 선택자 선택자:first-child li:first-child
반응 선택자 선택자:active
선택자:hover
div:active 마우스 클릭하면
div:hover 마우스 올리면
상태 선택자 input:1,2,3,4
checked,focus,enabled,disabled
input:checked / input:disabled
input:focus / input:enabled
링크 선택자 a:link
a:visited
href속성을 가지고 있는 a태그를 선택
방문했던 링크를 가지고있는 a태그 선택
문자 선택자 ::first-letter p::first-letter

 

다 외울 필요는 없고 W3C 공식 문서나 정리된 표 참고하여 사용하기

 

 

 


 

 

 

자손과 후손 ↓

 

 

 

 

 

실제 사용 예시

 

 

    <style>
    	<!-- h1,h2,head,body 각각의 태그에 ~~~ 적용 - 여러개의 선택자 적용할때는 , 사용 -->
        h1,h2,head,body{color:red;}
        
        <!--li태그 중 class="select"을 가지는 태그의 ~~~ 적용 -->
        li.select{color:red;}
        
        <!-- input태그 중에서 type="text"로 가지는 태그의 ~~~ 적용 -->
        input[type=text] { color:red; }
        
        <!-- id="header"를 가지는 태그의 후손 위치에 있는 h1 태그에 ~~~ 적용 -->
        #header h1 { color:red; }
        
        <!-- id="section"인 태그의 자손 위치에 있는 h1 태그에 ~~~ 적용 -->
        #section > h1 { color:red; }
        
        <!-- h1 태그 바로 뒤에 위치하는 h2 태그에 ~~~ 적용 -->
        h1+h2 { color:red; }
        
        <!-- h1 태그와 동위 위치하면서 뒤에 오는 h2 태그에 ~~~ 적용 -->
        h1~h2 { color:red; }
        
        <!-- 마우스 올리면 ~~~ 적용 / 마우스 클릭하면 ~~~ 적용 -->
        h1:hover { color:red; } / h1:active { color:red; }
        
        <!-- 체크상태의 / 초점이 맞춰진 / 사용 가능한 / 사용 불가능한 input태그를 선택 -->
        input:checked { color:red; } / input:focus { color:red; } 
        input:enabled { color:red; } / input:disabled { color:red; }
        
        <!-- 형제관계 중 첫 번째의 / 마지막에 / 앞에서 수열번째 / 뒤에서 수열번째 위치한 태그선택-->
        li:first-child{} / li:last-child{} / li:nth-child(2n+1){} / li:nth-last-child(2n+1){}
        
      
    </style>

 

 

 

 

클래스 값 한 번에 여러 개 주는 법 ( feat : 공백) ↓

 

 

 

 

 

 


 

 

 

review

head 태그 안에 style 태그 - 그 안에 style 시트
효과나 스타일 적용시키는 법을 알아도 대상을 지정 못하면 말짱 꽝
일단은 적용 대상을 선택해야된다는 점에서 선택자가 중요하다고 느꼈다.

여러 가지 선택자들이 있었지만 조금 더 연습해보고
사용 방법을 찾아보면서 한다면 큰 어려움 없이 적용 가능할 것 같다.

http://flukeout.github.io/
선택자 연습 사이트 - 출처:생활코딩 CSS선택자
게임 형식으로 되어있어서 재미도 있고 가끔씩 해주면 도움이 많이 될 것 같다.






 

 

 

'Front-end > CSS' 카테고리의 다른 글

[ CSS 레이아웃 ] 상세_searchBar  (0) 2022.06.22
[ CSS 레이아웃 ] 상세_loginForm  (0) 2022.06.22
[CSS 레이아웃 ] 상세_footer  (0) 2022.06.22
CSS : CSS 속성 기본2  (0) 2021.12.19
CSS : CSS3 스타일 단위-속성 기본  (0) 2021.12.19