
정말 단순한, 정적인 html에 스타일을 입힐 때, 글자와 배경 혹은 이미지의 디자인도 중요하지만 이런 텍스트와 요소들을 어떻게 위치시킬 것인지, 그 위치에 어떤 효과를 입힐 것인지, 생각 할 수 있어야 한다.
📌 요소 쌓임 순서 - 어떤 요소가 사용자와 더 위에 쌓이는지 결정
1. 요소에 position속성의 값이 있는 경우 위에 쌓임.(기본값 static 제외)
2. 1번 조건이 같은 경우, z-index속성의 숫자 값이 높을수록 위에 쌓임
3. 1번과 2번 조건까지 같은 경우, HTML에서 나중에 작성된 코드일 수록 위에 쌓임
📖 Position 실습해보기
- container 요소의 포지션을 realtive로 잡고 item1, 2, 3 중에 item1, item2의 포지션을 absolute로 지정하였다. 포지션의 값이 같으므로 나중에 작성된 item2가 제일 위로 쌓인다.

{ display : flex } 속성이 담긴 부모의 자식 요소
📖 Flex Box 실습해보기
container에 주축 끝점으로 정렬, 줄 묶음 속성을 넣고, box에 증가 너비 비율을 1로 넣었다. 주축 끝점으로 정렬했으나 box의 증가 너비를 최대로 하여 기본값과 같아보이게 되었다.
여기서 .box에 flex-grow속성을 지우면 box는 200px의 너비로 오른쪽 끝점에 정렬하게 된다.
요소의 전환 효과를 지정하는 단축 속성
사용법 { transition: 속성명 지속시간 타이밍함수 대기시간; }
요소의 변환 효과
사용법 { transform: 변환함수1 변환함수2 변환함수3...;}
or { transform: 원근법 이동 크기 회전 기울임; }
2D 변환 함수
- px단위
translate(x,y) 이동(x축, y축)
translateX(x) 이동(x축)
translateY(y) 이동(y축)
- deg(degree)단위
rotate(deg) 회전(각도)
scale(x,y) 크기(x축, y축)
skewX(x) 기울임(x축)
skewY(y) 기울임(Y축)
3D 변환 함수
- deg단위
rotateX(x) 회전(x축)
rotateY(y) 회전(y축)
- px단위
perspective(n) ✨원근법! 함수는 제일 앞에 작성해야함
하위 요소를 관찰하는 원근 거리를 지정 단위
- 속성과 함수의 차이점
속성 : perspective: 600px; 관잘 대상의 부모에 적용 perspective-origin
함수 : transform: persfective(600px); 관찰 대상에 적용 transform-origin
+ backface-visibility 3D변환으로 회전된 요소의 뒷면 숨김 여부
visible : 보임(기본값) hidden : 숨김
📖 transform 실습해보기
perspective는 부모에 적용 한 후, "잘"이라는 텍스트를 160도 회전시켰다.
backface-visibility의 값의 기본값이 visible이기 때문에 따로 작성하지 않았고, 회전 이후 "잘"이라는 글자를 숨기고 싶다면 hidden 값을 넣어주면 된다.