※TRANSFORM 속성은 요소에 회전, 크기 조절, 기울이기, 이동 효과를 부여할 수 있습니다.

TANSITION 속성은 속성 변경이 즉시 영향을 미치게 하는 대신, 그 속성의 변화가 일정 기간에 걸쳐 일어나도록 해 주는 것으로 두 가지를 잘 활용한다면 다양한 애니메이션 적 효과를 줄 수 있습니다.

 

목차

1. TRANSFORM(변형)

2. TRANSITION(변화)

 

1. TRANSFORM (변형)

TRANSFORM 속성은 요소에 회전, 크기 조절, 기울이기, 이동 효과를 부여할 수 있습니다.

크게 2차원 변형과 3차원 변형으로  2가지의 형태를 가집니다.

  • 2차원 변형 : 웹 요소를 단순히 수평이나 수직으로 이동하고 회전하는 것
  • 3차원 변형 : x축과 y축에 원근감을 주는 z 축을 추가해 변형시키는 것

@2D 변형의 속성

rotate() 요소를 회전, 단위는 deg
scale(x,y) 요소의 너비와 높이를 같이 변경, 단위는 등배단위
scaleX() 요소의 너비만 변경, 단위는 등배단위
scaleY() 요소의 높이만 변경, 단위는 등배단위
skew(x,y) X축과 Y축에 따라 기울기 변환, 단위는 deg
skewX() X축을 기준으로 기울기 변환, 단위는 deg
skewY() Y축을 기준으로 기울기 변환, 단위는 deg
translate(x,y) 요소의 이동을 x축, y축으로 이동, 단위는 px
translateX() 요소를 x축으로 이동, 단위는 px
translateY() 요소를 y축으로 이동, 단위는 px
matrix(n,n,n,n,n,n) 6개의 매개변수를 한번에 처리
matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY())

 

@코드로 보기
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            background-color: orange;
        }
        .box:hover {
            transform: scale(1.5,1.5);
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

위와 같이 적용하면 box에 마우스가 닿으면 x, y축이 각 1.5배씩 증가하게 됩니다.

 

 

@3D 변형의 속성

rotate3d(x, y, z, angle) 3D회전을 한번에 정의
rotateX() X축을 중심으로 3D회전을 정의
rotateY() Y축을 중심으로 3D회전을 정의
rotateZ() Z축을 중심으로 3D회전을 정의
scale3d(x, y, z) 3D스케일(크기) 변화를 한번에 정의
scaleX() X축을 중심으로 3D크기를 정의
scaleY() Y축을 중심으로 3D크기를 정의
scaleZ() Z축을 중심으로 3D크기를 정의
translate3d(x, y, z) 3D적 요소 이동을 한번에 정의
translateX() X축을 중심으로 3D이동을 정의
translateY() Y축을 중심으로 3D이동을 정의
translateZ() Z축을 중심으로 3D이동을 정의
matrix3d
(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)
16개값으로 구성되어 4X4행렬로 모든 3Dtransform값을 정의
perspective(n) 3D 변형 요소의 투시도를 지정

 

 

 

2. TRANSITION(변화)

※CSS 속성을 변경할 때 애니메이션 속도를 조절하는 방법을 제공합니다. 속성 변경이 즉시 영향을 미치게 하는 대신, 그 속성의 변화가 일정 기간에 걸쳐 일어나도록 할 수 있습니다.

 

linear  등속 변화, cubic-bezier(0, 0, 1, 1)과 같다.
ease 느리게 시작했다가 빨라졌다 다시 느려진다. cubic-bezier(0.25, 0.1, 0.25, 1)과 같다.
ease-in 점점 빨라진다. cubic-bezier(0.42, 0, 1, 1)과 같다.
ease-out 점점 느려진다. cubic-bezier(0, 0, 0.58,1)과 같다.. 
ease-in-out 처음과 끝이 느리다.. cubic-bezier(0.42, 0, 0.58,1)와 같다.
cubic-bezier(N,N,N,N) 값을 입력하여 가/감속을 조작한다. 

+ Recent posts