Eesti

Avastage CSS-i pesastamise võimsus, mis toob Sassi-sarnase süntaksi natiivsesse CSS-i. Õppige, kuidas see uus funktsioon lihtsustab stiilimist, parandab koodi loetavust ja hooldatavust veebiarendajatele üle maailma.

CSS-i pesastamine: Sassi-sarnane süntaks natiivses CSS-is globaalsetele arendajatele

Aastaid on veebiarendajad tuginenud CSS-i eelprotsessoritele nagu Sass, Less ja Stylus, et ületada standardse CSS-i piiranguid. Üks armastatumaid funktsioone nendes eelprotsessorites on pesastamine (nesting), mis võimaldab kirjutada CSS-i reegleid teiste CSS-i reeglite sisse, luues intuitiivsema ja organiseerituma struktuuri. Nüüd, tänu CSS-i standardite arengule, on natiivne CSS-i pesastamine lõpuks kohal, pakkudes võimsat alternatiivi ilma väliste tööriistade vajaduseta.

Mis on CSS-i pesastamine?

CSS-i pesastamine on funktsioon, mis võimaldab pesastada CSS-i reegleid teiste CSS-i reeglite sisse. See tähendab, et saate sihtida spetsiifilisi elemente ja nende olekuid vanemselektori sees, muutes oma CSS-i lühemaks ja kergemini loetavaks. See jäljendab teie HTML-i hierarhilist struktuuri, parandades hooldatavust ja vähendades liiasust. Kujutage ette, et teil on navigeerimismenüü. Traditsiooniliselt võiksite kirjutada CSS-i nii:


.navbar {
  background-color: #f0f0f0;
  padding: 10px;
}

.navbar a {
  color: #333;
  text-decoration: none;
}

.navbar a:hover {
  color: #007bff;
}

CSS-i pesastamisega saate saavutada sama tulemuse struktureerituma lähenemisega:


.navbar {
  background-color: #f0f0f0;
  padding: 10px;

  a {
    color: #333;
    text-decoration: none;

    &:hover {
      color: #007bff;
    }
  }
}

Pange tähele, kuidas a ja a:hover reeglid on pesastatud .navbar reegli sisse. See näitab selgelt, et need stiilid kehtivad ainult ankur-tagidele navigeerimisriba sees. Sümbol & viitab vanemselektorile (.navbar) ja on ülioluline pseudoklasside, näiteks :hover jaoks. See lähenemine on hästi rakendatav erinevates projektides, alates lihtsatest veebisaitidest kuni keerukate veebirakendusteni, mida kasutavad globaalsed sihtrühmad.

Natiivse CSS-i pesastamise eelised

Natiivse CSS-i pesastamise kasutuselevõtt toob veebiarendajatele hulgaliselt eeliseid:

Kuidas kasutada CSS-i pesastamist

CSS-i pesastamine kasutab lihtsat süntaksit, mis tugineb olemasolevatele CSS-i tavadele. Siin on ülevaade peamistest mõistetest:

Põhiline pesastamine

Saate pesastada mis tahes CSS-i reegli teise CSS-i reegli sisse. Näiteks:


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

  h2 {
    font-size: 2em;
    color: #333;
  }
}

See kood stiilib kõik h2 elemendid .container elemendi sees.

& selektori kasutamine

& selektor esindab vanemselektorit. See on hädavajalik pseudoklasside, pseudo-elementide ja kombinaatorite jaoks. Näiteks:


button {
  background-color: #007bff;
  color: #fff;
  padding: 10px 20px;
  border: none;
  cursor: pointer;

  &:hover {
    background-color: #0056b3;
  }

  &::after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: #0056b3;
  }
}

Selles näites rakendab &:hover stiile, kui nupule hiirega peale minnakse, ja &::after lisab nupule pseudo-elemendi. Pange tähele "&" kasutamise tähtsust vanemselektorile viitamisel.

Pesastamine meediapäringutega

Saate ka meediapäringuid pesastada CSS-i reeglite sisse, et luua reageerivaid disaine:


.card {
  width: 300px;
  margin: 20px;
  border: 1px solid #ccc;

  @media (max-width: 768px) {
    width: 100%;
    margin: 10px 0;
  }
}

See kood kohandab .card elemendi laiust ja veerist, kui ekraani laius on alla 768px. See on võimas tööriist veebisaitide loomiseks, mis kohanduvad erinevate ekraanisuurustega, mida kasutab globaalne publik.

Pesastamine kombinaatoritega

CSS-i kombinaatoreid (nt >, +, ~) saab kasutada pesastatud reeglites, et sihtida spetsiifilisi seoseid elementide vahel:


.article {
  h2 {
    margin-bottom: 10px;
  }

  > p {
    line-height: 1.5;
  }

  + .sidebar {
    margin-top: 20px;
  }
}

Selles näites sihib > p .article elemendi otseseid laps-paragraafe ja + .sidebar sihib vahetult järgnevat samal tasemel elementi klassiga .sidebar.

Veebilehitsejate tugi ja polüfillid

2023. aasta lõpu seisuga on CSS-i pesastamine saavutanud märkimisväärse populaarsuse ja seda toetavad enamik kaasaegseid veebilehitsejaid, sealhulgas Chrome, Firefox, Safari ja Edge. Siiski on oluline kontrollida praegust brauserite toe maatriksit ressurssidest nagu Can I use, et tagada ühilduvus teie sihtrühmale. Vanemate brauserite jaoks, mis ei toeta CSS-i pesastamist natiivselt, saate kasutada polüfilli, näiteks PostCSS Nested pistikprogrammi, et muuta teie pesastatud CSS ühilduvaks koodiks.

CSS-i pesastamise parimad tavad

Kuigi CSS-i pesastamine pakub arvukalt eeliseid, on oluline seda kasutada läbimõeldult, et vältida liiga keerulise või raskesti hooldatava koodi loomist. Siin on mõned parimad tavad, mida järgida:

CSS-i pesastamise näited praktikas

Uurime mõningaid praktilisi näiteid, kuidas CSS-i pesastamist saab kasutada erinevate kasutajaliidese komponentide stiilimiseks:

Nupud


.button {
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;

  &.primary {
    background-color: #007bff;
    color: #fff;

    &:hover {
      background-color: #0056b3;
    }
  }

  &.secondary {
    background-color: #f0f0f0;
    color: #333;

    &:hover {
      background-color: #e0e0e0;
    }
  }
}

See kood defineerib stiilid üldisele .button klassile ja kasutab seejärel pesastamist, et luua variatsioone esmaste ja teiseste nuppude jaoks.

Vormid


.form-group {
  margin-bottom: 20px;

  label {
    display: block;
    margin-bottom: 5px;
  }

  input[type="text"],
  input[type="email"],
  textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
  }

  .error-message {
    color: red;
    margin-top: 5px;
  }
}

See kood stiilib vormigruppe, silte, sisestusvälju ja veateateid vormi sees.

Navigeerimismenüüd


.nav {
  list-style: none;
  margin: 0;
  padding: 0;

  li {
    display: inline-block;
    margin-right: 20px;

    a {
      text-decoration: none;
      color: #333;

      &:hover {
        color: #007bff;
      }
    }
  }
}

See kood stiilib navigeerimismenüüd, loendi elemente ja ankur-tage menüü sees.

CSS-i pesastamine vs. CSS-i eelprotsessorid

CSS-i pesastamine on mängumuutev veebiarendajatele, kes on aastaid tuginenud CSS-i eelprotsessoritele. Kuigi eelprotsessorid pakuvad laia valikut funktsioone, sealhulgas muutujaid, mixineid ja funktsioone, pakub natiivne CSS-i pesastamine olulise osa nendest võimalustest otse brauseris. Siin on võrdlus:

Funktsioon Natiivne CSS-i pesastamine CSS-i eelprotsessorid (nt Sass)
Pesastamine Jah Jah
Muutujad Kohandatud omadused (CSS-muutujad) Jah
Mixinid Ei (piiratud funktsionaalsus @property ja Houdini API-dega) Jah
Funktsioonid Ei (piiratud funktsionaalsus Houdini API-dega) Jah
Operaatorid Ei Jah
Brauseri tugi Kaasaegsed brauserid Nõuab kompileerimist
Sõltuvus Puudub Vajalik väline tööriist

Nagu näete, pakub natiivne CSS-i pesastamine võimsat alternatiivi eelprotsessoritele põhiliste pesastamisvajaduste jaoks. Kuigi eelprotsessorid pakuvad endiselt täiustatud funktsioone nagu mixinid ja funktsioonid, on vahe vähenemas. CSS-i kohandatud omadused (muutujad) pakuvad samuti võimalust väärtusi oma laadistikutes taaskasutada.

CSS-i pesastamise tulevik ja edasised arengud

CSS-i pesastamine on vaid üks paljudest põnevatest arengutest CSS-i maailmas. Kuna CSS areneb edasi, võime oodata veelgi võimsamaid funktsioone, mis lihtsustavad veebiarendust ja parandavad koodi kvaliteeti. Tehnoloogiad nagu Houdini API-d sillutavad teed täiustatumatele stiilimisvõimalustele, sealhulgas rikkalikuma tüübisüsteemiga kohandatud omadustele, kohandatud animatsioonidele ja kohandatud paigutusalgoritmidele. Nende uute tehnoloogiate omaksvõtmine võimaldab arendajatel luua kasutajatele üle maailma kaasahaaravamaid ja interaktiivsemaid veebikogemusi. CSS-i töögrupp uurib pidevalt uusi viise keele parandamiseks ja veebiarendajate vajaduste rahuldamiseks.

Kokkuvõte

CSS-i pesastamine on oluline samm edasi natiivse CSS-i jaoks, tuues Sassi-sarnase süntaksi eelised laiema publikuni. Parandades koodi loetavust, täiustades hooldatavust ja vähendades koodi dubleerimist, annab CSS-i pesastamine arendajatele võimaluse kirjutada puhtamat, tõhusamat ja skaleeritavamat CSS-i. Kuna brauserite tugi kasvab jätkuvalt, on CSS-i pesastamine valmis saama iga veebiarendaja arsenalis asendamatuks tööriistaks. Nii et võtke omaks CSS-i pesastamise jõud ja avage oma veebiarendusprojektides uus loovuse ja produktiivsuse tase! See uus funktsioon võimaldab erineva tausta ja oskustasemega arendajatel kirjutada paremini hooldatavat ja mõistetavamat CSS-i, parandades koostööd ja vähendades arendusaega üle maailma. CSS-i tulevik on helge ja CSS-i pesastamine on särav näide tehtud edusammudest.