Bakit kailangan mong gumamit ng mga variable ng CSS

May -Akda: Monica Porter
Petsa Ng Paglikha: 21 Marso. 2021
I -Update Ang Petsa: 16 Mayo 2024
Anonim
Как работает передача данных между модулями в Vue.js на Electron
Video.: Как работает передача данных между модулями в Vue.js на Electron

Nilalaman

Inaabot sa akin na mayroon pa ring mga CSS purist na hindi naniniwala na kailangan nila ng isang CSS processor. Siguro isa ka sa kanila? Marahil ay nakuha mo nang sama-sama ang isang proseso na buong kasiyahan mo. O marahil ay nasa kabilang bahagi ka ng barya na iyon: gumagamit ka ng mga preprocessor ng CSS (tulad ng Sass o Stylus) at hindi mo kailangan ng mga variable ng CSS na naproseso ng katutubong / browser. Sa artikulong ito inaasahan kong i-debunk ang mga argumento para sa parehong partido.

Mga Bahagi

Kung dumadaan ka sa proseso ng pag-tema ng isang application, paglikha ng iyong sariling mga pasadyang sangkap, o kahit na gumagamit ng mga bahagi ng ibang tao, malamang na inaasahan mong mapasadya nang kaunti ang mga modyul na ito nang hindi kinakailangang baguhin ang orihinal na code.

Sabihin nating gumagamit ka ng isang grid system mula sa Bootstrap, ngunit ang taga-disenyo ay nagtrabaho ng bahagyang magkakaibang mga lapad ng kanal sa grid. Sa ngayon, mayroon kang halos tatlong pagpipilian:

  1. Baguhin ang Bootstrap CSS code (kaya gumagawa ng mga pag-upgrade sa hinaharap na malapit sa imposible nang walang makabuluhang pagtatasa)
  2. Kumbinsihin ang taga-disenyo na palitan ang parilya upang tumugma sa Bootstrap (o subukang bawasan ito sa kanila)
  3. Isama ang lahat ng hindi naprosesong Bootstrap Sass, isama ito sa iyong build system at idagdag ang iyong sariling pasadyang mga variable

Ang pangatlong pagpipilian, para sa marami, ay ang landas ng hindi bababa sa pagtutol - ngunit sa kahabaan ng paraan, ang iyong build system ay nagiging mas malaki, mabagal at mas nakasalalay sa buong koponan na nauunawaan ang lahat ng nangyayari. (Hoy, walang perpekto, tama ba?)


Itapon ang iyong build system

Ngayong naiintindihan natin nang medyo mas mahusay ang problema, maaari nating simulan na pag-usapan kung saan lumilitaw ang mga variable ng CSS. Una, tingnan natin ang CSS variable syntax:

: ugat {--gutter-width: 1rem; }

Dito ko tinukoy ang isang variable na pinangalanan lapad ng kanal at itakda ito sa 1rem. Mapapansin mo na ang tagapili na pinili kong gamitin ay : ugat na karaniwang katumbas ng 'HTML' (o ang root SVG node). Ginagamit ko ito upang maipakita ang isang napakahalagang aspeto ng mga variable ng CSS: ang kaskad. Oo, ang mga variable ay maaaring kaskad sa pamamagitan ng puno tulad ng mga pag-aari!

Kaya't kapag pumili ako ng isang elemento sa ibang lugar sa aking styleheet:

.my-module {margin-right: var (- gutter-width); }

Ang lapad ng kanal variable cascades pababa mula sa root element. Sabihin na nais kong sabunutan ang kanal sa isang partikular na lugar lamang? Madali!

.my-module {--gutter-width: .5rem; margin-kanan: var (- gutter-width); }

Bigla, hindi mo kailangan ng isang kumplikadong sistema ng pagbuo. Budburan lamang ang isang pares ng mga simpleng variable at ipasadya ang nilalaman ng iyong puso. Ang pagsasama-sama ng isang serye ng mga pagbabago ay mas madali pa kapag napagtanto mo na ang anumang browser na sumusuporta sa mga variable ay mayroon nang CSS calcul ng mahabang panahon:


: ugat {--gutter-width: .5rem; } .col {--column-width: 4rem; lapad: calc (var (- haligi-lapad) - var (- gutter-width))}

Sa halimbawa sa itaas, kinakalkula namin ang lapad ng .col tagapili sa pamamagitan ng pagbabawas lapad ng haligi.

Isang nanginginig na pagsisimula

Tulad ng maraming mga bagong tampok ng CSS, ang landas sa maipadala sa browser at mga gumagamit ay isang mahaba, iginuhit, nakakulong na proseso. Ang mga variable ng CSS ay walang pagbubukod - ang syntax ay nagbago nang husto ng maraming beses na, at, sa oras ng pagsulat, ganap na inalis ng Google Chrome ang tampok hanggang sa maayos ang lahat.

Ang Firefox 31 ay kasalukuyang nag-iisang browser na nagpapadala na may mga katutubong variable ng CSS. Ngunit magiging maayos ito. Sa artikulong ito, ipapakita ko sa iyo kung paano magsisimulang ngayon sa mga variable ng CSS.

Post-processing ang aming paraan sa labas ng problema

Sa maraming mga pagtanggi tungkol sa kung aling mga browser ang sumusuporta sa mga variable ng CSS, malamang na iniisip mo: "Mahusay, narito ang isang bagay na hindi ko magagamit sa loob ng limang taon." Bagaman hindi namin eksaktong eksaktong variable ng polyfill, makakagamit man lang kami ng mayroon nang tooling upang matulungan na magpanggap na ang mga variable ay ganap na sinusuportahan saanman.


Sa halip na umasa sa paggamit ng isang preprocessor (at samakatuwid ang syntax ng preprocessor para sa mga variable), maaari kaming subukan ang bago: isang post-processor. Ang isang post-processor ay naiiba mula sa isang preprocessor lamang sa pangalan. Ang mga post-processor ay hindi layunin na palawigin ang CSS: sa katunayan, ang ideya ay code ka na parang gumagamit ka ng mga pinakawalang pamantayang CSS (o gilid, sa kaso ng mga variable), at pupunan nito ang mga blangko.

Sa mitolohiya at muling pagbuo

Ang alamat (ni Ian Storm Taylor) ay isang post-processor na magkakasama sa isang serye ng mga plugin na pinapatakbo ng rework. Nagbibigay ito ng calc, variable, paghahalo ng kulay at mga preview ng vendor ng CSS browser (salamat sa hindi kapani-paniwala na proyekto ng autoprefixer).

: root {--column-width: 3rem; --column-gutter: .5rem; } .column {min-width: var (- haligi ng lapad); }

Bigla, maaari mong simulang magpanggap na ngayon ay 2019. Hindi na kailangang magtrabaho sa kung ano ang sinusuportahan sa bawat browser: isulat mo lang ang code nang isang beses.

Ang pagsisimula ay madali din, dahil ang Myth ay isang NPM package. Pagkatapos mong mai-install, kasing dali ng pagpapatakbo ng sumusunod sa command line:

mitolohiya futuristic.css matalino.css


Ngayon ang iyong file na clever.css ay handa na para sa browser.

Isang pangwakas na salita

Hindi lamang ako nasasabik tungkol sa hinaharap ng CSS ngunit lalo na rin akong nasasabik tungkol sa kung saan dadalhin ng mga variable ng CSS ang mga taga-disenyo at developer - sana, patungo sa isang mas simple, mas naiintindihan, mas magaan na kadena ng tool kung saan ang pagbabahagi ng code ay ganap na walang halaga!

Si Ben Schwarz ay isang independiyenteng taong masyadong maselan sa pananamit sa web mula sa Melbourne. Siya ay isang miyembro ng koponan ng CSSConfAU, JSConf at Bower. Ito ay isang pinalawak na bersyon ng isang artikulo mula sa net magazine na isyu 259.

Inirerekomenda Namin Kayo
Inilalahad ng TV Guide ang hinaharap ng telebisyon
Basahin

Inilalahad ng TV Guide ang hinaharap ng telebisyon

Malaking tagahanga kami ni Tom Muller dito a Creative Bloq, kaya palagi kaming na a abik na makita ang anumang bagong gawa na inaalok niya. Nagtatag ng di enyo ng graphic, tatak at direk yon ng ahen y...
4 na bagay na kailangan mong malaman kapag nagdidisenyo para sa mga hindi pangkalakal
Basahin

4 na bagay na kailangan mong malaman kapag nagdidisenyo para sa mga hindi pangkalakal

Ma maaga a linggong ito ipinaliwanag namin kung bakit nagbabayad a di enyo para a mga hindi pangkalakal. Dito nag-aalok ang Rich Hollant ng mga pakinabang ng kanyang karana an at nagbibigay ng apat na...
Paano lumikha ng magagaling na infographics
Basahin

Paano lumikha ng magagaling na infographics

a i ang panahon ng internet na pinangungunahan ng mga mambaba a na pag- can ng mga maikling artikulo na artikulo, paano namin maiuugnay ang i ang bagay na kumplikado, may kulay, o ik ik a i ang maikl...