Lietuvių

Atraskite CSS pasirinktinių savybių (kintamųjų) galią dinamiškam stiliui, temoms ir prisitaikančiam dizainui. Mokykitės kurti palaikomas ir globaliai prieinamas žiniatinklio patirtis.

CSS pasirinktinės savybės: dinaminio stiliaus kūrimas pasauliniam žiniatinkliui

Nuolat besikeičiančioje žiniatinklio kūrimo aplinkoje efektyvus ir palaikomas stilius yra nepaprastai svarbus. CSS pasirinktinės savybės, dar žinomos kaip CSS kintamieji, siūlo galingą mechanizmą dinamiškam stiliui, temoms kurti ir geresniam palaikymui užtikrinti svetainėse bei žiniatinklio programose, atsižvelgiant į pasaulinės auditorijos poreikius ir pageidavimus. Šis išsamus vadovas nagrinėja CSS pasirinktinių savybių subtilybes, demonstruoja jų galimybes ir pateikia praktinių įgyvendinimo pavyzdžių.

Kas yra CSS pasirinktinės savybės?

CSS pasirinktinės savybės – tai jūsų CSS kode apibrėžti kintamieji, kuriuose saugomos reikšmės, galinčios būti pakartotinai naudojamos visame stiliaus faile. Skirtingai nuo tradicinių pirminio apdorojimo (angl. preprocessor) kintamųjų (pvz., Sass ar Less), CSS pasirinktinės savybės yra naršyklės dalis, o tai reiškia, kad jų reikšmes galima dinamiškai keisti vykdymo metu naudojant „JavaScript“, medijos užklausas ar net vartotojo sąveikas. Dėl to jos yra nepaprastai universalios kuriant prisitaikančius ir adaptyvius žiniatinklio dizainus.

Pagrindiniai CSS pasirinktinių savybių naudojimo privalumai

Kaip apibrėžti ir naudoti CSS pasirinktines savybes

CSS pasirinktinės savybės apibrėžiamos naudojant dvigubą brūkšnį (--), po kurio eina pavadinimas ir reikšmė. Paprastai jos apibrėžiamos :root selektoriuje, todėl tampa globaliai prieinamos visame stiliaus faile.

Pasirinktinių savybių apibrėžimas

Štai keleto bendrų CSS pasirinktinių savybių apibrėžimo pavyzdys:

:root {
  --primary-color: #3498db; /* Ryški mėlyna spalva */
  --secondary-color: #e74c3c; /* Ryški raudona spalva */
  --font-family: 'Arial, sans-serif';
  --font-size: 16px;
  --spacing-unit: 10px;
}

Gera praktika yra pridėti komentarus prie pasirinktinių savybių, paaiškinant jų paskirtį. Taip pat rekomenduojama naudoti spalvų pavadinimus, kurie yra lengvai suprantami skirtingomis kalbomis (pvz. „ryški mėlyna“), kad būtų aiškiau tarptautinėms komandoms.

Pasirinktinių savybių naudojimas

Norėdami naudoti pasirinktinę savybę, naudokite funkciją var(). Pirmasis argumentas yra pasirinktinės savybės pavadinimas. Antrasis, neprivalomas argumentas, pateikia atsarginę reikšmę, jei pasirinktinė savybė nėra apibrėžta arba naršyklė jos nepalaiko.

body {
  font-family: var(--font-family);
  font-size: var(--font-size);
  color: var(--primary-color, black); /* Atsarginė reikšmė – juoda, jei --primary-color neapibrėžta */
}

.button {
  background-color: var(--secondary-color);
  padding: var(--spacing-unit) calc(var(--spacing-unit) * 2);
  border: none;
  color: white;
  cursor: pointer;
}

Dinaminis stilius su JavaScript

Vienas galingiausių CSS pasirinktinių savybių aspektų yra galimybė jas dinamiškai valdyti naudojant „JavaScript“. Tai leidžia kurti interaktyvias ir prisitaikančias žiniatinklio patirtis, kurios prisitaiko prie vartotojo įvesties ar duomenų pokyčių.

Pasirinktinių savybių reikšmių nustatymas su JavaScript

Galite nustatyti pasirinktinės savybės reikšmę naudodami setProperty() metodą HTMLElement.style objekte.

// Gauname pagrindinį elementą
const root = document.documentElement;

// Nustatome --primary-color pasirinktinės savybės reikšmę
root.style.setProperty('--primary-color', 'green');

Pavyzdys: paprastas temos perjungiklis

Štai pavyzdys, kaip sukurti paprastą temos perjungiklį naudojant „JavaScript“ ir CSS pasirinktines savybes:

HTML:

<button id="theme-toggle">Perjungti temą</button>
<div class="container">Sveikas pasauli!</div>

CSS:

:root {
  --bg-color: white;
  --text-color: black;
}

.container {
    background-color: var(--bg-color);
    color: var(--text-color);
    padding: 20px;
}

JavaScript:

const themeToggle = document.getElementById('theme-toggle');
const root = document.documentElement;

themeToggle.addEventListener('click', () => {
  if (root.style.getPropertyValue('--bg-color') === 'white') {
    root.style.setProperty('--bg-color', 'black');
    root.style.setProperty('--text-color', 'white');
  } else {
    root.style.setProperty('--bg-color', 'white');
    root.style.setProperty('--text-color', 'black');
  }
});

Šis kodas perjungia šviesią ir tamsią temas, keisdamas --bg-color ir --text-color pasirinktinių savybių reikšmes.

Pasirinktinių savybių naudojimas su medijos užklausomis

CSS pasirinktines savybes galima naudoti medijos užklausose, kuriant prisitaikančius dizainus, kurie prisitaiko prie skirtingų ekranų dydžių ir įrenginių orientacijų. Tai leidžia pritaikyti stilius pagal vartotojo aplinką, užtikrinant optimalią peržiūros patirtį bet kokiame įrenginyje.

Pavyzdys: šrifto dydžio koregavimas pagal ekrano dydį

:root {
  --font-size: 16px;
}

@media (max-width: 768px) {
  :root {
    --font-size: 14px;
  }
}

body {
  font-size: var(--font-size);
}

Šiame pavyzdyje šrifto dydis pagal nutylėjimą yra 16 pikselių. Tačiau, kai ekrano plotis yra mažesnis arba lygus 768 pikseliams, šrifto dydis sumažinamas iki 14 pikselių. Tai užtikrina, kad tekstas išliktų skaitomas mažesniuose ekranuose.

Kaskada ir specifiškumas su pasirinktinėmis savybėmis

Norint dirbti su CSS pasirinktinėmis savybėmis, labai svarbu suprasti kaskadą ir specifiškumą. Pasirinktinės savybės paveldamos kaip ir įprastos CSS savybės. Tai reiškia, kad :root elemente apibrėžta pasirinktinė savybė bus paveldėta visų dokumento elementų, nebent ją perrašys specifiškesnė taisyklė.

Pavyzdys: pasirinktinių savybių perrašymas

:root {
  --primary-color: blue;
}

.container {
  --primary-color: red; /* Perrašo reikšmę elementams, esantiems konteineryje */
  color: var(--primary-color);
}

body {
  color: var(--primary-color); /* Bus mėlyna */
}

Šiame pavyzdyje --primary-color iš pradžių nustatyta kaip mėlyna :root elemente. Tačiau .container elementas perrašo šią reikšmę į raudoną. Todėl teksto spalva .container viduje bus raudona, o likusio teksto spalva body elemente bus mėlyna.

Naršyklių palaikymas ir atsarginiai variantai

CSS pasirinktinės savybės turi puikų naršyklių palaikymą, įskaitant visas šiuolaikines naršykles. Tačiau svarbu atsižvelgti į senesnes naršykles, kurios gali jų pilnai nepalaikyti. Galite naudoti neprivalomą antrąjį var() funkcijos argumentą, kad pateiktumėte atsarginę reikšmę šioms naršyklėms.

Pavyzdys: atsarginės reikšmės pateikimas

body {
  color: var(--primary-color, black); /* Atsarginė reikšmė – juoda, jei --primary-color nepalaikoma */
}

Šiame pavyzdyje, jei naršyklė nepalaiko CSS pasirinktinių savybių, teksto spalva bus numatytoji – juoda.

Geriausios praktikos naudojant CSS pasirinktines savybes

Norėdami užtikrinti, kad jūsų CSS pasirinktinės savybės būtų naudojamos efektyviai ir palaikomai, laikykitės šių geriausių praktikų:

Pažangios technikos ir naudojimo atvejai

Be pagrindų, CSS pasirinktinės savybės gali būti naudojamos pažangesnėms technikoms, leidžiančioms kurti sudėtingus stiliaus sprendimus.

Reikšmių skaičiavimas su calc()

Galite naudoti calc() funkciją atlikti skaičiavimus su pasirinktinėmis savybėmis, kas leidžia kurti dinamiškus ir prisitaikančius išdėstymus.

:root {
  --base-spacing: 10px;
}

.element {
  margin: calc(var(--base-spacing) * 2);
  padding: calc(var(--base-spacing) / 2);
}

Pasirinktinių savybių naudojimas animacijoms ir perėjimams

CSS pasirinktinės savybės gali būti naudojamos valdyti animacijas ir perėjimus, leidžiančias kurti sklandžius ir dinamiškus vizualinius efektus. Pakeitus pasirinktinę savybę naudojant „Javascript“, bus suaktyvintas perėjimas, sukuriant animacijos efektą.

:root {
  --rotate-degrees: 0deg;
}

.element {
  transform: rotate(var(--rotate-degrees));
  transition: transform 0.5s ease-in-out;
}

/* JavaScript kodas, skirtas atnaujinti --rotate-degrees savybę */

Spalvų palečių kūrimas su CSS pasirinktinėmis savybėmis

Galite apibrėžti spalvų paletę naudodami CSS pasirinktines savybes ir tada naudoti šias savybes savo svetainės stiliui kurti. Tai leidžia lengvai pakeisti svetainės spalvų schemą, tiesiog atnaujinant pasirinktinių savybių reikšmes. Įsitikinkite, kad spalvų pavadinimai yra lengvai suprantami pasaulinėms komandoms (pvz. "--success-color: green;" vietoj "--color-x: #00FF00;"

:root {
  --primary-color: #007bff;
  --secondary-color: #6c757d;
  --success-color: #28a745;
  --danger-color: #dc3545;
}

.button-primary {
  background-color: var(--primary-color);
  color: white;
}

CSS pasirinktinės savybės prieš pirminio apdorojimo kintamuosius

Nors tiek CSS pasirinktinės savybės, tiek pirminio apdorojimo kintamieji (pvz., Sass ar Less kintamieji) leidžia apibrėžti daugkartinio naudojimo reikšmes, jie skiriasi keliais pagrindiniais aspektais:

Apskritai, CSS pasirinktinės savybės labiau tinka dinamiškam stiliui ir temoms kurti, o pirminio apdorojimo kintamieji – statiniam stiliui ir kodo organizavimui.

Internacionalizacijos (i18n) ir lokalizacijos (l10n) aspektai

Naudojant CSS pasirinktines savybes internacionalizuotose programose, atsižvelkite į šiuos dalykus:

Prieinamumo aspektai

Užtikrinkite, kad jūsų naudojamos CSS pasirinktinės savybės neigiamai nepaveiktų jūsų svetainės prieinamumo. Atsižvelkite į šiuos dalykus:

Išvada

CSS pasirinktinės savybės suteikia galingą ir lankstų būdą kurti dinamišką ir palaikomą stilių pasauliniam žiniatinkliui. Suprasdami jų galimybes ir laikydamiesi geriausių praktikų, galite sukurti prisitaikančias, temomis paremtas ir prieinamas žiniatinklio patirtis, kurios atitinka įvairios auditorijos poreikius. Nuo paprastų temų perjungiklių iki sudėtingų duomenų vizualizacijų, CSS pasirinktinės savybės suteikia jums galių kurti labiau įtraukiančias ir vartotojui draugiškas žiniatinklio programas, kurios prisitaiko prie vartotojų poreikių visame pasaulyje. Pasinaudokite šia technologija, kad pakeltumėte savo žiniatinklio kūrimo procesą į aukštesnį lygį ir sukurtumėte tikrai globalizuotas žiniatinklio patirtis.