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: bothclear 적용 (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-reversenowrap (줄바꿈X, 기본값) / wrap / wrap-reverseflex-start / flex-end / center / space-between / space-around / space-evenlystretch (늘리기, 기본값) / 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;