개발 도구 (Development Tools)/HTML & CSS

한 장으로 정리하는 CSS

BiCute 2022. 4. 24. 10:00
반응형

 

 

#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

 

 

 

반응형