20240802수업
[앞서 알아두면 좋은 내용]
client -(요청)-> server
client <-(파일)- server
index.html (html tag) 구조(영역)만들기
main.css (stylesheet) 모양,색상
main.js (javascript) 동작
<h2>Hello</h2> : element
<h2> : 시작태그
</h2> : 끝태그
"Hello" : text
javascript가 html의 element를 조작하기 위해 찾을때 id="userid" : document.getElementById('userid') -> 하나를 찾음
name="gender" : document.getElementsByname('gender') -> 여러개를 찾음 <h2> : document.getElementsByTagName('gender') -> 여러개를 찾음 class="" : document.getElementsByClassName('') -> 여러개를 찾음

css선택자를 공부하는 이유
- 스타일을 조작
- js를 조작
- jquery를 조작
- 파이썬을 조작
- html을 서버로부터 다운받았을때 크롤링를 하기위해 특정태그를 지정해서 가져올때 docume~를 가져옴
Pseudo-classes selector(선택자) - 어떤 상태일 떄 :으로 시작

Selector | Example | Exaple description |
.class | .intro | class="intro “인 모든 요소를 선택합니다. |
.class1.class2 | .name1.name2 | 클래스 속성 내에 name1과 name2가 둘 다 설정된 모든 요소를 선택합니다. |
.class1 .class2 | .name1 .name2 | name2인 요소 중 이름이 1인 요소의 하위 요소인 모든 요소를 선택합니다. |
#id | #firstname | id="이름 “인 요소를 선택합니다. |
* | * | 모든 요소를 선택합니다. |
element | p | 모든 <p>요소를 선택합니다. |
element.class | p.intro | <p>class="intro “인 모든 요소를 선택합니다. |
element,element | div, p | 모든 <div>요소와 모든 <p>요소를 선택합니다. |
element element | div p | 모든<div>요소 내부의 모든 <p>요소를 선택합니다. |
element>element | div > p | 부모가 <div>인 요소의 모든 <p>요소를 선택합니다.(위와 비슷) |
element+element | div + p | <div>요소 뒤에 배치되는 첫번째 <p>요소 한개를 선택합니다. |
element1~element2 | div ~ p | <div>요소 뒤에 배치되는 모든 <p>요소를 선택합니다. |
Selector | Example | Exaple description |
[attribute] | [target] | 대상 속성을 가진 모든 요소를 선택합니다. |
[attribute=value] | [target="_blank"] | target="_blank"인 모든 요소를 선택합니다. |
[attribute~=value] | [title~="flower"] | 제목 속성에 "flower”이라는 단어가 포함된 모든 요소를 선택합니다. |
[attribute|=value] | [lang|="en"] | lang 속성 값이 “en”이거나 “en-”로 시작하는 모든 요소를 선택합니다. |
[attribute^=value] | a[href^="https"] | <a>href 속성 값이 “https”로 시작하는 모든 요소를 선택합니다. |
[attribute$=value] | a[href$=".pdf"] | <a>href 속성 값이 “.pdf”로 끝나는 모든 요소를 선택합니다. |
[attribute*=value] | a[href*="w3schools"] | <a>href 속성 값에 하위 문자열 “w3schools”가 포함된 모든 요소를 선택합니다. |
사용 빈도가 높은 선택자(특정위치 tag선택 - 찾는다)
Selector | Example | Example description |
:has() | h2:has(+p) | 바로 뒤에 p 요소가 오는 h2 요소를 선택하고 스타일을 h2에 적용합니다. |
:not() | :not(p) | <p>요소가 아닌 모든 요소를 선택합니다. |
:first-child | p:first-child | <p>상위 요소의 첫 번째 하위 요소를 모두 선택합니다. |
:last-child | p:last-child | <p>상위 요소의 마지막 하위 요소인 모든 요소를 선택합니다. |
:nth-child() | p:nth-child(2) | <p>상위 요소의 두 번째 하위 요소인 모든 요소를 선택합니다. |
:first-of-type | p:first-of-type | <p />의 첫 번째 요소인 모든 요소를 선택합니다. |
:last-of-type | p:last-of-type | <p />의 마지막 요소인 모든 요소를 선택합니다. |
:nth-of-type() | p:nth-of-type(2) | <p />의 2번째 요소인 모든 요소를 선택합니다. |
::after | p::after | p 태그 뒤에 무언가 삽입하십시요. |
::before | p::before | p 태그 앞에 무안가 삽입하십시오 |
::first-letter | p::first-letter | p 태그안에 있는 첫번째 글자를 선택합니다. |
::marker | ::marker | marker들의 속성을 정합니다. |
::selection | ::selection | 선택(드래그)된 영역만 속성을 정합니다. |
::placeholder | input::placeholder | 지정된 “placeholder” 속성을 가진 입력 요소를 선택합니다. |


참고:https://developer.mozilla.org/en-US/docs/Glossary/Vendor_Prefix
이외
Selector | Example | Example Description |
:active | a:active | 활성 링크를 선택합니다. |
::after | p::after | 각 <p>요소의 내용 뒤에 무언가를 삽입하십시오. |
::before | p::before | 각 <p>요소의 내용 앞에 무언가를 삽입하십시오. |
:checked | input:checked | 체크된 모든 <input>요소를 선택합니다. |
:default | input:default | 기본 <input>요소를 선택합니다. |
:disabled | input:disabled | 비활성화된 모든 <input>요소를 선택합니다. |
:empty | p:empty | <p>하위 요소가 없는 모든 요소 (텍스트 노드 포함) 를 선택합니다. |
:enabled | input:enabled | 활성화된 모든 <input>요소를 선택합니다. |
::first-letter | p::first-letter | 모든 <p>요소의 첫 글자를 선택합니다. |
::first-line | p::first-line | 모든 <p>요소의 첫 번째 줄을 선택합니다. |
:focus | input:focus | 포커스가 있는 입력 요소를 선택합니다. |
:fullscreen | :fullscreen | 전체 화면 모드에 있는 요소를 선택합니다. |
:hover | a:hover | 마우스 커서를 올릴 시 링크 선택 |
:in-range | input:in-range | 지정된 범위 내의 값을 가진 입력 요소를 선택합니다. |
:indeterminate | input:indeterminate | 불확정 상태에 있는 입력 요소를 선택합니다. |
:invalid | input:invalid | 잘못된 값을 가진 모든 입력 요소를 선택합니다. |
:lang() | p:lang(it) | <p>lang 속성이 “it" (이탈리아어) 인 모든 요소를 선택합니다. |
:link | a:link | 방문하지 않은 모든 링크를 선택합니다. |
::marker | ::marker | 목록 항목의 마커를 선택합니다. |
:nth-last-child() | p:nth-last-child(2) | <p>마지막 하위 요소부터 계산하여 상위 요소의 2번째 하위 요소를 모두 선택합니다. |
:nth-last-of-type() | p:nth-last-of-type(2) | <p><p>마지막 하위 요소부터 계산하여 상위 요소의 2번째 요소인 모든 요소를 선택합니다. |
:only-of-type | p:only-of-type | <p><p>상위 요소의 유일한 요소인 모든 요소를 선택합니다. |
:only-child | p:only-child | <p>상위 요소의 유일한 하위 요소를 모두 선택합니다. |
:optional | input:optional | “필수” 속성이 없는 입력 요소를 선택합니다. |
:out-of-range | input:out-of-range | 지정된 범위를 벗어난 값을 가진 입력 요소를 선택합니다. |
:read-only | input:read-only | 지정된 “읽기 전용” 속성을 가진 입력 요소를 선택합니다. |
:read-write | input:read-write | “읽기 전용” 속성이 지정되지 않은 입력 요소를 선택합니다. |
:required | input:required | 지정된 “필수” 속성을 가진 입력 요소를 선택합니다. |
:root | :root | 문서의 루트 요소를 선택합니다. |
:target | #news:target | 현재 활성 #news 요소를 선택합니다 (해당 앵커 이름이 포함된 URL을 클릭) |
:valid | input:valid | 유효한 값을 가진 모든 입력 요소를 선택합니다. |
:visited | a:visited | 방문했던 모든 링크를 선택합니다. |
예시
See the Pen Untitled by 유레이나 (@zdixexqp-the-reactor) on CodePen.
See the Pen Untitled by 유레이나 (@zdixexqp-the-reactor) on CodePen.
참조: https://www.w3schools.com/cssref/css_selectors.php
W3Schools.com
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
css seloctor 게임:https://flukeout.github.io/
CSS Diner
A fun game to help you learn and practice CSS selectors.
flukeout.github.io
'HTML|CSS' 카테고리의 다른 글
[html/css]Flex box, Grid를 이용한 정렬 (0) | 2024.08.06 |
---|---|
[html/css] Layout 만들기(table태그), lorem ipsum (0) | 2024.08.04 |
[html/css]favicon 사용, map태그, area태그, 이미지 좌표 확인 방법, 다각형 링크 (0) | 2024.08.04 |
[html/css]링크 버튼 만들기,vertical align (0) | 2024.08.03 |
[html/css] 다양한 표현 방식 (0) | 2024.08.03 |