CSS
20210119_웹 프론트엔드 기초04 , CSS 선택자 정리
웹 프론트엔드 기초 04
1. CSS 선택자 공부
반드시 기억해야 하는 CSS 선택자 30개 by Jeffrey Way 를 정리해 보았다.
기본적으로 id
, class
, descendant
를 알고 있어야 한다.
기본 선택자 "Basic Selecotrs"
1) *
- The star symbol
- 페이지의 전체 요소를 선택
- TEST 용 권장 "margin , padding 값 0으로 보고 싶을 경우"
- 실무에서는 비권장 -> 불필요하고, 브라우저 과부화
2) #X
- id 선택자
- 비권장 : 유연성 낮음 "요소 1개만 지정 가능해 재사용이 불가하여"
- 정말로 필요한지 생각해봐야 함
3) .X
- class 선택자
- 여러 요소를 지정 가능해 중복 사용 가능
4) X
- type 선택자
- 일정한 타입이 있게 요소를 만들고 싶은 경우
- ex) ul , a , p 등.. 여러 기본 태그
관계(짝) 선택자 "Combinator Selectors"
5) X Y
- descendant 선택자
- 상세히 작업시 사용
- 단, 너무 난발하지 말고 특징을 잘 그룹화 할 것(
X Y Z A B.error
-> 잘못된 사용임)
5-1) 선택자_공백
, ,
, 붙임
사용
- 선택자 끼리
붙임
:AND연산
(1 태그#아이디 2 태그.클래스 3 .클래스#아이디) - 선택자 끼리
,
:OR연산
(1 #아이디, .클래스명 2 태그, .클래스명) - 선택자 끼리
:
자식 관계 선택
(1 태그 태그 2 태그 .클래스)
6) X > Y
X Y
와는 다르게 직접 자손만 선택함- 예를 들어 자손의 자손 관계(X-Y-Z)에서 중복된 type 선택자 등을 사용(Y, Z에 모두 ul요소 사용)하게 됬을 때 ->
>
를 통해서 Y의 ul 만 선택하게 됨
7) X + Y
- 인접(adjacent) 선택자
- 전에 있던 요소 바로 앞의 요소만 선택함(Y 요소 중에서 제일 앞)
8) X ~ Y
- 형제(sibling) 선택자
X + Y
와는 다르게 덜 제한적으로 포괄적으로 선택(앞의 Y요소들 모두를 선택)
속성 선택자 "Attribute Selectors"
9) X[title]
- title을 가지는 X 요소 선택 (아직 특정 스타일이 없는 상태)
10) X[href="주소"]
- 보통 앵커 태그 사용하므로 해당 주소를 가지는 앵커 태그 선택
- 주소는 웹주소, 로컬 주소도 상관 없음
- 완전히 값은 값을 찾는 것임
- 간단한 주소 사용시에는 정규 표현식을 사용해서 사용
11) X[href *="주소"]
*
: 값을 포함하고있는 요소들을 선택- ex) "raccooncode" 이면 raccooncode.com , code.raccooncode.com, 등 모두 선택 됨
12) X[href ~="주소"]
~
표시 -> 특정 주소 값이 깔끔하게 앞뒤에 공백 문자 외에 없어야 선택
13) X[href |="주소"]
|
표시 -> "주소"로 시작해서 뒤에 -(하이픈)이 붙은 경우 포함
14) X[href^="http"]
^
표시 -> http 로 시작하는 값 선택
15) X[href$=".jpg"]
$
표시 -> .jpg로 끝나는 값을 선택- 사이트 모두 적용할 거니까 http로 지정한 것
16) X[data-*="foo"]
- html에서 X태그 속성에 data-something="something1" 지정시 css 선택자 속성에서 사용가능
- 보통 data-type="image"로 지정시 편함
위와 같이 다양한 CSS 속성 선택자와 정규 표현식의 조합을 통해 더욱 효율적으로 가능
가상 선택자 "Pseudo Selectors"
17) X:가상 이벤트
X:visited
: 클릭 및 방문했던 앵커태그(<a>
) 선택시 ex) 주로 color 건드림X:link
: 방문 , 클릭전 앵커태그(<a>
) 선택시 ex) 주로 color 건드림X:checked
: 라디오 버튼, 체크박스처럼 체크 인터페이스 요소 선택X:hover
: 마우스를 위에 올렸을 때X:focus
: 포커스 되었을 때 (input 태그 등 )X:active
: 마우스로 클릭했을 때X:first
: 첫번째 요소X:last
: 마지막 요소X:first-child
: 첫번째 자식X:last-child
: 마지막 자식X:nth-child(2n+1)
: 홀수 번째 자식X:only-child
: 단하나의 자식만 갖는 X요소 선택X:only-of-type
: X요소를 1개만 갖는 상위 요소 선택
18) X:after , X:before(X::after , X::before), X:first-line
- 가상 클래스, 요소로서 앞 뒤에 내용을 생성
::after
,::before
: 본문에 추가적인 내용을 덧붙이는 경우에 많이 씀(content속성 사용, 인라인을 기본값으로 가짐)- 보통 버튼 만들기 또는 inline-block를 활용하여 같은 간격으로 정렬시 사용
X:first-line
: 요소의 첫번째 줄에만 스타일 적용
19) X:nth-of-type(n)
- 자식 요소가 아닌 현재 요소들 중에서 특정 순서에 있는 요소에 스타일 지정시 사용
20) X:nth-last-of-type(n)
- 목록 선택자의 끝부터 시작해 n 번째 요소를 대상에 스타일 지정
다음 시간에는 선택자에 대한 속성을 알아보자
추가적으로 ::before after를 이용한 버튼 만들기 등은 조금더 찾아보자
'CSS' 카테고리의 다른 글
20210524 CSS01 : css syntax, html에 연결방식, 선택자(기본, 복합), 가상 클래스 선택자 (0) | 2021.05.25 |
---|---|
20210120_웹 프론트엔드 기초05 , HTML 및 CSS Reference, 실제 CSS 적용! (0) | 2021.01.21 |
20210118_웹 프론트엔드 기초03 , 사이트 분석하여 html 작성 (0) | 2021.01.19 |
20210115_웹 프론트엔드 기초02, CSS영역, Reset, 선택자, 사이트 실습 (0) | 2021.01.15 |
20210114_웹 프론트엔드(Web front end) 기초01, HTML, CSS (0) | 2021.01.14 |