CSS 노트
box-sizing: border-box;
margin, padding이 width, height 박스에 다 포함되어 부모.자식이 들어맞게 된다.
position: relative;
absolute 포지션을 가진 자식 요소가 위치를 참조할 수 있게한다.
clip-path: polygon(0 0, 100% 0, 100% 75vh, 0 100%);
이건 어려우니까 이걸 여러모양으로 만들어주는 사이트를 참조할 것
animation: moveInBottom .5s ease-out .75s;
순서: name duration timing-function delay
animation-fill-mode: backwards;
애니메이션 실행 전에 animation-name의 초기값이 적용되도록 함
CSS Cascade, 적용 순서
-
!important
- User의 !important선언
- Author의 !important선언
- Author의 선언
- User의 선언
- 브라우저의 기본 선언
-
Specificity
- 인라인 스타일
- 아이디
- 클래스, 의사 클래스, 속성
- 요소, 의사 요소
- 코드의 순서
가장 마지막 선언이 다른 선언 다 덮어쓴다.
Value 값이 정해지는 과정
- 값 선언
- Cascade 이후
- Cascade가 없는 경우 기본 초기 값들 (마진, 패딩은 기본 0)
- 상대값을 절대값으로 변환
- 레이아웃을 보고 값을 계산함
- 브라우저와 장치의 제한(소수점을 없애는 반올림 등)
상대값이 절대값으로 변환되는 방법
- % fonts – 부모의 계산완료된 폰트크기 * x%
- % lengths – 부모의 계산완료된 넓이 * x%
- em fonts – 부모의 계산완료된 폰트크기 * x
- em lengths – 현재 요소의 계산완료된 폰트크기 * x
- rem – 루트의 폰트크기 * x
- vh
- vw
이런 거 쓰는 이유 :
폰트 크기만 바꿔도 레이아웃 크기를 자동으로 조정할 수 있어
더 Responsive한 레이아웃을 만들 수 있음.