CodeGym /Các khóa học /Frontend SELF VI /Ứng dụng của transitions

Ứng dụng của transitions

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

5.1 Thay đổi màu sắc

CSS transitions cho phép bạn tạo hiệu ứng chuyển động cho sự thay đổi của các thuộc tính phần tử, tạo ra những hiệu ứng hình ảnh mượt mà. Giờ chúng ta sẽ xem cách sử dụng transitions để thay đổi màu sắc, kích thước và vị trí của các phần tử, cũng như đưa ra các ví dụ thực tiễn.

Thay đổi màu sắc của phần tử bằng CSS transitions là một trong những ứng dụng phổ biến nhất. Điều này có thể bao gồm thay đổi màu sắc của văn bản, nền hoặc đường viền của phần tử.

Ví dụ 1: Thay đổi màu nền

Ví dụ này minh họa việc thay đổi màu nền của phần tử khi hover:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Thay đổi màu nền</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #3498db;
              transition: background-color 1s ease;
            }

            .box:hover {
              background-color: #2ecc71;
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Giải thích mã:

  • .box: phần tử với kích thước cố định và màu nền ban đầu
  • .box:hover: khi hover, màu nền thay đổi từ xanh dương sang xanh lá cây trong 1 giây với ease timing function

Ví dụ 2: Thay đổi màu văn bản

Ví dụ này minh họa việc thay đổi màu văn bản của phần tử khi hover:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Thay đổi màu văn bản</title>
          <style>
            .text {
              font-size: 24px;
              color: #e74c3c;
              transition: color 0.5s linear;
            }

            .text:hover {
              color: #8e44ad;
            }
          </style>
        </head>
        <body>
          <div class="text">Hover over me!</div>
        </body>
      </html>
    
  

Giải thích mã:

  • .text: phần tử với màu văn bản ban đầu
  • .text:hover: khi hover, màu văn bản thay đổi từ đỏ sang tím trong 0.5 giây với linear timing function

5.2 Thay đổi kích thước

Thay đổi kích thước các phần tử bằng CSS transitions có thể bao gồm thay đổi chiều rộng, chiều cao hoặc cả hai kích thước cùng một lúc.

Ví dụ 1: Thay đổi chiều rộng

Ví dụ này minh họa việc thay đổi chiều rộng của phần tử khi hover:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Thay đổi chiều rộng</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #f39c12;
              transition: width 2s ease-in-out;
            }

            .box:hover {
              width: 200px;
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Giải thích mã:

  • .box: phần tử với chiều rộng ban đầu 100 pixels
  • .box:hover: khi hover, chiều rộng của phần tử tăng lên 200 pixels trong 2 giây với ease-in-out timing function

Ví dụ 2: Thay đổi chiều cao

Ví dụ này minh họa việc thay đổi chiều cao của phần tử khi hover:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Thay đổi chiều cao</title>
          <style>
            .container {
              height: 200px;
            }
            .box {
              width: 100px;
              height: 100px;
              background-color: #1abc9c;
              transition: height 1.5s ease;
            }

            .box:hover {
              height: 200px;
            }
          </style>
        </head>
        <body>
          <div class="container">
            <div class="box"></div>
          </div>
        </body>
      </html>
    
  

Giải thích mã:

  • .box: phần tử với chiều cao ban đầu 100 pixels
  • .box:hover: khi hover, chiều cao của phần tử tăng lên 200 pixels trong 1.5 giây với ease timing function

5.3 Thay đổi vị trí

Thay đổi vị trí của các phần tử bằng CSS transitions có thể bao gồm việc di chuyển phần tử bằng cách sử dụng các thuộc tính top, right, bottom, left hoặc các phép biến đổi translate.

Ví dụ 1: Di chuyển bằng cách sử dụng left

Ví dụ này minh họa việc di chuyển phần tử sang bên phải khi hover bằng cách sử dụng thuộc tính left:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Di chuyển phần tử</title>
          <style>
            .box {
              position: relative;
              width: 100px;
              height: 100px;
              background-color: #e74c3c;
              transition: left 2s;
              left: 0;
            }

            .box:hover {
              left: 100px;
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Giải thích mã:

  • .box: phần tử với vị trí ban đầu left: 0
  • .box:hover: khi hover, phần tử di chuyển mượt mà sang phải 100 pixels trong 2 giây

Ví dụ 2: Di chuyển bằng cách sử dụng transform: translate

Ví dụ này minh họa việc di chuyển phần tử sang phải và xuống dưới khi hover bằng cách sử dụng phép biến đổi translate:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Di chuyển bằng transform: translate</title>
          <style>
            .container {
              height: 150px;
            }
            .box {
              width: 100px;
              height: 100px;
              background-color: #3498db;
              transition: transform 1s;
              transform: translate(0, 0);
            }

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

Giải thích mã:

  • .box: phần tử với phép biến đổi ban đầu translate(0, 0)
  • .box:hover: khi hover, phần tử di chuyển mượt mà 100 pixels sang phải và 50 pixels xuống dưới trong 1 giây
1
Khảo sát/đố vui
, cấp độ , bài học
Không có sẵn
Biến đổi
Biến đổi
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION