티스토리 뷰
CSS01

CSS syntax
선택자{속성: 값; 속성: 값}- 선택자 : 스타일을 적용할 대상
- 속성 : 스타일의 종료 (예.color)
- 값 : 스타일의 값 (예.blue)
- 속성과 값은 한줄에 하나의 속성과 값만 들어가게 하고 indent를 사용해서 쓴다.
CSS 선언 방식
- 내장 방식
- : html내부에 style 태그 내부에 내용을 작성하는 방식
- 인라인 방식 : html의 요소에서 style의 전역속성을 통해 직접 스타일을 작성하는 방식
- 최우선 순위라서 나중에 덮어쓰며 수정이 불가능 하다.
- 수정 시 악영향을 미침
- 링크 방식 :
<link />로 외부 CSS 문서를 가져와서 연결하는 방식 (보통 링크방식 사용)- 병렬 방식, 한번에 가져와서 연결하고 빨리 해석되는 CSS를 먼저 연결
- import 방식 : 최초 연결은 링크방식으로 html에 연결하고 나머지 CSS 파일들은 최초 연결파일에 import를 통해서 연결하는 방식 (직렬 방식 , 많이 사용되진 않음)
- 링크방식으로 연결한 최초 CSS 파일에서
@import url("다른 CSS 경로");를 통해 다른 CSS 파일 연결 - 앞에 작성한 최초 CSS 파일의 연결이 끝나야 import한 파일이 연결을 시작함 그래서 지연이 생김
- 의도 없이 지연이 생기면 단점이지만, 지연을 의도하면 장점이되기도 함
- 링크방식으로 연결한 최초 CSS 파일에서
CSS 선택자
기본 선택자
| 이름 | 기호 | 설명 |
|---|---|---|
| 전체 선택자 | * |
모든 요소를 선택 |
| 태그 선택자 | .abc |
html에서 태그명이 abc인 요소 선택 |
| 클래스 선택자 | .abc |
html에서 class 속성의 값이 abc인 요소 선택 |
| 아이디 선택자 | #abc |
html에서 id 속성의 값이 abc인 요소 선택 |
복합 선택자
- 기본 선택자를 조합해서 사용하는 선택자
| 이름 | 기호 | 설명 |
|---|---|---|
| 일치 선택자 | abcxyz |
선택자 abc , 선택자xyz를 붙여 사용시 둘다 동시에 만족하는 요소 선택 (태그는 기호가 안들어가고 구분하기 어렵기 때문에 태그 선택자는 항상 제일 앞에다 사용) |
| 자식 선택자 | abc > xyz |
선택자 abc의 자식 요소 xyz 선택 (후손X, 바로 아래 해당 모든 요소, > 사용) |
| 하위(후손) 선택자 | abc xyz |
선택자 abc의 후손 요소 xyz인 모든 것을 선택 (아래에 해당하는 모든 요소,띄어쓰기) |
| 인접 형제 선택자 | abc + xyz |
선택자 abc의 다음 형제 요소 xyz 하나를 선택 (형제 요소 : 어디에 포함되지 않고 동등한 위치인 요소) |
| 일반 형제 선택자 | abc ~ xyz |
선택자 abc의 다음 형제 요소 xyz 모두를 선택 (형제 요소 : 어디에 포함되지 않고 동등한 위치인 요소) |
가상 클래스 선택자
- 어떤 행동을 했을때 동작하는 선택자 또는 특정한 요소를 선택하는 선택자
동작 관련 가상 클래스 선택자
| 이름 | 기호 | 설명 |
|---|---|---|
| hover | abc:hover |
선택자 abc요소에 마우스 커서가 올라가 있는 동안 선택 |
| active | abc:active |
선택자 abc요소에 마우스를 클릭하고 있는 동안(누르고 있는 상태) 선택 |
| focus | input:focus |
선택자 abc 요소가 포커스 되면 선택 focus가 될수 있는 요소 : html 대화형 콘텐츠(input, a, button, label, select 등 여러 요소) 또는 tabindex 속성을 사용한 요소 |
- 대화형 콘텐츠가 아니 일반 요소들이 focus를 가능케 하려면 해당 요소에
tabindex="-1"속성을 넣어주면 된다. - tabindex는 tab키를 사용해 focus 할수 있는 순서를 지정하는 속성임 (
-1값이 아닌 값은 논리적 흐름을 방해 하므로 -1을 권장)
tabindex 사용 예시
<div class="tabindex_test" tabindex="-1"></div>
.tabindex_test {
width: 100px;
height: 100px;
background-color: orange;
transition: 1s;
}
.tabindex_test:focus {
width: 300px;
height: 300px;
background-color: royalblue;
}
선택 관련 가상 클래스 선택자
| 이름 | 기호 | 설명 |
|---|---|---|
| First child | abc:first-child |
선택자 abc가 형제 요소 중 첫째 라면 선택 (부모 요소 안에 구성하고 있는 요소들 중에서 첫째 라면 해당 선택이 됨) |
| Last child | abc:last-child |
선택자 abc가 형제 요소중 막내라면 선택 (부모 요소 안에 구성하고 있는 요소들 중에서 막내 라면 해당 선택이 됨) |
| Nth child | abc:nth-child(n) |
선택자 abc가 형제요소중 n째 라면 선택 ( *:nth-child(2n) 괄호에 2n, 3n 등 배수로 넣으면 해당 배수의 요소만 선택가능하다.) |
| 부정 선택자(not) | abc:not(xyz) |
선택자 xyz가 아닌 abc요소 선택 ( .fruits *:not(span) 처럼 어느 범위 내에서 span이 아닌 요소를 선택, 일단 범위를 제한해서 여러개의 요소들 중에 선택할 수 있는 상황을 만들어야 함) |
- child 의 기준은 항상 부모 요소가 가지고 있는 요소들 중에 몇번째 인지를 만족하고, abc는 따로 같이 만족하는 로직이다.
- nth-child에서 n은 0부터 시작하는 zero-based numbering이라서 홀수 표현시
(2n+1)도 가능하다. - 또한
(n+3)를 넣어서 3번째 부터 주르륵 선택할 수도 있음 (1,2 배제되는 것임) (-n+3)을 넣으면 1,2,3 만 선택하게 됨
'Dev > CSS' 카테고리의 다른 글
| 20210525 CSS03 : CSS 속성, (width, height) 관련 속성, 표현단위, margin, padding, border 관련 속성, 색상 표현 (0) | 2021.05.25 |
|---|---|
| 20210525 CSS02 : 가상 요소 선택자, 속성 선택자, 스타일 상속, 선택자 우선순위, CSS 속성 (0) | 2021.05.25 |
| 20210120_웹 프론트엔드 기초05 , HTML 및 CSS Reference, 실제 CSS 적용! (0) | 2021.01.21 |
| 20210119_웹 프론트엔드 기초04 , CSS 선택자 정리 (0) | 2021.01.19 |
| 20210118_웹 프론트엔드 기초03 , 사이트 분석하여 html 작성 (0) | 2021.01.19 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 트위터 클론
- Firebase
- redux-toolkit
- object
- Class
- 바닐라js
- Python
- JavaScript
- NomadCoder
- html
- 생활코딩
- React
- 그림판 만들기
- project
- async
- 기능추가
- css
- Git
- 드림코딩
- nodejs
- hooks
- TypeScirpt
- RUBY
- Django
- todolist
- 오버라이딩
- instagram CSS
- github
- nrc
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
글 보관함