CodeGym /Kurslar /Frontend SELF AZ /Birləşmiş transformasiyalar

Birləşmiş transformasiyalar

Frontend SELF AZ
Səviyyə , Dərs
Mövcuddur

3.1 Kombinə edilmiş transformasiyaların əsasları

CSS bir neçə transformasiyanı birləşdirərək kompleks vizual effektlər yaratmağa imkan verir. Bu transformasiyalar translate, rotate, scaleskew-i əhatə edə bilər və onları transform xüsusiyyətində birləşdirmək olar.

Transform xüsusiyyəti bir neçə transformasiya funksiyasını boşluqlarla ayrılmış şəkildə ehtiva edə bilər. Onlar ardıcıllıqla, yazılma sırasına görə tətbiq ediləcək. Fərqli transformasiyaların bir-birinə necə təsir etdiyini anlamaq kompleks animasiyalar və effektlər yaratmaq üçün çox vacibdir.

Sintaksis:

    
      element {
        transform: function1() function2() ... functionN();
      }
    
  

Nümunə:

CSS
    
      element {
        transform: translate(20px, 20px) rotate(45deg) scale(1.5) skew(10deg, 5deg);
      }
    
  

Hərəkət və döndürmə

Bu nümunədə element sağa 50 piksel və aşağıya 50 piksel hərəkət edir, sonra isə 45 dərəcə döndürülür.

Nümunə:

HTML
    
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Hərəkət və döndürmə</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #3498db;
              transform: translate(50px, 50px) rotate(45deg);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Kodun izahı:

  • .box: element əvvəlcə sağa və aşağıya 50 piksel hərəkət edir, sonra isə saat yönündə 45 dərəcə döndürülür

3.2 Müxtəlif kombinasiyaların təhlili

1. Miqyaslama və əyilmə

Bu nümunədə element həm X, həm də Y oxları üzrə 1.5 dəfə miqyaslanır, sonra isə X oxu üzrə 20 dərəcə, Y oxu üzrə isə 10 dərəcə əyilir.

Nümunə:

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Miqyaslama və əyilmə</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #e74c3c;
              transform: scale(1.5) skew(20deg, 10deg);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Kod izahı:

  • .box: element əvvəlcə hər iki ox üzrə 1.5 dəfə miqyaslanır, daha sonra X oxu üzrə 20 dərəcə, Y oxu üzrə isə 10 dərəcə əyilir

2. Yerdəyişmə, döndürmə və miqyaslama

Bu nümunədə element sağa doğru 100 piksel yerini dəyişir, 30 dərəcə döndürülür və X oxu üzrə 2 dəfə, Y oxu üzrə isə 1.5 dəfə miqyaslanır.

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Yerdəyişmə, döndürmə və miqyaslama</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #2ecc71;
              transform: translate(100px, 0) rotate(30deg) scale(2, 1.5);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Kod izahı:

  • .box: element əvvəlcə sağa doğru 100 piksel yerini dəyişir, sonra 30 dərəcə döndürülür və X oxu üzrə 2 dəfə, Y oxu üzrə isə 1.5 dəfə miqyaslanır

3.3 Transformasiyaların sırası təsiri

Bir neçə transformasiya birləşdirildikdə, onların ardıcıl tətbiq olunduğunu anlamaq vacibdir. Bu o deməkdir ki, hər bir növbəti transformasiya əvvəlkinin nəticəsinə təsir edəcək.

Bu nümunədə transformasiyaların sırasının son nəticəyə necə təsir etdiyi göstərilir.

Nümunə A: əvvəlcə dönmə, sonra hərəkət

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Əvvəlcə dönmə, sonra hərəkət</title>
          <style>
            .box-a {
              width: 100px;
              height: 100px;
              background-color: #3498db;
              transform: rotate(45deg) translate(50px, 50px);
            }
          </style>
        </head>
        <body>
          <div class="box-a"></div>
        </body>
      </html>
    
  

Nümunə B: əvvəlcə hərəkət, sonra dönmə

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Əvvəlcə hərəkət, sonra dönmə</title>
          <style>
            .box-b {
              width: 100px;
              height: 100px;
              background-color: #e74c3c;
              transform: translate(50px, 50px) rotate(45deg);
            }
          </style>
        </head>
        <body>
          <div class="box-b"></div>
        </body>
      </html>
    
  

Kodun izahı:

  • .box-a: element əvvəlcə 45 dərəcə dönür, sonra isə sağa və aşağı 50 piksel hərəkət edir, bu da elementin dönmədən sonra yeni mövqeyindən diaqonal olaraq hərəkət etməsinə səbəb olur
  • .box-b: element əvvəlcə sağa və aşağı 50 piksel hərəkət edir, sonra isə 45 dərəcə dönür, bu da elementin yeni mövqeyindən dönməsinə səbəb olur
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION