Există prea mult CSS acum? PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Există prea mult CSS acum?

În calitate de dezvoltatori front-end, ne-am dorit o mulțime de lucruri de-a lungul anilor - modalități de a centra lucrurile în CSS, de a încapsula stiluri, de a seta raportul de aspect al unui element, de a obține un control mai fin asupra culorilor noastre, de a selecta un element pe baza acestuia. proprietățile copiilor, gestionează straturi de specificitate, permit elementelor să răspundă la lățimea părinților lor... lista poate continua.

Și acum că am obținut tot ce ne-am dorit și mai mult, unii dintre noi ne întreabă - avem acum prea mult CSS?

Vremurile întunecate

Dacă tu, la fel ca mine, ai apărut în dezvoltarea web în timpul copilăriei CSS, ideea de a avea prea mult din el pare ridicolă.

În vremuri, practic întreaga descriere a postului a unui dezvoltator front-end consta în a se ocupa de limitările CSS. The hack clearfix pentru a curăța plutitoare, the Hack de umplutură 100%. pentru a face div-uri pătrate, ca să nu mai vorbim de aplicarea semi-aleatorie de proprietăți care nu au legătură pentru a păcăli Internet Explorer să-ți facă licitarea.

La acea vreme, browserul era un inamic viclean care trebuia învins prin viclenie și incantații arcane. Astăzi, proprietatea perfectă așteaptă și doar un copy-paste distanță pe MDN.

Noua era a CSS

Dar astăzi lucrurile sunt foarte diferite: nu numai că lucrurile se mișcă mult mai repede, ci și furnizorii de browsere chiar pasă despre a face dezvoltatorii fericiți! Știu, nici nu mi-a venit să cred. Dar conduc anual Starea CSS sondaj pentru dezvoltatori (care este deschide acum, apropo, du-te!) și știu cu adevărat că echipele de dezvoltare a browserului folosesc rezultatele sondajului (printre multe alte date) pentru a-și informa foaia de parcurs.

În plus, Google mi-a ajutat și la finanțarea activității mele în cadrul sondajului și chiar a angajat Lea Verou să preia conducerea în selectarea întrebărilor din sondajul din acest an.

Nu este doar Google. A devenit la modă să bate Safari și Apple în general (uneori pe merit), dar nu poți nega cât de pasionat ca cineva. Doar Simmons este despre ascultarea dezvoltatorilor și îmbunătățirea web-ului.

Și nu numai că furnizorii de browsere îmbunătățesc singuri CSS; chiar colaborează peste liniile de luptă cu inițiative precum Interoperabilitate 2023 pentru a ajuta la reducerea inconsecvențelor și incompatibilităților dintre browsere.

Prea mult de un lucru bun?

Rezultatul tuturor acestor lucruri este că acum ne confruntăm cu o jenă a bogățiilor CSS și poate fi greu să ajungem din urmă. Grila CSS a început să fie acceptat în browserele majore în urmă cu aproape cinci ani, dar încă verific o referință de fiecare dată când o folosesc. Și la fel de cool ca subgrilă se pare că încă nu am încercat-o.

În timpul procesului de selecție care caracteristici CSS să includă sau nu în starea CSS, Lea și cu mine am luat în considerare multe caracteristici, dar am respins și destul de multe. Câteva exemple de caracteristică am nu includ sunt:

  • linear() funcția de relaxare, care vă permite să definiți curbele de relaxare cu mai multă granularitate. 
  • env() funcţie, care vă permite să utilizați variabile definite de browser sau dispozitiv. 
  • scrollbar-width proprietate, care ajută la controlul aspectului unei bare de derulare. 
  • margin-trim proprietate, care vă permite să controlați modul în care se comportă marjele copiilor unui container. 

Toate acestea sunt potențial foarte utile și toate ar fi fost o veste mare în timpul secetei CSS din ultimii ani. Dar în contextul de astăzi trebuie să lupte pentru atenție cu anunțuri mult mai mari, cum ar fi selectorul has() sau imbricarea CSS!

Nu emotionat

Ca Silvestar Bistrović scrie, el „nu este atât de încântat de toate aceste noi funcții CSS”. Acest lucru a găsit un ecou pe Twitter, cu Sara Soueidan afirmând că ceea ce îi pasă este „practicitate, nu cât de strălucitoare arată o trăsătură în acest moment”.

Poate părea o atitudine negativă, dar cred că este de înțeles. Nimeni nu poate fi de așteptat să țină pasul cu atât de multe funcții noi!

O altă consecință neintenționată (sau poate, intenționată?) este că, cu cât CSS devine mai complex, cu atât ridică ștacheta pentru orice companie nouă care dorește să dezvolte un motor de browser - ca să nu mai vorbim despre volumul de lucru adăugat atunci când vine vorba de întreținerea și documentarea tuturor aceste noi caracteristici. 

Abordarea CSS

Există, de asemenea, îngrijorarea foarte valabilă că CSS s-ar putea ramifica în zone pe care nu este tocmai potrivit să le gestioneze. Acesta este un alt lucru pe care Sara Soueidan l-a subliniat când a reacționat la noua implementare experimentală CSS Toggles (iată un bilet care discută despre asta):

Mulți au susținut că acest tip de comportament ar fi cel mai bine gestionat de un nou element HTML în loc să gestioneze starea de comutare doar prin CSS și că CSS ar putea să nu fie cel mai bun mediu pentru a se asigura că problemele de accesibilitate sunt abordate corect. 

Când CSS preia ceva care a fost tratat anterior prin JavaScript, acest lucru este în general văzut ca un lucru bun, deoarece reduce adesea cantitatea de cod pe care trebuie să o încarce browserul. Așadar, sunt optimist cu privire la CSS Toggles și am încredere că Grupul de lucru CSS va aborda în mod corespunzător preocupările comunității. Dar poate veni încă o zi în care începem să ne îngrijorăm că CSS s-ar putea extinde dincolo de granițele sale și ar putea încălca responsabilitățile HTML și JavaScript.

Noi așteptări

Și poate că acesta este ceea ce trebuie schimbat: poate ar trebui să renunțăm la așteptările pe care dezvoltatorii CSS trebuie să le cunoască toate de CSS? 

Această așteptare provine din zilele în care CSS era o idee ulterioară, acea mică sintaxă enervantă pe care trebuia să o înveți să-ți faci butonul albastru și îndrăzneț, așa cum a cerut clientul. Dar cred că trebuie să acceptăm că CSS-ul de astăzi ar putea fi mult prea vast pentru ca o singură persoană să poată stăpâni, mai ales pe lângă alte sarcini front-end.

As Michelle Barker pune-l:

Și acolo aterizez eu însumi până la urmă. M-am împăcat cu faptul că probabil nu voi folosi niciodată – sau chiar nu voi ști despre – toate funcțiile CSS posibile. Și asta vine de la cineva care realizează un sondaj despre CSS!

Dar aceste noi caracteristici vor fi cu siguranță utile cineva. Cineva va scrie postări pe blog despre ei, va crea CodePen-uri cool cu ​​ele, va ține discuții despre ele. Acea persoană va fi un dezvoltator cool, tânăr și energic, care are încă tot părul. Cu alte cuvinte, nu voi fi eu - și asta e în regulă. 

Și poate că ești îngrijorat că acest nou dezvoltator va fi copleșit de toate lucrurile pe care trebuie să le învețe deodată. Dar țineți cont de toate lucrurile pe care le au nu va trebuie să învețe despre, tocmai pentru că a fost înlocuit cu aceste alternative mai noi. Știu că aș accepta înțelegerea aia oricând.

Dar gândiți-vă: în ultimii câțiva ani, nu numai că am observat o creștere uriașă a numărului de dispozitive pe care trebuie să le oferim servicii, ci și am început să recunoaștem că toți consumăm web-ul în moduri ușor diferite, fie că se datorează la dizabilități, contextul actual sau doar preferințe personale. Nu ar trebui CSS să se adapteze la această nouă realitate?

Acum, trebuie să mărturisesc că toate acestea m-au făcut să mă simt un pic nostalgic... așa că scuzați-mă în timp ce mă descurc câteva plutitoare, doar de dragul vremurilor vechi.


După cum am menționat, anual Sondajul privind starea CSS este acum deschis. Indiferent dacă credeți că există sau nu prea mult CSS, sondajul este o modalitate excelentă de a le permite dezvoltatorilor de browsere să știe ce simți, așa că du-te să o completezi daca ai 10 minute. 

Timestamp-ul:

Mai mult de la CSS Trucuri