CodeGym /Khóa học Java /Frontend SELF VI /Nền tảng của các phép biến đổi

Nền tảng của các phép biến đổi

Frontend SELF VI
Mức độ , Bài học
Có sẵn

1.1 Thuộc tính transform

CSS-transformations cho phép thay đổi vị trí, kích thước, xoay và nghiêng các phần tử mà không làm thay đổi dòng chảy thông thường của tài liệu. Đây là công cụ mạnh mẽ để tạo ra các giao diện web tương tác và động. Hãy xét những điều căn bản của transformations sử dụng các thuộc tính transform, translate, rotate, scaleskew.

Thuộc tính transform cho phép áp dụng các phép biến đổi 2D và 3D lên các phần tử. Nó kết hợp nhiều hàm biến đổi khác nhau, như translate, rotate, scaleskew.

Cú pháp:

    
      element {
        transform: transformation-function;
      }
    
  

Ở đâu:

  • transformation-function: hàm biến đổi được áp dụng cho phần tử

Ví dụ sử dụng:

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

1.2 Biến đổi translate

Biến đổi translate được sử dụng để di chuyển phần tử dọc theo trục X và/hoặc Y.

Cú pháp:

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

Ở đâu:

  • x: dịch chuyển dọc theo trục X (có thể âm hoặc dương)
  • y: dịch chuyển dọc theo trục Y (có thể âm hoặc dương)

Ví dụ:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Biến đổi 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>
    
  

Giải thích mã:

  • .box: phần tử có kích thước và màu sắc cố định
  • .box:hover: khi di chuột vào phần tử, phép biến đổi translate(50px, 50px) được áp dụng, di chuyển nó 50 pixel sang bên phải và xuống dưới

1.3 Biến đổi rotate

Biến đổi rotate được sử dụng để xoay phần tử quanh trung tâm của nó.

Cú pháp:

    
      element {
        transform: rotate(angle);
      }
    
  

Ở đâu:

  • angle: góc xoay tính bằng độ (có thể âm hoặc dương)

Ví dụ:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Biến đổi 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>
    
  

Giải thích mã:

  • .box: phần tử có kích thước và màu sắc cố định
  • .box:hover: khi di chuột vào phần tử, phép biến đổi rotate(45deg) được áp dụng, xoay nó 45 độ theo chiều kim đồng hồ

1.4 Biến đổi scale

Biến đổi scale được sử dụng để thay đổi kích thước phần tử dọc theo trục X và/hoặc Y.

Cú pháp:

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

Ở đâu:

  • sx: tỷ lệ theo trục X (giá trị lớn hơn 1 tăng kích thước phần tử, nhỏ hơn 1 giảm)
  • sy: tỷ lệ theo trục Y (giá trị lớn hơn 1 tăng kích thước phần tử, nhỏ hơn 1 giảm)

Ví dụ:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Biến đổi 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>
    
  

Giải thích mã:

  • .box: phần tử có kích thước và màu sắc cố định
  • .box:hover: khi di chuột vào phần tử, phép biến đổi scale(1.5, 1.5) được áp dụng, tăng kích thước của nó lên 1.5 lần theo cả hai trục

1.5 Biến đổi skew

Biến đổi skew được sử dụng để nghiêng phần tử dọc theo trục X và/hoặc Y.

Cú pháp:

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

Ở đâu:

  • ax: góc nghiêng theo trục X (có thể âm hoặc dương)
  • ay: góc nghiêng theo trục Y (có thể âm hoặc dương)
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Biến đổi 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>
    
  

Giải thích mã:

  • .box: phần tử có kích thước và màu sắc cố định.
  • .box:hover: khi di chuột vào phần tử, phép biến đổi skew(20deg, 10deg) được áp dụng, nghiêng nó 20 độ theo trục X và 10 độ theo trục Y.

1.6 Kết hợp các phép biến đổi khác nhau

Thuộc tính transform cho phép kết hợp nhiều hàm biến đổi để đạt được các hiệu ứng phức tạp.

Ví dụ:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Kết hợp biến đổi</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>
    
  

Giải thích mã:

  • .box: phần tử có kích thước và màu sắc cố định
  • .box:hover: khi di chuột vào phần tử, đồng thời các phép biến đổi translate, rotate, scaleskew được áp dụng, tạo ra hiệu ứng phức tạp
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION