Je zdaj preveč CSS? Podatkovna inteligenca PlatoBlockchain. Navpično iskanje. Ai.

Je zdaj preveč CSS?

Kot razvijalci sprednjega dela smo si v preteklih letih želeli veliko stvari – načine za centriranje stvari v CSS, enkapsulacijo slogov, nastavitev razmerja stranic elementa, pridobitev natančnejšega nadzora nad našimi barvami, izbiro elementa na podlagi njegovih lastnosti otrok, upravljajo plasti specifičnosti, omogočajo elementom, da se odzovejo na širino svojih staršev ... seznam se lahko nadaljuje in nadaljuje.

In zdaj, ko smo dobili vse, kar smo si želeli, in še več, se nekateri med nami sprašujejo – ali zdaj imamo preveč CSS?

Temni časi

Če ste se, tako kot jaz, ukvarjali s spletnim razvojem v povojih CSS-ja, se zdi ideja, da bi ga imeli preveč, smešna.

Nekoč je skoraj celoten opis delovnega mesta front-end razvijalca zajemal obravnavanje omejitev CSS. The clearfix kramp za čiščenje plovcev, 100 % oblazinjenje za ustvarjanje kvadratnih elementov div, da ne omenjam polnaključnega uveljavljanja nepovezanih lastnosti, da pretentate Internet Explorer, da izpolni vaše ponudbe.

Takrat je bil brskalnik zvit sovražnik, ki ga je bilo treba premagati s čisto zvitostjo in skrivnostnimi zaklinjanji. Danes popolna lastnina čaka in samo kopiraj-prilepi na MDN.

Nova doba CSS

Toda danes so stvari precej drugačne: ne samo, da se stvari premikajo veliko hitreje, ampak tudi prodajalci brskalnikov pravzaprav skrbi o osrečevanju razvijalcev! Vem, tudi jaz nisem mogel verjeti. Vodim pa letno Stanje CSS anketa razvijalcev (ki je mimogrede odpri zdaj — pojdi vzemi!) in zagotovo vem, da skupine za razvijanje brskalnikov uporabljajo rezultate ankete (poleg številnih drugih podatkovnih točk) za oblikovanje svojega načrta.

Poleg tega je Google tudi pomagal financirati moje delo pri raziskavi in ​​me je celo najel Lea Verou prevzeti vodstvo pri izbiri letošnjih anketnih vprašanj.

Ne gre samo za Google. Postalo je moderno zmerjati Safari in Apple na splošno (včasih zasluženo), vendar ne morete zanikati, kako strasten je nekdo, Samo Simmons gre za poslušanje razvijalcev in izboljšanje spleta.

In ne samo, da proizvajalci brskalnikov sami izboljšujejo CSS; celo sodelujejo preko bojnih črt s pobudami, kot je npr Interop 2023 za zmanjšanje nedoslednosti in nezdružljivosti med brskalniki.

Preveč dobrega?

Posledica vsega tega je, da se zdaj soočamo z zadrego bogastva CSS in težko ga je dohiteti. Mreža CSS je začel podpirati v večjih brskalnikih pred skoraj petimi leti, vendar še vedno preverim referenco vsakič, ko jo uporabim. In tako kul podomrežje zdi se, da ga moram še preizkusiti.

Med postopkom izbire katere funkcije CSS vključiti ali ne v stanje CSS, sva z Leo upoštevala veliko lastnosti, a sva jih kar nekaj tudi zavrnila. Nekaj ​​primerov funkcije, ki jo imamo ni vključujejo:

  • O linear() pomirjevalna funkcija, ki vam omogoča definiranje krivulj popuščanja z večjo razdrobljenostjo. 
  • O env() funkcija, ki vam omogoča uporabo spremenljivk, ki jih definira brskalnik ali naprava. 
  • O scrollbar-width lastnost, ki pomaga nadzorovati videz drsnega traku. 
  • O margin-trim lastnost, ki vam omogoča nadzor nad tem, kako se obnašajo podrejeni robovi vsebnika. 

Vsi ti so potencialno zelo uporabni in bi bili vsi velika novica med sušo CSS v preteklih letih. Toda v današnjem kontekstu se morajo boriti za pozornost z veliko večjimi objavami, kot je izbirnik has() ali gnezdenje CSS!

Nisem navdušen

Kot Silvestar Bistrović piše, "ni tako navdušen nad vsemi temi novimi funkcijami CSS." To je našlo odmev twitterju, z Sara Soueidan in izjavila, da je tisto, kar jo zanima, »praktičnost, ne pa, kako sijajna je funkcija trenutno videti«.

To se morda zdi negativen odnos, vendar mislim, da je razumljivo. Od nikogar ni pričakovati, da bo dohajal toliko novih funkcij!

Druga nenamerna (ali morda predvidena?) posledica je, da bolj ko postaja CSS zapleten, bolj dviguje letvico za vsako novo podjetje, ki želi razviti mehanizem brskalnika – da ne omenjam dodatne delovne obremenitve, ko gre za vzdrževanje in dokumentiranje vseh te nove funkcije. 

Prekoračitev CSS

Obstaja tudi zelo utemeljen pomislek, da se CSS morda razveja na področja, za katera ni povsem primeren. To je še ena stvar, ki jo je izpostavila Sara Soueidan, ko se je odzvala na novo eksperimentalno izvedbo CSS Toggles (tukaj je vstopnica, ki razpravlja o tem):

Mnogi so zelo razumno ugotovili, da bi se tovrstno vedenje najbolje rešilo z novim elementom HTML namesto upravljanja preklopnega stanja izključno prek CSS in da CSS morda ni najboljši medij za zagotovitev, da so težave z dostopnostjo pravilno obravnavane. 

Ko CSS prevzame nekaj, kar je bilo prej obravnavano prek JavaScripta, je to na splošno dobro, saj pogosto zmanjša količino kode, ki jo mora brskalnik naložiti. Zato sem previdno optimističen glede CSS Toggles in verjamem, da bo delovna skupina CSS ustrezno obravnavala pomisleke skupnosti. Toda morda bo prišel dan, ko nas bo začelo skrbeti, da se CSS morda širi preko svojih meja in posega v odgovornosti HTML in JavaScript.

Nova pričakovanja

In morda je to tisto, kar je treba spremeniti: morda bi morali opustiti pričakovanja, da morajo razvijalci CSS vedeti vse CSS? 

To pričakovanje izhaja iz časov, ko je bil CSS le pozabljena misel, tista mala nadležna sintaksa, ki ste se je morali naučiti, da je bil vaš gumb moder in krepek, kot je zahtevala stranka. Vendar mislim, da se moramo sprijazniti s tem, da je današnji CSS morda preveč obsežen, da bi ga obvladala ena oseba, zlasti poleg drugih nalog na sprednji strani.

As Michelle Barker pravi:

In tu na koncu pristanem tudi sam. Pomiril sem se z dejstvom, da verjetno nikoli ne bom uporabljal – ali celo poznal – vseh možnih funkcij CSS. In to prihaja od nekoga, ki vodi anketo o CSS!

Toda te nove funkcije bodo zagotovo koristne za kdo. Nekdo bo o njih pisal objave v spletnem dnevniku, z njimi ustvaril kul CodePens, o njih govoril. Ta oseba bo kul, mlad, energičen razvijalec, ki ima še vse lase. Z drugimi besedami, to ne bom jaz — in to je v redu. 

In morda vas skrbi, da bo ta novi razvijalec preobremenjen z vsemi stvarmi, ki se jih mora naučiti naenkrat. Vendar imejte v mislih vse stvari, ki jih ne bo se je treba naučiti, ravno zato, ker so jo nadomestile te novejše alternative. Vem, da bi ta posel sprejel kadarkoli.

Toda pomislite: v zadnjih nekaj letih nismo bili le priča velikemu povečanju števila naprav, ki jih moramo oskrbovati, začeli smo se tudi zavedati, da vsi uporabljamo splet na nekoliko različne načine, bodisi zaradi glede na invalidnost, trenutni kontekst ali samo osebne preference. Ali se ne bi moral CSS prilagoditi tej novi realnosti?

Zdaj pa moram priznati, da me je vse to vzbudilo malo nostalgije ... zato mi oprostite, medtem ko grem počistiti nekaj plovcev, samo za dobro starih časov.


Kot sem omenil, letno Anketa o stanju CSS je zdaj odprto. Ne glede na to, ali menite, da je CSS preveč ali ne, je anketa odličen način, da razvijalcem brskalnikov sporočite, kako se počutite, zato pojdi izpolni če imate 10 minut. 

Časovni žig:

Več od Triki CSS