본문 바로가기
Web/HTML & CSS

다양한 css 선택자

by 팡지혜 2024. 6. 16.

기본형

예시


 

후손선택자

: 공백으로 구분하며 어떤 부모태그 안에 해당 자식태그가 들어있으면 몇 개층 아래에 있던지 상관없이 모두 선택한다.

부모태그  자식태그 {속성: 값;}

div h2{}


 

자손 선택자

: 부모 태그 안에 있는 자식 요소를 선택할 때 사용한다.

후손 선택자는 공백으로 구분하며 어떤 부모태그 안에 해당 자식태그가 들어있으면 몇 개층 아래에 있던지 상관없이 모두 선택한다.

하지만 자손 선택자는 바로 아래계층 안에 있는 자식태그만 선택한다.

부모선택자 > 자식선택자 { 속성: 값; }

div > h2{}


 

동위선택자

: 동위선택자(=형제선택자)는 동위관계에서 바로 아래줄에(뒤에) 있는 형제 태그를 선택하거나 뒤에 있는 모든 형제태그를 선택할 때 사용한다.

+선택자는 바로 뒤에 있는 형제 태그 1개를 선택할 때 사용하고 바로 뒤에 해당 동생태그가 없으면 선택되지 않는다.

~선택자는 위치와 관계 없이 기준 태그(형) 뒤에 해당 동생 태그가 있으면 모두 선택한다.

1. 선택자A + 선택자B { 속성: 값;} -바로 뒤에 있는 하나의 형제만 선택

2. 선택자A ~ 선택자B { 속성: 값;} -뒤에 있는 형제들 모두 선택

h1 + h2{}

h1 ~ h2{}


 

속성선택자

: 태그에서 어떤 특정한 속성을 가지고 있는 태그만 선택하는 선택자.

선택자[속성=값]{ 속성: 값; }

: 태그에 해당하는 속성이 있는 태그만 선택한다.

선택자[속성="값"]{ 속성: 값; }

 : 태그에 해당하는 속성과 값이 일치하는 태그만 선택한다.

a[href]{}

a[target="_blank"]{}


 

반응 선택자

: 반응 선택자는 사용자의 행위에 따라 반응하는 선택자를 말한다.

 

선택자:hover { 속성: 값; }  ★

 : 사용자가 해당 태그 위에 마우스를 올리면 반응(특정 동작을 수행)한다.

선택자:active { 속성: 값; }

 : 사용자가 해당 태그를 클릭하면 반응(특정 동작을 수행)한다.

 

  div{

            width: 200px;

            height: 200px;

            background-color: darkolivegreen;

        }

        /* div에 마우스가 올라가면 해당 속성을 적용 */

        div:hover{

            background-color: chartreuse;

            width: 300px;

            height: 300px;

            border-radius: 40px;

        }

        div:active{

            background-color: brown;

            width: 200px;

            height: 200px;

        }

        /* h2태그에 마우스를 올렸을 때와 클릭했을 때 모양을 지정하기 */

        h2:hover{

            font-weight: 500;

            color: crimson;

        }

        h2:active{

            background-color: burlywood;

            font-size: large;

        }

        /* a태그에 마우스를 올렸을 때 밑줄을 없애고 클릭했을 때 밑줄 나타내기 */

        a:hover{

            text-decoration: none;

            color: aqua;

        }

        a:active{

            text-decoration: underline;

            background-color: blueviolet;

        }


 

구조선택자★

: 부모태그 안에 동일한 태그의 자식들로 구성되어 있을 때 특정 자식요소를 선택하는 선택자.

 

선택자:first-child{ 속성: 값; }

 : 부모태그 안에 자식들 중 첫번째 태그를 선택함.

 

선택자:last-child{ 속성: 값; }

: 부모태그 안에 자식들 중 마지막에 위치한 태그를 선택함.

 

선택자:nth-child(숫자 / 숫자n){ 속성: 값; }

: 부모태그 안에 자식들 중 해당 숫자 번째에 위치한 태그를 선택하거나

n은 수열을 뜻하며 2n번째 2의 배수 번째에 있는 태그를 선택할 수 있다.

 

선택자:nth-last-child(숫자 / 숫자n){ 속성: 값; }

: 부모태그 안에 자식들 중 뒤에서(=막내부터) 해당 숫자 번째에 위치한 태그를 선택하거나 뒤에서 수열번째에 있는 태그를 선택한다.  

 /* ul 안에 있는 li 중 첫째 선택하기 */

        ul li:first-child{

            background-color: aquamarine;

        /* ul 안에 있는 li 중 막내 li 선택하기 */

        }

        ul li:last-child{

            background-color: blanchedalmond;

        }

        /* ul 안에 있는 li 중 세번째 li 선택하기 */

        ul li:nth-child(3){

            background-color: #c5c5c5;

        }

        /* ul 안에 있는 li 중 짝수번째 li 선택하기 */

        ul li:nth-child(2n){

            color: blue;

            font-weight: bold;

        }

        /* ul 안에 있는 li 중 홀수번째 li 선택하기 */

        ul li:nth-child(2n+1){

            color: rgb(128, 9, 68);

            font-weight: bold;

        }


 

형태구조선택자 

: 부모박스 안에 자식(형제)태그들이 다르게 구성되어 있을 때 사용한다.

 

선택자: first-of-type

: 부모 박스 안에 형제관계 중 첫번째로 위치하는 태그를 선택한다.

 

선택자: last-of-type

: 부모 박스 안에 형제관계 중 마지막에 위치하는 태그를 선택한다.

 

선택자: nth-of-type(숫자/수열)

: 부모 박스 안에 형제관계 중 숫자 또는 수열 번째로 위치하는 태그를 선택한다.

 

선택자: nth-last-of-type(숫자/수열)

: 부모 박스 안에 형제관계 중 뒤에서 숫자 또는 수열 번째로 위치하는 태그를 선택한다.

 

h1:first-of-type{

            color: blueviolet;

        }

h2:last-of-type{

            color: chartreuse;

        }

h3:first-of-type{

            color: coral;

        }

p:nth-of-type(2){

            color: aqua;

        }


상태선택자 (인라인속성, 단독태그)

: 상태 선택자는 입력양식 태그의 상태를 지정할 때 사용하는 선택자.

 

선택자 : checked

: 체크박스에 체크가 된 상태의 input태그를 선택한다.(체크박스에만 사용한다)

 

선택자 : focus

: 초점이 맞춰진 input태그를 선택한다.

선택자 : enabled

: 입력 또는 사용이 가능한 상태의 input태그를 선택한다.

 

선택자 : disabled

: 입력 또는 사용이 불가능한 상태의 input태그를 선택한다.

 

    <!-- css -->

     <style>

        /* 입력이 가능한 상태의 input태그 */

        input:enabled {

            background-color: rgb(255, 172, 237);

            border: 1px solid rgb(143, 5, 136);

            color: darkblue;

            padding: 4px 10px;

            /* 입력할 때의 창-포커스 상태를 없앨 때 */

            outline: none;

        }

        /* 입력양식이 포커스 상태(입력하려고 활성화된 상태) */

        input:focus{

            background-color: chartreuse;

            color: blue;

        }

        /* 입력이 불가능한 상태의 input태그 */

        input:disabled{

            border: 1px solid cadetblue;

            background-color: chocolate;

        }

        input:checked{

            width: 200px;

            height: 200px;

            background-color: aqua;

        }

 

<body>

        <!-- 입력 가능한 상태 -->

        <h2>enabled</h2>    

        <P><input type="text" /></P>        

    

        <!-- 입력 불가능한 상태 -->

        <h2>disabled</h2>    

        <P><input type="text" disabled/></P>        

    

        <!-- 체크박스 -->

        <h2>disabled</h2>    

        <P><input type="checkbox" >체크</P>        

    </body>


시작 문자 선택자

: 시작 문자 선택자는 태그 내부의 첫 글자나 첫 줄을 선택할 때 사용하는 선택자.

 

선택자 ::first-letter

: 태그 내부의 첫 글자를 선택함.

/* p태그의 첫 번째 글자 선택 */ 

 p::first-letter{}

 

선택자::first-line

: 태그 내부의 첫 줄을 선택함.

/* p태그의 첫 번째 줄 선택 */

 p::first-line{}


 

가상 요소 선택자★x100

: 선택한 태그에 앞이나 뒤에 가상 요소를 만드는 선택자.

html코드에는 존재하지 않지만 html구조에 가상요소를 만들어서 스타일을 부여하는 역할.

마치 html코드가 있는 것처럼 스타일링할 때 사용한다.

가상 요소 선택자로 만들어진 요소는 기본적으로 inline속성을 가짐.

가상 요소를 만들 때 content속성을 이용한다.

 

선택자::before

: 특정 요소의 앞에 가상 요소를 만들고 내용은 content속성으로 넣는다.

 

선택자::after

: 특정 요소의 뒤에 가상 요소를 만들고 내용은 content속성으로 넣는다.

 

p::before{}

p::after{}

span::before{}

span::after{}





'Web > HTML & CSS' 카테고리의 다른 글

list-style  (0) 2024.07.24
overflow와 selection  (0) 2024.06.25
align-content  (0) 2024.06.13
align-itmes  (1) 2024.06.08
display 속성  (1) 2024.06.08