transform 속성을 사용하여 요소(要素)를 이동, 회전, 크기 조절, 기울게 할 수 있습니다. 공백으로 구분하여 한꺼번에 지정할 수 있습니다.
transform 속성은 2차원과 3차원의 두 개의 다른 설정이 있습니다. 이들은 각각 독자적인 개별 속성과 값이 붙어 있습니다.
transform 속성에 대한 브라우저의 지원이 아직 완벽하지는 않지만, 벤더 접두사(-webkit-, -moz-, -o- 등)로 어느 정도 커버할 수 있습니다.
transform 속성을 포함해서, 속성 값은 괄호 안에 수치(数値) 등을 입력하여 스타일을 지정할 수 있습니다.
벤더 접두사(vendor prefixes)
div { -webkit-transform: rotateY(45deg); -moz-transform: rotateY(45deg); -o-transform: rotateY(45deg); transform: rotateY(45deg); }
점점 브라우저 지원 환경이 개선되고 있기 때문에 시간이 지날수록 벤더 접두사가 필요 없게되는 시기가 올 것이지만, 당분간은 병행하는 것이 좋을지도 모릅니다.
요소는 2차원과 3차원 모두에서 transform이 작동합니다.
2차원의 transform은 각각 수평 및 수직 축인 X축과 Y 축에서 작동합니다. 3차원은 X축와 Y축, 그리고 깊이를 나타내는 Z축을 추가하여 정의합니다.
transform 속성 | |
---|---|
rotate(deg) | 요소를 회전시킨다. rotate(), rotateX(), rotateY(), rotateZ(), rotate3d() 값의 지정은 ()에 회전 각도 값을 입력한다. |
scale(수치)) | 요소의 크기를 조절한다. scale(), scaleX(), scaleY(), scaleZ(), scale3d() 값의 지정은 ()에 숫자를 입력한다. |
skew(deg) | 요소의 경사를 변형시킨다. skew(), skewX(), skewY() 값의 지정은 ()에 경사 각도의 값을 입력한다. |
translate(거리) | 요소의 위치를 이동시킨다. translate(), translateX(), translateY(), translateZ(), translate3d() 값의 지정은 ()에 거리 값을 입력한다. |
스폰서 링크
Rotate 값은 0도에서 360도까지 요소를 회전시킵니다. 양수(+)는 요소를 시계 방향으로 회전시키고, 음수(-)는 반 시계 방향으로 회전합니다. 회전의 초기 값은 요소의 중앙인 50% 50%(수평과 수직 모두)입니다.
rotate 각도의 단위는 deg로 회전 각도를 지정할 수 있습니다.
transform: rotate(Ndeg):(반)시계 방향으로 회전
먼저 2개의 박스를 지정합니다. 하나는 원래의 박스(회색), 다른 하나는 회전에 사용할 박스(흰색 원)를 아래와 같이 각각 지정합니다.
CSS:박스 지정
.backbox { background-color:#666; border-radius: 3px; margin: 25px 25px; position:relative; float: left;} .rotatebox { border:1px solid #999; background:#FFF; width:100px; height: 100px;}
다음으로, 박스를 회전시키는 임의의 박스를 준비하고 설정합니다.
박스에 마우스 오버했을 때 시계 방향으로 360도, 2초간 회전하도록 "hewjeon" 라는 애니메이션 이름으로 rotate값을 지정합니다.
반 시계 방향으로 회전하려면 "transform : rotate (-360deg);>"와 같이 음수 값을 지정합니다.
CSS:rotate 지정
.rotating { cursor: pointer; transform-style: flat; } .rotating:hover { animation: hewjeon 2s linear infinite; } @keyframes hewjeon { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
부모(親) 박스(backbox)에 회전하는 자식(子) 박스(rotatiebox)와 그것을 회전시키도록 회전 애니메이션이 설정된 임의의 회전 박스(rotating)을 배치한 것이 다음의 결과입니다.
HTML
<body> <div class="backbox"> <div class="rotating"> <figure class="rotatebox">시계 방향</figure> </div> </div> </body>
▼ 아래의 각각의 원에 마우스를 올려 놓아 보십시요.
transform 속성:rotate() | |
---|---|
rotate(회전 각도) | 요소에 2D 회전을 지정합니다. |
rotateX(회전 각도) | X축에 시계 방향 회전을 지정합니다. |
rotateY(회전 각도) | Y축에 시계 방향 회전을 지정합니다. |
rotateZ(회전 각도) | Z축에 시계 방향의 회전을 지정합니다. |
rotate3d(수치, 수치, 수치, 회전 각도) | rotate3d() 함수에서는, 처음의 세 숫자에 각각 x, y, z의 거리를 지정하여 임의의 축 방향을 지정하고, 마지막으로 회전 각도에 시계 방향의 3D 회전을 지정합니다. |
스폰서 링크
스폰서 링크
Category
TABMODE Copyright©All rights reserved