요소의 크기나 변형을 가할수 있다.
width나 height는 요소의 좌측상단이 기준인데 transform은 중앙이 기준이고, 기준점을 바꿀수가있따.
장점 : 하드웨어 가속을 이용해서 성능이 좋다.
ex) 모바일에서 absolute로 top이나 left등등으로 위치 조정을 하는것 보다 transform에 translate 사용하는게 더 성능이좋다. (gpu를 사용한다!!!!)
어떤요소의 width 나 height를 변경해서 요소의 크기를 바꾸는것.
transform scale을 이용해서 요소의 크기를 바꾸는것 (연산이 적다)
.box:hover {
// 기준점이 중앙이다.
transform: scale(2) rotate(15deg);
transform-origin: 100% 100%;
transform : translate(x축이동, y축이동);
transform : translateX(30px);
}
// 기준점을 바꾸는 방법 : 좌측 상단
transform-origin : left top;
// 숫자값도 가능 (가로방향 위치, 세로방향 위치)
transform-origin : 0% 0%;
// 기준점을 중앙으로 %로 나타내는 방법
transform-origin. : 50% 50%;
.box {
width: 100px;
height: 100px;
border: 2px solid black;
background: rgba(255, 255, 0, 0.7);
// box가 hover했을때 변경되는거니깐 transition을 준다.
// 1. 재생시간 === 플레이시간
// 1초동안 실행.
transition: 1s;
}
.box:hover {
width: 200px;
background: red;
transform: scale(1.5) rotate(15deg);
}
transition 속성 세부사항