반응형
#1 스타일 시트
종류 | 설명 |
브라우저 기본 스타일 | 웹 브라우저에 웹 문서를 표시할 때 브라우저에서 기본으로 사용하는 스타일 |
인라인 스타일 | style 속성을 사용해 필요한 요소에 스타일을 직접 지정 |
내부 스타일 시트 | 문서 앞부분에 문서에서 사용하는 스타일을 모아서 함께 정의하고 관리 |
외부 스타일 시트 | 문서에서 사용하는 스타일을 모아서 따로 파일로 저장한 후 연결해서 사용 |
#2 CSS 기본 선택자
종류 | 설명 | 작성 예시 |
전체 선택자 | 문서의 모든 요소에 스타일을 적용 | * { margin: 0; } |
타입 선택자 | 특정 태그를 사용한 모든 요소에 스타일 적용 | p { font-style: italic; } |
클래스 선택자 | 특정 부분만 선택해서 문서 안에 여러 번 적용 마침표(.)를 붙여 사용 |
.bg { background-color: #ddd; } |
id 선택자 | 특정 부분만 선택해서 문서 안에서 한 번만 적용 #를 붙여 사용 |
#container { width: 500px; } |
그룹 선택자 | 여러 요소에 같은 스타일을 적용할 때 사용 | h1, h2 {text-align: center; } |
#3 스타일 우선순위
1. 얼마나 중요한가?
① 사용자 스타일 → ② 제작자 스타일 → ③ 브라우저 기본 스타일
2. 적용 범위는 어디까지인가?
① !important → ② 인라인 스타일 → ③ id 스타일 → ④ 클래스 스타일 → ⑤ 타입 스타일
3. 소스 작성 순서는 어떠한가?
나중에 작성한 스타일이 먼저 작성한 스타일을 덮어씀
#4 글자와 관련된 속성
종류 | 설명 |
font-family | 글꼴 종류를 지정 |
font-size | 글자 크기를 지정 |
font-style | 글자를 이탤릭체로 표시할지 지정 |
font-weight | 글자의 굵기를 지정 |
#5 텍스트 스타일 속성
종류 | 설명 |
color | 글자색을 지정 |
text-decoration | 텍스트에 밑줄이나 취소선을 표시할지 여부를 지정 |
text-trasform | 텍스트 전체, 또는 첫 글자를 대문자로 표시 |
text-shadow | 텍스트에 그림자를 추가 |
letter-spacing | 글자 사이의 간격을 지정 |
word-spacing | 단어 사이의 간격을 지정 |
text-align | 텍스트 정렬 방법을 지정 |
line-height | 줄 간격을 조절 |
#6 웹에서 색상을 지정하는 방법
방법 | 설명 | |
16진수 | 빨강, 초록, 파랑 각각 두 자리씩 총 여섯 자리의 16진수로 색상을 표현 | |
rgb, rgba | rgb(R, G, B) | 빨강, 초록, 파랑의 양을 0~255 사이의 숫자로 표현 |
rgba(R, G, B, a) | rgb 형식에 불투명도를 함께 표현 | |
hsl, hsla | hsl(H, S, L) | 색상, 채도, 명도의 값으로 색상을 표현 |
hsla(H, S, L, a) | hsl 형식에 불투명도를 함께 표현 | |
색상 이름 | red, yellow, black과 같은 색상 이름을 사용 |
#7 박스 모델 속성
종류 | 설명 |
width | 박스 모델의 너비를 지정 |
height | 박스 모델의 높이를 지정 |
box-sizing | 박스 모델의 크기를 계산하는 기준을 지정 |
box-shadow | 박스 모델에 그림자 효과를 추가 |
#8 테두리 속성
종류 | 설명 |
border-style | 상하좌우 4개 방향의 테두리 스타일을 한꺼번에 지정 |
border-위치-style | '위치'자리에 top, right, bottom, left 중 선택하여 특정 위치의 테두리 스타일을 지정 |
border-witdh | 상하좌우 4개 방향 테두리 두께를 한꺼번에 지정 |
border-위치-width | '위치'자리에 top, right, bottom, left 중 선택하여 특정 위치의 테두리 두께를 지정 |
border-color | 상하좌우 4개 방향 테두리 색상을 한꺼번에 지정 |
border-위치-color | '위치'자리에 top, right, bottom, left 중 선택하여 특정 위치의 테두리 색상을 지정 |
border-radius | 상하좌우 4개 방향 꼭지점을 한꺼번에 둥글게 만듬 |
border-위치-radius | '위치'자리에 top-left, top-right, bottom-right, bottom-eft 등을 선택하여 특정 위치의 꼭지점을 둥글게 처리 |
#9 여백 속성
종류 | 설명 |
margin | 상하좌우 4개 방향의 여백(margin)을 한꺼번에 지정 |
margin-위치 | '위치'자리에 top, right, bottom, left를 사용하여 특정 위치의 여백을 지정 |
padding | 상하좌우 4개 방향의 박스모델 사이의 여백(padding)을 한꺼번에 지정 |
padding-위치 | '위치'자리에 top, right, bottom, left를 사용하여 특정 위치의 박스모델 사이의 여백을 지정 |
#10 레이아웃 속성
종류 | 설명 |
display | 화면에서 요소의 배치 방법을 지정 주요 속성 : block, inlie, inline-block, none 등 |
float | 웹 요소를 왼쪽이나 오른쪽으로 배치 float을 적용한 요소는 clear 속성으로 해제 하지 않으면 뒤에 오는 요소도 계속 왼쪽이나 오른쪽으로 연결해서 배치 |
#11 위치 지정 속성
종류 | 설명 |
left right top bottom |
기준 위치와 요소 사이에 상하좌우 얼마나 떨어져 있는지를 지정 |
position | 웹 요소의 위치를 지정. 속성값으로 static, relative, absolute, fixed가 있음 |
#12 배경 이미지 관련 속성
종류 | 설명 |
background-color | 배경색을 지정 |
background-clip | 배경색이나 이미지를 적용할 밤위를 지정 |
background-image | 배경 이미지를 지정 |
background-repeat | 배경 이미지의 반복 방법을 지정 |
background-position | 배경 이미지의 위치를 지정 |
background-origin | 배경 이미지를 배치할 기준을 지정 |
background-attachment | 배경 이미지를 문서에 고정 |
background | 하나의 속성으로 배경 스타일을 한꺼번에 지정 |
background-size | 배경 이미지의 크기를 조절 |
#13 선형 그라데이션 관련 속성
종류 | 설명 |
방향 | 끝 지점을 기준으로 to 다음에 방향을 나타내는 예약어를 최대 2개까지 사용 예약어 예) left, right, top, bottom |
각도 | 그라데이션이 끝나는 각도를 지정. 값은 deg로 표기 |
색상 중지점 | 쉼표(,)로 색상을 구분. 색상만 지정하거나 색상과 중지점의 위치를 함께 지정 |
#14 원형 그라데이션 관련 속성
종류 | 설명 | |
모양 | ellipse | 타원형 그라에디션 (기본값) |
circle | 원형 그라데이션 | |
크기 | closest-side | 그라데이션 가장자리가 그라데이션 중심에서 가장 가까운 측면까지 |
closest-corner | 그라데이션 가장자리가 그라데이션 중심에서 가장 가까운 꼭지점까지 | |
farthest-side | 그라데이션 가장자리가 그라데이션 중심에서 가장 먼 측면까지 | |
farthest-corner | 그라데이션 가장자리가 그라데이션 중심에서 가장 먼 꼭지점까지 | |
위치 | at을 앞에 붙인 후 키워드나 백분율을 사용 | |
색상 중지점 | 쉼표(,)로 색상을 구분. 색상만 지정하거나 색상과 중지점의 위치를 함께 지정 |
#15 연결 선택자
종류 | 형식 | 설명 |
하위 선택자 | 상위요소 하위요소 | 상위 요소에 포함된 모든 하위 요소를 선택 |
자식 선택자 | 부모요소 > 자식요소 | 부모 요소에 포함된 자식 요소만 선택 |
인접 형제 선택자 | 요소1 + 요소2 | 요소1 이후에 맨 먼저 오는 형제 요소를 선택 |
형제 선택자 | 요소1 ~ 요소2 | 요소1과 형제인 모든 요소를 선택 |
#16 속성 선택자
종류 | 선택 요소 | 예시 |
[속성] | 해당 속성이 있는 요소 | [required] |
[속성 = 값] | 지정한 속성값이 있는 요소 | [target = _blank] |
[속성 ~= 값] | 지정한 속성값이 포함된 요소(단어별) | [[class ~= button] |
[속성 |= 값] | 지정한 속성값이 포함된 요소(하이픈 포함, 단어별) | [title ||= us] |
[속성 ^= 값] | 지정한 속성값으로 시작하는 요소 | [title ^= eng] |
[속성 $= 값] | 지정한 속성값으로 끝나는 요소 | [href $= xls] |
[속성 *= 값] | 지정한 속성값의 일부가 일치하는 요소 | [href *= w3] |
#17 가상 클래스
종류 | 설명 |
:link | 방문하지 않은 링크에 스타일을 적용 |
:visited | 방문했던 링크에 스타일을 적용 |
:hover | 지정한 요소에 마우스 포인터를 올려놓을 때 스타일을 적용 |
:active | 지정한 요소를 활성화했을 때 스타일을 적용 |
:focus | 지정한 요소에 초점이 맞춰졌을 때 스타일을 적용 |
:target | 앵커 대상에 스타일을 적용 |
:enabled | 지정한 요소를 사용할 수 있는 상태일 때 스타일을 적용 |
:disabled | 지정한 요소를 사용할 수 없는 상태일 때 스타일을 적용 |
:checked | 선택한 요소의 스타일을 적용 |
:not() | 지정한 요소가 아닐 때 선택해서 스타일을 적용 |
#18 구조 가상 클래스
종류 | 설명 |
:only-child | 부모 안에 자식 요소가 하나뿐일 떄 자식 요소를 선택 |
A:only-type-of | 부모 안에 A 요소가 하나뿐일 때 선택 |
:first-child | 부모 안에 있는 모든 요소 중에서 첫 번째 자식 요소를 선택 |
:last-child | 부모 안에 있는 모든 요소 중에서 마지막 자식 요소를 선택 |
A:first-of-type | 부모 안에 있는 A 요소 중에서 첫 번째 요소를 선택 |
A:last-of-type | 부모 안에 있는 A 요소 중에서 마지막 요소를 선택 |
:nth-child(n) | 부모 안에 있는 모든 요소 중에서 n번째 자식 요소를 선택 |
:nth-last-child(n) | 부모 안에 있는 모든 요소 중에서 끝에서 n번째 자식 요소를 선택 |
A:nth-of-type(n) | 부모 안에 있는 A 요소 중에서 n번째 요소를 선택 |
A:nth-last-of-type(n) | 부모 안에 있는 A 요소 중에서 끝엣어 n번째 요소를 선택 |
#19 가상 요소
종류 | 설명 |
::first-line | 첫 번째 줄을 선택 |
::first-letter | 줄에서 첫 번째 글자를 선택 |
::before | 특정 요소의 앞에 내용이나 스타일을 추가 |
::after | 특정 요소의 뒤에 내용이나 스타일을 추가 |
#20 변형 함수
translate() 함수: 요소 이동하기 | |
transform: translate(tx, ty) | 지정한 크기만큼 x축, y축으로 이동 |
transform: translate(tx, ty, tz) | 지정한 크기만큼 x축, y축, z축으로 이동 |
transform: translateX(tx) | 지정한 크기만큼 x축으로 이동 |
transform: translateY(ty) | 지정한 크기만큼 y축으로 이동 |
transform: translateZ(tz) | 지정한 크기만큼 z축으로 이동 |
scale() 함수: 요소 확대∙축소하기 | |
translate: scale(sx, sy) | 지정한 크기만큼 x축, y축으로 확대∙축소 |
translate: scale(sx, sy, sz) | 지정한 크기만큼 x축, y축, z축으로 확대∙축소 |
translate: scaleX(sx) | 지정한 크기만큼 x축으로 확대∙축소 |
translate: scaleY(sy) | 지정한 크기만큼 y축으로 확대∙축소 |
translate: scaleZ(sz) | 지정한 크기만큼 z축으로 확대∙축소 |
rotate() 함수: 요소 회전하기 | |
transform: rotate(각도) | 지정한 각도만큼 회전 |
transform: rotateX(각도) | x축을 기준으로 지정한 각도만큼 회전 |
transform: rotateY(각도) | y축을 기준으로 지정한 각도만큼 회전 |
transform: rotateZ(각도) | z축을 기준으로 지정한 각도만큼 회전 |
transform: rotate3d(rx, ry, rz, 각도) | x축, y축, z축을 기준으로 지정한 각도만큼 회전 |
skew() 함수: 요소 비틀기 | |
transform: skew(ax, ay) | 지정한 각도만큼 x축, y축으로 비틀기 |
transform: skewX(ax) | 지정한 각도만큼 x축으로 비틀기 |
transform: skewY(ay) | 지정한 각도만큼 y축으로 비틀기 |
#21 트랜지션 속성
종류 | 설명 |
transition-property | 트랜지션의 적용 대상을 지정. (기본값은 all) |
transition-duration | 트랜지션의 실행 시간을 지정. 단위는 s, ms. (기본값은 0) |
transition-timing-function | 트랜지션의 실행 형태를 지정 |
transition-delay | 트랜지션의 지연 시간을 지정. 단위는 s, ms. (기본값은 0) |
transition | transition-property, transition-duration transition-timing-function, transition-delay 속성을 한꺼번에 지정 |
#22 애니메이션 속성
종류 | 설명 |
@keyframes | 애니메이션이 바뀌는 지점을 설정 |
animation-delay | 애니메이션의 시작 시간을 지정 |
animation-direction | 애니메이션을 종료한 뒤 처음부터 시작할지, 반대 방향으로 진행할지 지정 |
animation-duration | 애니메이션의 실행 시간을 지정. 단위는 s, ms. |
animation-interation-count | 애니메이션의 반복 횟수를 지정 |
animation-name | @keyframes로 설정해 놓은 중간 상태를 지정 |
animation-timing-function | 키프레임의 전환 형태를 지정 |
animation | animation 속성을 한꺼번에 묶어서 지정 |
#23 미디어 쿼리의 속성
종류 | 설명 |
width, height | 웹 페이지의 가로 너비, 세로 높이 |
min-width, min-height | 웹 페이지의 최소 너비, 최소 높이 |
max-width, max-height | 웹 페이지의 최대 너비, 최대 높이 |
device-width, device-witdh | 단말기의 가로 너비, 세로 높이 |
min-device-witdh, min-device-height | 단말기의 쇠노 너비, 최소 높이 |
max-device-witdh, max-device-height | 단말기의 최대 너비, 최대 높이 |
orientation: portrait | 단말기의 세로 모드 |
orientation: landspace | 단말기의 가로 모드 |
#24 플렉스 박스 레이아웃 속성
종류 | 설명 | 속성값 |
display | 플렉스 컨테이너를 지정 | felx, inline-flex |
flext-direction | 플렉스 항목에서 주축과 방향을 지정 | row, row-reverse, column, column-reverse |
flex-wrap | 컨테이너 너비보다 항목이 많을 경우 줄 바꿈 여부를 지정 | nowrap, wrap, wrap-reverse |
felx-flow | 배치 방향과 줄 바꿈을 한번에 지정 | flex-direction 속성값과 flex-wrap 속성값 사용 |
justify-content | 주축에서 플렉스 항목 정렬 방법을 지정 | flex-start, flex-end, center, space-between, space-around |
align-items | 교차축에서 플렉스 항목 정렬 방법을 지정 | flex-start, flex-end, center, baseline, stretch |
aline-self | 특정 플렉스 항목의 정렬 방법을 지정 | flex-start, flex-end, center, baseline, stretch |
align-content | 여러 줄일 때 교차축 정렬 방법을 지정 | flex-start, flex-end, center, space-between, space-around, stretch |
flex | 플렉스 항목의 너비를 줄이거나 늘림 | 1개에서 3개까지의 값, auto, initial |
#25 CSS 그리드 레이아웃의 속성과 함수
종류 | 설명 | 속성값 |
display | 그리드 컨테이너를 지정 | grid, inlind-grid |
grid-template-columns | 칼럼을 지정 | 크깃값 |
grid-template-rows | 줄 높이를 지정 | 크깃값 |
grid-column-gap | 칼럼과 칼럼 사이의 간격을 지정 | 크깃값 |
grid-row-gap | 줄과 줄 사이의 간격을 지정 | 크깃값 |
grid-gap | 칼럼과 줄 사이의 간격을 한꺼번에 지정 | 크깃값 |
grid-column-start | 칼럼 시작의 라인 번호를 지정 | 숫자 |
grid-column-end | 칼럼 마지막의 라인 번호를 지정 | 숫자 |
grid-column | 칼럼의 시작 번호와 끝 번호 사이에 슬래시(/)를 넣어 사용 | 숫자 |
grid-row-start | 줄 시작의 라인 번호를 지정 | 숫자 |
grid-row-end | 줄 마지막의 라인 번호를 지정 | 숫자 |
grid-row | 줄의 시작 번호와 끝 번호 사이에 슬래시(/)를 넣어 사용 | 숫자 |
grid-area | 템플릿 이름을 지정 | |
grid-template-areas | grid-area를 사용해 템플릿 그리드를 만듬 | |
minmax() | 최솟값과 최댓값을 지정하는 함수 | 크깃값, auto |
repeat() | 같은 값을 여러 번 반복할 때 사용하는 함수 | 크깃값, auto-fill, auto-fit |
반응형