transform
transform 속성은 이동, 회전, 축소 등의 효과를 지정하는 속성이다.
| 속성 | 설명 | 단위 | 
|---|---|---|
| translate(x,y) | X축으로 x, Y축으로 y 이동 | px, %, em | 
| translateX(x) | X축으로 x 이동 | px, %, em | 
| translateY(y) | Y축으로 y 이동 | px, %, em | 
| scale(x,y) | X축으로 x배, Y축으로 y배 확대/축소 | 0, 양수 | 
| scaleX(x) | X축으로 x배 확대/축소 | 0, 양수 | 
| scaleY(y) | Y축으로 y배 확대/축소 | 0, 양수 | 
| skew(x, y) | X축으로 x 각도, Y축으로 y 각도 기울임 | +, - deg | 
| skewX(x) | X축으로 x 각도 기울임 | +, - deg | 
| skewY(y) | Y축으로 y 각도 기울임 | +, - deg | 
| rotate(x) | x 만큼 회전 | +, - deg | 
<html>
    <head>
        <style>
            div {
                width: 110px;
                height: 110px;
                background-color: red;
                text-align: center;
                line-height: 110px;
                margin: 20px;
                margin-bottom: 10px;
                float: left;
                transition: all 1s;
            }
            input:checked ~.translate, .translate:hover {
                transform: translate(8px, 8px);
            }
            input:checked ~.translatex, .translatex:hover {
                transform: translateX(8px);
            }
            input:checked ~.translatey, .translatey:hover {
                transform: translateY(8px);
            }
            input:checked ~.scale, .scale:hover {
                transform: scale(1.2, 1.2);
            }
            input:checked ~.scalex, .scalex:hover {
                transform: scaleX(1.2);
            }
            input:checked ~.scaley, .scaley:hover {
                transform: scaleY(1.2);
            }
            input:checked ~.skew, .skew:hover {
                transform: skew(10deg, 10deg);
            }
            input:checked ~.skewx, .skewx:hover {
                transform: skewX(10deg);
            }
            input:checked ~.skewy, .skewy:hover {
                transform: skewY(10deg);
            }
            input:checked ~.rotate, .rotate:hover {
                transform: rotate(40deg);
            }
        </style>
    </head>
    <body>
        <h1>transform</h1>
        <input type="checkbox">
        <br>
        <div class="translate">translate</div>
        <div class="translatex">translateX</div>
        <div class="translatey">translateY</div>
        <div class="scale">scale</div>
        <div class="scalex">scaleX</div>
        <div class="scaley">scaleY</div>
        <div class="skew">skew</div>
        <div class="skewx">skewX</div>
        <div class="skewy">skewY</div>
        <div class="rotate">rotate</div>
    </body>
</html>See the Pen eYmoaXO by 양상길 (@omfazpiq) on CodePen.
transform-origin
transform-origin 속성은 요소의 기준점을 지정한다. 기본값은 중앙(50%, 50%)이다.
  
- 값으로 %, px, top, left, right, bottom을 사용할 수 있다.
- 0, 0 은 top, left 를 100%, 100% 는 bottom, right와 같다.
<html>
    <head>
        <style>
            div {
                width: 110px;
                height: 110px;
                background-color: red;
                text-align: center;
                line-height: 110px;
                margin: 20px;
                margin-bottom: 10px;
                float: left;
            }
            input:checked ~.translate, .translate:hover {
                transform-origin: 100% 100%;
                transform: translate(8px, 8px);
                transition: transform 1s;
            }
            input:checked ~.scale, .scale:hover {
                transform-origin: 0 0;
                transform: scale(1.2, 1.2);
                transition: transform 1s;
            }
            input:checked ~.skew, .skew:hover {
                transform-origin: 100% 100%;
                transform: skew(10deg, 10deg);
                transition: transform 1s;
            }
            input:checked ~.rotate, .rotate:hover {
                transform-origin: 0 50%;
                transform: rotate(40deg);
                transition: transform 1s;
            }
        </style>
    </head>
    <body>
        <h1>transform-origin</h1>
        <input type="checkbox">
        <br>
        <div class="translate">translate</div>
        <div class="scale">scale</div>
        <div class="skew">skew</div>
        <div class="rotate">rotate</div>
    </body>
</html>반응형
    
    
    
  'CSS' 카테고리의 다른 글
| [CSS] Flexbox(2) (61) | 2022.03.15 | 
|---|---|
| [CSS] Flexbox(1) (81) | 2022.03.14 | 
| [CSS] Transition (43) | 2022.03.12 | 
| [CSS] Gradient (66) | 2022.03.11 | 
| [CSS] Float (33) | 2022.03.10 | 
댓글