CodeGym /Kurslar /Frontend SELF AZ /Ölçü vahidləri

Ölçü vahidləri

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

4.1 Faiz dəyərləri

Faiz dəyərlərinisbi vahidlər CSS-də elastik və cavab verən dizaynların yaradılmasında mühüm rol oynayır. Onlar elementlərin müxtəlif ekran ölçülərinə və dəyişən şərtlərə uyğunlaşmasına imkan verir, daha yaxşı uyğunlaşma və istifadə rahatlığı təmin edir.

Faiz dəyərləri elementlərin ölçülərini onların valideyn elementlərinin ölçülərinə nisbətən təyin etmək üçün istifadə olunur. Bu, dizaynı daha elastik və uyğunlaşa bilən edir.

% istifadə nümunəsi:

CSS
    
      .container {
        width: 80%;
        margin: 0 auto;
        background-color: #f4f4f4;
      }

      .box {
        width: 50%;
        padding-top: 25%; /* Tərəf nisbəti 1:2 */
        background-color: #3498db;
        color: white;
        text-align: center;
        position: relative;
      }

      .box::before {
        content: "";
        display: block;
        padding-top: 50%; /* Tərəf nisbəti 2:1 */
      }
    
  
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>% istifadə nümunəsi</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <div style="min-height: 200px;">
            <div class="container">
              <div class="box">Kontent</div>
            </div>
          </div>
        </body>
      </html>
    
  
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>% istifadə nümunəsi</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <div class="container">
            <div class="box">Kontent</div>
          </div>
        </body>
      </html>
    
  

Kodun izahı:

  • .container: konteynerin eni valideyn elementin eninin 80%-i kimi təyin edilir, onu margin: 0 auto ilə mərkəzləşdirir
  • .box: blokun eni konteynerin eninin 50%-i kimi təyin edilir. Blokun hündürlüyü padding-top vasitəsilə təyin edilir ki, bu da 1:2 tərəf nisbəti təmin edir

4.2 Nisbət vahidləri (em və rem)

em vahidi — valideyn elementinin şrift ölçüsündən asılı olan nisbətli vahiddir. Əgər valideynin şrift ölçüsü dəyişərsə, em qiymətləri də dəyişir.

em-dən istifadə nümunəsi:

CSS
    
      .parent {
        font-size: 16px;
      }

      .child {
        font-size: 1.5em; /* 1.5 * 16px = 24px */
        padding: 1em; /* 1 * 16px = 16px */
      }
    
  

rem vahidi — kök elementin (html) şrift ölçüsündən asılı olan nisbətli vahiddir. O, valideyn elementlərdən asılı deyil ki, bu da onu daha proqnoz edilən və miqyaslana bilən dizaynlar üçün rahat edir.

rem-dən istifadə nümunəsi:

HTML
    
      <div class="container">
        Konteynerin içindəki bir mətn
        <div class="box">
          Qutunun içindəki bir mətn
        </div>
      </div>
    
  
CSS
    
      html {
        font-size: 16px;
      }

      .container {
        font-size: 1rem; /* 16px */
        padding: 2rem; /* 32px */
      }

      .box {
        font-size: 1.5rem; /* 24px */
        margin: 1rem; /* 16px */
      }
    
  

em və rem müqayisəsi:

  • em: valideyn elementin şrift ölçüsündən asılıdır, bu isə dərinliklərdə kaskad effektinə səbəb ola bilər
  • rem: kök elementin (html) şrift ölçüsündən asılıdır, bu da onu daha proqnoz edilən və istifadəsi asan edir

4.3 % ilə birləşdirilmiş istifadəsi

Nisbətli vahidlərin (emrem) faizlə birlikdə istifadəsi elastik və adaptiv layoutlar yaratmağa imkan verir ki, bunlar istənilən cihazda düzgün görünəcək.

Nümunə: % ilə birləşdirilmiş istifadəsi

Faizlər və nisbətli vahidlərdən istifadə edərək elementlərin ölçülərinin təyin edildiyi bir layout yaradaq.

CSS
    
      html {
        font-size: 16px;
      }

      .container {
        width: 80%;
        margin: 0 auto;
      }

      .header, .footer {
        background-color: #333;
        color: white;
        padding: 1rem;
        text-align: center;
      }

      .content {
        display: flex;
        gap: 1rem;
        margin: 1rem 0;
      }

      .sidebar {
        flex: 1 1 30%;
        background-color: #f4f4f4;
        padding: 1rem;
      }

      .main {
        flex: 1 1 70%;
        background-color: #e4e4e4;
        padding: 1rem;
      }
    
  
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>% və nisbətli vahidlərin birləşdirilmiş istifadəsi</title>
          <link rel="stylesheet" href="styles.css">
        </head>
        <body>
          <div class="container">
            <div class="header">Başlıq</div>
            <div class="content">
              <div class="sidebar">Yan panel</div>
              <div class="main">Əsas məzmun</div>
            </div>
            <div class="footer">Footer</div>
          </div>
        </body>
      </html>
    
  

Kodun izahı:

  • html: bütün sənəd üçün əsas şrift ölçüsünü təyin edir
  • .container: konteynerin eni üçün faizlərdən istifadə edir və onu səhifənin ortasında mərkəzləşdirir
  • .header.footer: paddinglərdə rem istifadə edir ki, bu da onları daha proqnozlaşdırılan edir
  • .content: Yan panel və əsas məzmunu aralarındakı məsafə ilə birlikdə yerləşdirmək üçün Flexbox istifadə edir
  • .sidebar.main: sütunların eni üçün faizlərdən və rem ilə paddinglərdən istifadə edir
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION