CodeGym /Kurslar /Frontend SELF AZ /Dekorativ pseudo-elementlər

Dekorativ pseudo-elementlər

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

9.1 Pseudoelementlər ::before və ::after

::before::after pseudoelementləri CSS-də güclü alətlərdən biridir, bunlar HTML-i dəyişmədən elementlərin məzmunundan əvvəl və ya sonra dekorativ elementlər əlavə etməyə imkan verir. Vizual effektlər yaratmaq, istifadəçi interfeysini yaxşılaşdırmaq və elementlərə stillər əlavə etmək üçün geniş istifadə olunur.

Təsvir:

  • ::before: elementin məzmunundan əvvəl əlavə olunan pseudoelement
  • ::after: elementin məzmunundan sonra əlavə olunan pseudoelement

Sintaksis:

    
      element::before {
        /* before pseudoelementi üçün stillər */
      }

      element::after {
        /* after pseudoelementi üçün stillər */
      }
    
  

Əsas xüsusiyyətlər

::before::after pseudoelementləri rəng, ölçü, mövqe, fon, kölgələr və s. daxil olmaqla demək olar ki, bütün CSS xüsusiyyətlərini daşıya bilər. Bununla belə, pseudoelementin görünməsi üçün ona məzmun və ölçü təyin etmək lazımdır.

  • content: pseudoelementin məzmununu təyin edir. Bu, mətn və ya şəkil ola bilər, həmçinin boş sətr
  • display: pseudoelementin nümayiş növünü təyin edir. Əksər hallarda block və ya inline-block istifadə olunur
  • position: pseudoelementin mövqeyini idarə edir (məsələn, absolute və ya relative)
  • widthheight: pseudoelementin ölçülərini təyin edir

9.2 Mətnin əlavə edilməsi

content xüsusiyyəti ilə asanlıqla hər hansı elementə başlanğıcda və ya sonda mətn əlavə etmək mümkündür.

CSS
    
      .example::before {
        content: "Başlanğıc: ";
        color: blue;
      }

      .example::after {
        content: " :Son";
        color: red;
      }
    
  
HTML
    
      <body>
        <p class="example">Bu mətn nümunəsidir</p>
      </body>
    
  

Kodun izahı:

  • .example::before: elementin məzmunundan əvvəl "Başlanğıc: " mətnini əlavə edir və onu mavi rəngə boyayır
  • .example::after: elementin məzmunundan sonra " :Son" mətnini əlavə edir və onu qırmızı rəngə boyayır

9.3 Dekorativ Xətlər

Həmçinin, məzmunu əhatə edən dekorativ xətlər əlavə etmək olar:

CSS
    
      .decorative-line::before,
      .decorative-line::after {
        content: "";
        display: block;
        height: 2px;
        background: black;
        margin: 10px 0;
      }
    
  
HTML
    
      <body>
        <div class="decorative-line">Dekorativ xətləri olan mətn</div>
      </body>
    
  

Kodun izahı:

  • .decorative-line::before: elementin məzmunundan əvvəl dekorativ xətt yaradır
  • .decorative-line::after: elementin məzmunundan sonra dekorativ xətt yaradır

9.4 İkonların əlavə olunması

Mətn yetərli deyil? O zaman asanlıqla bir neçə ikon əlavə edə bilərsiniz:

CSS
    
      .icon::before {
        content: url('https://via.placeholder.com/20');
        display: inline-block;
        vertical-align: middle;
        margin-right: 5px;
      }
    
  
HTML
    
      <body>
        <p class="icon">İkonlu mətn</p>
      </body>
    
  

Kodun izahı:

  • .icon::before: URL vasitəsilə şəkil əlavə edərək mətnin qarşısında ikon yerləşdirir

9.5 Mürəkkəb dekorativ elementlər

Gəlin bir az daha mürəkkəb bir şey əlavə edək:

CSS
    
      .complex-decor::before {
        content: "";
        display: block;
        width: 50px;
        height: 50px;
        background: linear-gradient(45deg, #f06, transparent);
        position: absolute;
        top: -10px;
        left: -10px;
      }

      .complex-decor {
        position: relative;
        padding: 20px;
        background: #eee;
        margin: 20px;
      }
    
  
HTML
    
      <body>
        <div class="complex-decor">Dekorativ bucaq ilə element</div>
      </body>
    
  

Kodun izahı:

  • .complex-decor::before: əsas məzmundan əvvəl dekorativ element yaradır, gradient və mütləq mövqeyləndirilmədən istifadə edir
  • .complex-decor: pseudoelementin ona nisbətən mövqeyləndirilməsi üçün valideyn elementi üçün nisbi mövqeyləndirmə təyin edir

9.6 Animasiya istifadəsi

Hətta animasiya əlavə etmək olar:

CSS
    
      .animated::before {
        content: "";
        display: block;
        width: 100px;
        height: 100px;
        background: red;
        animation: rotate 5s infinite;
        margin: 20px auto;
      }

      @keyframes rotate {
        0% { transform: rotate(0deg); }
        50% { transform: rotate(180deg); }
        100% { transform: rotate(360deg); }
      }
    
  
HTML
    
      <body>
        <div class="animated"></div>
      </body>
    
  

Kodun izahı:

  • .animated::before: kvadrat pseudo-element yaradır və onun fırlanmasını açar kadrlarla animasiya edir
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION