CodeGym /행동 /Frontend SELF KO /변환의 기초

변환의 기초

Frontend SELF KO
레벨 23 , 레슨 0
사용 가능

1.1 transform 속성

CSS 변환은 요소의 위치, 크기, 회전 및 기울기를 문서의 일반적인 흐름을 변경하지 않고도 변경할 수 있게 해줘. 이건 상호작용성과 동적 웹 인터페이스를 만들기 위한 강력한 도구지. transform, translate, rotate, scale 그리고 skew 속성을 사용한 변환의 기초를 살펴보자.

transform 속성은 요소에 2D 및 3D 변환을 적용할 수 있게 해줘. 이 속성은 translate, rotate, scaleskew 같은 다양한 변환 함수를 결합해.

문법:

    
      element {
        transform: transformation-function;
      }
    
  

여기서:

  • transformation-function: 요소에 적용되는 변환 함수

사용 예:

CSS
    
      .element {
        transform: translate(50px, 100px);
      }
    
  

1.2 translate 변환

translate 변환은 X축 및/또는 Y축을 따라 요소를 이동시키는 데 사용돼.

문법:

    
      element {
        transform: translate(x, y);
      }
    
  

여기서:

  • x: X축의 이동 (음수 또는 양수일 수 있어)
  • y: Y축의 이동 (음수 또는 양수일 수 있어)

예제:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>translate 변환</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #3498db;
              transition: transform 0.5s;
            }

            .box:hover {
              transform: translate(50px, 50px);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

코드 설명:

  • .box: 고정 크기와 색상을 가진 요소
  • .box:hover: 요소에 마우스를 올리면 translate(50px, 50px) 변환이 적용되어 요소를 오른쪽 아래로 50픽셀 이동시킴

1.3 rotate 변환

회전 변환은 요소를 중심으로 회전시키는 데 사용돼.

문법:

    
      element {
        transform: rotate(angle);
      }
    
  

여기서:

  • angle: 회전 각도 (음수 또는 양수일 수 있어)

예제:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>rotate 변환</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #e74c3c;
              transition: transform 0.5s;
            }

            .box:hover {
              transform: rotate(45deg);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

코드 설명:

  • .box: 고정 크기와 색상을 가진 요소
  • .box:hover: 요소에 마우스를 올리면 rotate(45deg) 변환이 적용되어 시계 방향으로 45도 회전됨

1.4 scale 변환

scale 변환은 X축 및/또는 Y축을 따라 요소의 크기를 변경하는 데 사용돼.

문법:

    
      element {
        transform: scale(sx, sy);
      }
    
  

여기서:

  • sx: X축의 크기 조정 (1보다 크면 확대, 1보다 작으면 축소)
  • sy: Y축의 크기 조정 (1보다 크면 확대, 1보다 작으면 축소)

예제:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>scale 변환</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #2ecc71;
              transition: transform 0.5s;
            }

            .box:hover {
              transform: scale(1.5, 1.5);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

코드 설명:

  • .box: 고정 크기와 색상을 가진 요소
  • .box:hover: 요소에 마우스를 올리면 scale(1.5, 1.5) 변환이 적용되어 요소의 크기가 X축과 Y축 모두 1.5배 커짐

1.5 skew 변환

skew 변환은 X축 및/또는 Y축을 따라 요소를 기울이는 데 사용돼.

문법:

    
      element {
        transform: skew(ax, ay);
      }
    
  

여기서:

  • ax: X축의 기울기 각도 (음수 또는 양수일 수 있어)
  • ay: Y축의 기울기 각도 (음수 또는 양수일 수 있어)
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>skew 변환</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #9b59b6;
              transition: transform 0.5s;
            }

            .box:hover {
              transform: skew(20deg, 10deg);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

코드 설명:

  • .box: 고정 크기와 색상을 가진 요소
  • .box:hover: 요소에 마우스를 올리면 skew(20deg, 10deg) 변환이 적용되어 X축을 기준으로 20도, Y축을 기준으로 10도 기울어짐

1.6 다양한 변환의 결합

transform 속성은 여러 변환 함수를 결합하여 복잡한 효과를 얻을 수 있게 해줘.

예제:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>결합된 변환</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #3498db;
              transition: transform 0.5s;
            }

            .box:hover {
              transform: translate(50px, 50px) rotate(45deg) scale(1.5) skew(20deg, 10deg);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

코드 설명:

  • .box: 고정 크기와 색상을 가진 요소
  • .box:hover: 요소에 마우스를 올리면 translate, rotate, scale, skew 변환이 동시에 적용되어 복잡한 효과를 생성함
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION