목차
1. 선택자
① 선택자의 정의
② 기본 선택자 (전체, 태그, Class, ID)
(1). 전체 선택자 (Universal Selector)
(2). 태그 선택자 (Type Selector)
(3). Class 선택자 (Class Selector)
(4). ID 선택자 (ID Selector)
③ 그룹 선택자
2. 마치며
1. 선택자 (Selector)
① 선택자의 정의
- 웹 페이지의 HTML 요소를 대상으로, CSS 스타일을 지정하려고 할 때 사용된다.
(이번 장에서는 CSS 스타일을 지정하는 선택자 중 '전체', '태그', 'class', 'id', '그룹'
다섯 가지만 다루고, 나머지 선택자들은 추후에 다루도록 하겠다.)
- 선택자에 의해 선택된 요소들은 '선택자의 주체'로 지정된다.
[index.html]
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>선택자 예제</title> <link href="/style.css" rel="stylesheet"/> <!-- style을 외부 스타일시트 파일로 정의했기 때문에 <link> 태그를 통해서 해당 스타일시트 파일을 HTML 문서가 참조할 수 있게한다. --> </head> <body> <h4>선택자(Selector)</h4> <p>선택자는 HTML 문서의 요소에 CSS 스타일을 지정하려고 할 때 사용된다.</p> <!-- p 요소 CSS 스타일 지정하기 글자색 => 빨간색 (color: red;) --> </body> </html>
[style.css]
/* CSS 선택자 사용 예시 - 아래의 선택자는 '태그 선택자(유형 선택자)'로 태그 선택자의 정의는 바로 다음장에서 다룬다. */ p { color: red; } /* p => CSS 선택자 선언부 앞에 입력된 모든 것이 CSS 선택자이다. {*} => 선언부, CSS 속성을 여기에 작성한다. color => CSS 속성 명, HTML 문서의 특정 요소의 텍스트 색상을 지정하는 속성 red => CSS 속성 값, 입력한 값을 지정한 요소에 적용한다. */
② 기본 선택자 (전체, 태그, Class, ID)
(1). 전체 선택자 (Universal Selector)
- HTML 문서 내의 모든 요소를 선택하는 선택자
- '*' 로 표시한다.
- 모든 요소에 같은 CSS 속성을 적용하고, 그러한 특성상 웹 페이지의 로딩 속도가 느려질 수 있다.
[index.html]
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>선택자 예제</title> <link href="/style.css" rel="stylesheet"/> </head> <body> <h3>전체 선택자 예시</h3> <p>오늘의 커피는 무엇인가요?</p> <p>=> 스타벅스 콜드브루 Venti</p> </body> </html>
[style.css]
* { color: blue; } /* 전체 선택자 - HTML 문서의 모든 요소에 공통된 CSS 스타일을 적용한다. */
(2). 태그 선택자 (Type Selector)
- 'p', 'h1', 'a'처럼 HTML 문서의 요소를 직접적으로 선택하는 선택자 (유형 선택자)
HTML 문서에서 요소가 중복될 경우, 해당 요소를 전부 선택한다.
예) p 요소가 2개 이상이고, p 태그의 CSS 스타일을 지정했다면
HTML 문서의 p 요소 전부, p 태그를 지정한 CSS 스타일이 적용된다.
[index.html]
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>선택자 예제</title> <link href="/style.css" rel="stylesheet"/> </head> <body> <h3>제목</h3> <hr/><br/> <p>태그선택자란?</p> <p>=> HTML 문서의 요소를 직접적으로 선택하는 선택자입니다.</p> </body> </html>
[style.css]
h3 { background-color: cornflowerblue; color: white; } p { color: darkblue; }
HTML의 h3, p 요소에 CSS 스타일이 적용된 것을 확인할 수 있다.
(3). Class 선택자 (Class Selector)
- HTML 문서에서 주어진 Class 속성 값을 가진 요소를 선택하는 선택자
- 선택하려는 Class 속성 값 앞에 '.'(마침표)를 붙여서 작성한다.
마침표 앞에 HTML 요소의 이름을 추가하면, CSS 스타일 적용을 해당 태그에만 적용할 수 있다.
[index.html]
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>선택자 예제</title> <link href="/style.css" rel="stylesheet"/> </head> <body> <h3 class="text">제목 1</h3> <p class="text">문단 1</p> <h3 class="text2">제목 2</h3> <p class="text2">문단 2</p> <p class="text2">문단 3</p> </body> </html>
[style.css]/*Class 선택자 예시 - 특정 class 속성 값을 가진 요소에 CSS 스타일 적용 - 특정 태그, class 속성값을 가진 요소에 CSS 스타일 적용 */ .text { color: red; } p.text2 { color: blue; }
CSS 스타일 적용 범위를 P 태그, "text2"라는 class 속성값을 가진 요소로 한정시켰을 때
h3 요소가 "text2"라는 Class 속성값을 가지고 있어도 CSS 스타일이 적용되지 않는 것을 확인할 수 있다.
(4). ID 선택자 (ID Selector)
- HTML 문서에서 주어진 id 속성 값을 가진 요소를 선택하는 선택자
(id == 고유 식별자 역할을 하는 전역속성)
- HTML에서 id 속성 값은 중복을 허용하지 않기 때문에, CSS 스타일을 한 번만 적용하려고 할 때 사용된다.
- 선택하려는 id 속성 값 앞에 '#'을 붙여서 작성한다.
[index.html]
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>선택자 예제</title> <link href="/style.css" rel="stylesheet"/> </head> <body> <p id="sample">문단입니다.</p> <p>문단입니다.</p> </body> </html>
[style.css]/* id 선택자 예시 */ #sample { color: yellow; background-color: black; }
'sample'이라는 id 속성 값을 가진 요소에만 CSS 스타일이 적용된 것을 확인할 수 있다.
③ 그룹 선택자 (Grouping Selector)
- 앞에서 언급한 태그, Class, ID 선택자 등 다양한 선택자 요소에
공통된 스타일을 적용하려고 할 때 사용하는 선택자
- ', (쉼표)'를 통해서 다양한 선택자를 그룹화해서 사용한다.
[index.html]
<!-- 그룹 선택자 예시 --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>replit</title> <link href="style.css" rel="stylesheet"/> </head> <body> <div id="title"> <h3 class="title">CSS 선택자</h3> <p class="body"> 그룹 선택자를 통해서 다양한 선택자 요소에<br/> 공통된 스타일을 적용해보자. </p> </div> <hr/><br/> <div> <h3 class="title">제목</h3> <p class="body">문단1</p> </div> <h3>제목 2</h3> <p>문단 2</p> </body> </html>
[style.css]
/* 그룹 선택자 예시 */ .title, h3 { background-color: cornflowerblue; font-size: bold; color: white; } .body, p { font-size: bold; color: darkblue; }
2. 마치며
업데이트 내역
2023.03.24 - 선택자 정의, 전체 선택자 작성 완료 (15:20)
2023.03.27 - 선택자 내용 업로드 완료 (14:35)
'Frontend > CSS' 카테고리의 다른 글
[CSS] position 속성 (0) | 2023.08.09 |
---|---|
[CSS] 박스 모델 (Box Model) (0) | 2023.04.05 |
[CSS] CSS 개요 (CSS 정의, 기본 문법) (0) | 2023.03.20 |