static
: 흐름에 따라 배치 (기본값)relative
: 상대적으로 배치absolute
: 절대적으로 배치 - 가장 가까운 조상 요소 기준으로fixed
: 절대적으로 배치 + 스크롤해도 위치 고정sticky
: 스크롤 위치에 따라 상대적으로 이동 + 특정 위치 도달 시 고정position
속성에서 정의한 위치를 조정하는 속성top
: 상단right
: 오른쪽bottom
: 하단left
: 왼쪽top: 50%; right: 50%
는 가운데가 아님 (왼쪽 상단 꼭짓점을 기준으로 하기 때문)transform: translate(-50%, -50%)
을 함께 사용하면 해결position
속성이 relative
, absolute
, fixed
, sticky
인 요소들만 적용static
만 아니면 다 적용된다는 소리left
/ right
/ none
(기본값) / inherit
(부모 상속) overflow: auto;
적용.부모-클래스::after {
content: " ";
display: block;
clear: both;
}
clear
적용 (float 영향 지워버림)clear: left
/ clear: both
clear
적용 (float 영향 지워버림)left
/ right
/ both
/ none
(기본값) / inherit
(부모 상속)transition: <property> <duration> <timing function> <delay>
transition: background-color 2s, width 2s;
=> 이걸 몰라서 그간 고생을ㅠㅠtransition-property: color;
transition-property: color, width, background-color;
transition-property: all;
linear
, ease
, ease-in
, ease-out
, ease-in-out
등@keyframes 애니메이션-이름 {
0% {}
50% {}
100% {}
}
none
(애니메이션 지정 X)animation-name: slide(애니메이션 이름);
none
: 애니메이션 실행 전/후의 상태를 유지하지 않음 (기본값)forwards
: 애니메이션이 끝난 후 마지막 키프레임 상태 유지backwards
: 애니메이션이 시작되기 전 처음 키프레임 상태 적용both
: forwards + backwardsinfinite
: 무한 반복running
: 애니메이션 재생 중paused
: 애니메이션 일시 정지normal
: 기본 방향으로 실행reverse
: 애니메이션을 역방향으로 실행alternate
: 애니메이션을 번갈아 가며 실행alternate-reverse
: 번갈아 가며 역방향으로 실행translate
: 이동scale
: 확대, 축소rotate
: 회전skew
: 기울임matrix
: 복합 변형transform-origin: top left;
display: flex;
row
/ row-reverse
/ column
/ column-reverse
nowrap
(줄바꿈X, 기본값) / wrap
/ wrap-reverse
flex-start
/ flex-end
/ center
/ space-between
/ space-around
/ space-evenly
stretch
(늘리기, 기본값) / flex-start
/ flex-end
/ center
/ baseline
: 아이템을 텍스트의 기준선에 맞춰 정렬.
display: grid;
grid-template-columns: 100px 200px 1fr;
fr
: (남은) 영역을 균등하게 나눔grid-template-columns: repeat(100, 1fr);
grid-template-areas:
"header header header"
"content content sidebar"
"footer footer footer";
...
.클래스명1 {
grid-area: header;
}
.클래스명2 {
grid-area: sidebar;
}
...
grid-column: 1 / span 2;
grid-column: 1 / 3;
grid-row: 1 / span 2;
grid-row: 1 / 3;