Is er nu teveel CSS? PlatoBlockchain-gegevensintelligentie. Verticaal zoeken. Ai.

Is er nu teveel CSS?

Als front-endontwikkelaars hebben we in de loop der jaren veel dingen gewild - manieren om dingen in CSS te centreren, stijlen in te kapselen, de beeldverhouding van een element in te stellen, meer gedetailleerde controle over onze kleuren te krijgen, een element te selecteren op basis van zijn eigenschappen van kinderen, het beheren van specifieke lagen, het toestaan ​​van elementen om te reageren op de breedte van hun ouders... de lijst gaat maar door.

En nu we alles hebben wat we wilden en meer, vragen sommigen van ons: hebben we nu? te veel CSS?

De donkere tijden

Als jij, net als ik, in de kinderschoenen van CSS terechtkwam in webontwikkeling, lijkt het idee om er te veel van te hebben belachelijk.

Vroeger bestond vrijwel de hele functieomschrijving van een front-end ontwikkelaar uit het omgaan met de beperkingen van CSS. De clearfix-hack om drijvers te wissen, de 100% opvulling hack om vierkante divs te maken, om nog maar te zwijgen van het semi-willekeurig toepassen van niet-gerelateerde eigenschappen om Internet Explorer te misleiden om uw biedingen uit te voeren.

In die tijd was de browser een sluwe vijand die moest worden verslagen door pure sluwheid en geheimzinnige bezweringen. Vandaag wacht de perfecte woning en is het slechts een kwestie van kopiëren en plakken op MDN.

Het nieuwe tijdperk van CSS

Maar tegenwoordig zijn de dingen heel anders: niet alleen gaan de dingen veel sneller, maar ook de browserleveranciers eigenlijk schelen over het blij maken van ontwikkelaars! Ik weet het, ik kon het ook niet geloven. Maar ik run de jaarlijkse Staat van CSS ontwikkelaarsenquête (dat is open nu trouwens - ga het halen!) en ik weet zeker dat teams voor browserontwikkeling de onderzoeksresultaten (naast vele andere gegevenspunten) gebruiken om hun routekaart te informeren.

Daarnaast heeft Google ook geholpen bij het financieren van mijn werk aan de enquête, en zelfs ingehuurd Lea Verou om het voortouw te nemen bij het selecteren van de enquêtevragen van dit jaar.

Het is niet alleen Google. Het is in de mode om Safari en Apple in het algemeen te bashen (soms terecht), maar je kunt niet ontkennen hoe gepassioneerd iemand is Jen Simmons gaat over luisteren naar ontwikkelaars en het verbeteren van het web.

En niet alleen zijn browserleveranciers zelf bezig met het verbeteren van CSS; ze werken zelfs grensoverschrijdend samen met initiatieven zoals Interoperabiliteit 2023 om inconsistenties en incompatibiliteit tussen browsers te helpen verminderen.

Teveel van het goede?

Het resultaat van dit alles is dat we nu worden geconfronteerd met een verlegenheid van CSS-rijkdom, en het kan moeilijk zijn om in te halen. CSS-raster begon bijna vijf jaar geleden in de belangrijkste browsers te worden ondersteund, maar ik controleer nog steeds een referentie elke keer dat ik het gebruik. En zo cool als subraster lijkt, ik heb het nog niet eens uitgeprobeerd.

Tijdens het selectieproces welke CSS-functies wel of niet moeten worden opgenomen in de staat van CSS, Lea en ik hebben veel functies overwogen, maar we hebben er ook nogal wat afgewezen. Enkele voorbeelden van de functie die we niet omvatten zijn:

  • De linear() versoepelingsfunctie:, waarmee u versoepelingscurven gedetailleerder kunt definiëren. 
  • De env() functie, waarmee u variabelen kunt gebruiken die zijn gedefinieerd door de browser of het apparaat. 
  • De scrollbar-width eigenschap, waarmee u het uiterlijk van een schuifbalk kunt bepalen. 
  • De margin-trim eigenschap, waarmee u kunt bepalen hoe de kindermarges van een container zich gedragen. 

Deze zijn allemaal potentieel zeer nuttig en zouden allemaal groot nieuws zijn geweest tijdens de CSS-droogte van de afgelopen jaren. Maar in de huidige context moeten ze om aandacht vechten met veel grotere aankondigingen, zoals de has() selector of CSS-nesting!

Niet enthousiast

Als Silvestar Bistrović schrijft, is hij "niet zo enthousiast over al deze nieuwe CSS-functies." Dit vond een echo op Twitter, met Sara Soueidan waarin staat dat wat ze belangrijk vindt is "praktisch, niet hoe glanzend een functie er op dit moment uitziet."

Dit lijkt misschien een negatieve houding, maar ik denk dat het begrijpelijk is. Van niemand kan worden verwacht dat hij zoveel nieuwe functies bijhoudt!

Een ander onbedoeld (of misschien bedoeld?) gevolg is dat hoe complexer CSS wordt, hoe meer het de lat hoger legt voor elk nieuw bedrijf dat een browser-engine wil ontwikkelen — om nog maar te zwijgen van de extra werklast als het gaat om het onderhouden en documenteren van alle deze nieuwe functies. 

CSS-overbereik

Er is ook de zeer terechte bezorgdheid dat CSS zich zou kunnen vertakken naar gebieden die het niet helemaal geschikt is om aan te pakken. Dat is iets anders waar Sara Soueidan op wees toen ze reageerde op de nieuwe experimentele implementatie van CSS Toggles (hier is een kaartje om erover te praten):

Velen hebben het zeer redelijke punt gemaakt dat dit soort gedrag het beste kan worden afgehandeld door een nieuw HTML-element in plaats van de schakelstatus puur via CSS te beheren, en dat CSS misschien niet het beste medium is om ervoor te zorgen dat toegankelijkheidsproblemen goed worden aangepakt. 

Wanneer CSS iets overneemt dat voorheen via JavaScript werd afgehandeld, wordt dit over het algemeen als een goede zaak gezien, omdat het vaak de hoeveelheid code die de browser moet laden, vermindert. Ik ben dus voorzichtig optimistisch over CSS Toggles en vertrouw erop dat de CSS-werkgroep de zorgen van de gemeenschap naar behoren zal aanpakken. Maar er kan een dag komen waarop we ons zorgen gaan maken dat CSS zich buiten zijn grenzen zal uitbreiden en de verantwoordelijkheden van HTML en JavaScript aantast.

Nieuwe verwachtingen

En misschien is dit wat er moet veranderen: misschien moeten we de verwachting laten varen dat CSS-ontwikkelaars het moeten weten allen van CSS? 

Deze verwachting komt voort uit de tijd dat CSS een bijzaak was, die kleine vervelende syntaxis die je moest leren om je knop blauw en vet te maken, precies zoals de klant vroeg. Maar ik denk dat we moeten accepteren dat de huidige CSS misschien gewoon veel te uitgebreid is voor een enkele persoon om te beheersen, vooral naast andere front-end taken.

As Michelle Barker het stelt:

En daar beland ik zelf uiteindelijk. Ik heb vrede gesloten met het feit dat ik waarschijnlijk nooit alle mogelijke CSS-functies zal gebruiken of zelfs maar zal weten. En dit komt van iemand die voert een enquête uit over CSS!

Maar deze nieuwe functies zullen zeker nuttig zijn voor iemand. Iemand zal blogposts over hen schrijven, coole CodePens met hen maken, lezingen over hen geven. Die persoon zal een coole, jonge, energieke ontwikkelaar zijn die al zijn haar nog heeft. Met andere woorden, ik zal het niet zijn - en dat is prima. 

En misschien ben je bang dat deze nieuwe ontwikkelaar overweldigd zal worden door alle dingen die ze in één keer moeten leren. Maar houd in gedachten alle dingen die ze zal niet moeten leren, juist omdat het is vervangen door deze nieuwere alternatieven. Ik weet dat ik die deal altijd zou nemen.

Maar denk er eens over na: in de afgelopen paar jaar hebben we niet alleen een enorme toename gezien in het aantal apparaten dat we moeten bedienen, we zijn ook gaan inzien dat we het internet allemaal op iets andere manieren consumeren, of dat nu komt door beperkingen, de huidige context of alleen persoonlijke voorkeuren. Zou CSS zich niet moeten aanpassen aan deze nieuwe realiteit?

Nu, ik moet bekennen dat dit me allemaal een beetje nostalgisch heeft gemaakt... dus excuseer me terwijl ik een paar drijvers opruim, gewoon voor de oude tijd.


Zoals ik al zei, de jaarlijkse Staat van CSS-enquête staat nu open. Of je nu denkt dat er te veel CSS is of niet, de enquête is een geweldige manier om browserontwikkelaars te laten weten hoe je je voelt, dus ga het invullen als je 10 minuten hebt. 

Tijdstempel:

Meer van CSS-trucs