Gibt es jetzt zu viel CSS? PlatoBlockchain-Datenintelligenz. Vertikale Suche. Ai.

Gibt es jetzt zu viel CSS?

Als Front-End-Entwickler haben wir uns im Laufe der Jahre viele Dinge gewünscht – Möglichkeiten, Dinge in CSS zu zentrieren, Stile zu kapseln, das Seitenverhältnis eines Elements festzulegen, eine feinere Kontrolle über unsere Farben zu erhalten, ein Element basierend darauf auszuwählen Kindereigenschaften verwalten, Spezifitätsebenen verwalten, Elementen erlauben, auf die Breite ihrer Eltern zu reagieren… die Liste geht weiter und weiter.

Und jetzt, wo wir alles haben, was wir uns gewünscht haben und noch mehr, fragen einige von uns – haben wir es jetzt? zu viel CSS?

Die dunklen Zeiten

Wenn Sie, wie ich, in den Kinderschuhen von CSS in die Webentwicklung eingestiegen sind, erscheint die Vorstellung, zu viel davon zu haben, lächerlich.

Früher bestand praktisch das gesamte Berufsbild eines Frontend-Entwicklers darin, sich mit den Grenzen von CSS auseinanderzusetzen. Das Clearfix-Hack Schwimmer zu löschen, die 100% Padding-Hack um quadratische Divs zu erstellen, ganz zu schweigen von der halbzufälligen Anwendung nicht verwandter Eigenschaften, um den Internet Explorer dazu zu bringen, Ihre Gebote abzugeben.

Zu dieser Zeit war der Browser ein hinterhältiger Feind, der durch schiere List und arkanen Beschwörungen besiegt werden musste. Heute wartet die perfekte Immobilie auf MDN und ist nur ein Copy-Paste entfernt.

Die neue CSS-Ära

Aber heute sieht das ganz anders aus: Nicht nur die Dinge bewegen sich viel schneller, sondern auch die Browser-Anbieter eigentlich kümmern darüber, Entwickler glücklich zu machen! Ich weiß, ich konnte es auch nicht glauben. Aber ich laufe das Jahr Stand von CSS Entwicklerumfrage (das ist Übrigens jetzt geöffnet — nimm es!) und ich weiß mit Sicherheit, dass Browser-Entwicklungsteams die Umfrageergebnisse (neben vielen anderen Datenpunkten) verwenden, um ihre Roadmap zu informieren.

Darüber hinaus hat Google meine Arbeit an der Umfrage mitfinanziert und sogar eingestellt Lea Verou die Führung bei der Auswahl der diesjährigen Umfragefragen zu übernehmen.

Es ist nicht nur Google. Es ist in Mode gekommen, Safari und Apple im Allgemeinen zu verprügeln (manchmal zu Recht), aber man kann nicht leugnen, wie leidenschaftlich jemand ist Jens Simmons geht es darum, Entwicklern zuzuhören und das Web zu verbessern.

Und nicht nur Browserhersteller verbessern CSS selbst; Sie arbeiten sogar über Kampflinien hinweg mit Initiativen wie z Interoperabilität 2023 um Inkonsistenzen und Inkompatibilitäten zwischen Browsern zu reduzieren.

Zu viel des Guten?

Das Ergebnis all dessen ist, dass wir jetzt mit einer Verlegenheit von CSS-Reichtümern konfrontiert sind, und es kann schwierig sein, aufzuholen. CSS-Raster wurde vor fast fünf Jahren von den wichtigsten Browsern unterstützt, aber ich überprüfe immer noch jedes Mal, wenn ich es verwende, eine Referenz. Und so cool wie Subgrid Anscheinend habe ich es noch nicht einmal ausprobiert.

Während des Auswahlprozesses welche CSS-Features in den State of CSS aufgenommen werden sollen oder nicht, Lea und ich haben uns viele Features überlegt, aber auch einige verworfen. Einige Beispiele für die Funktion we nicht beinhalten sind:

  • Das linear() Lockerungsfunktion, mit dem Sie Beschleunigungskurven mit größerer Granularität definieren können. 
  • Das env() Funktion, mit dem Sie vom Browser oder Gerät definierte Variablen verwenden können. 
  • Das scrollbar-width -Eigenschaft, mit der das Erscheinungsbild einer Bildlaufleiste gesteuert werden kann. 
  • Das margin-trim -Eigenschaft, mit der Sie steuern können, wie sich die untergeordneten Ränder eines Containers verhalten. 

Diese sind alle potenziell sehr nützlich und wären während der CSS-Dürre der vergangenen Jahre alle große Neuigkeiten gewesen. Aber im heutigen Kontext müssen sie mit viel größeren Ankündigungen, wie dem has()-Selektor oder der CSS-Verschachtelung, um Aufmerksamkeit kämpfen!

Nicht aufgeregt

Als Silvestar Bistrović schreibt, ist er „von all diesen neuen CSS-Features nicht so begeistert“. Dies fand ein Echo auf Twitter, mit Sara Soueidan Sie erklärt, dass es ihr um „Praktikabilität geht, nicht darum, wie glänzend ein Feature im Moment aussieht“.

Das mag wie eine negative Einstellung erscheinen, aber ich denke, es ist verständlich. Niemand kann erwarten, dass er mit so vielen neuen Funktionen Schritt hält!

Eine weitere unbeabsichtigte (oder vielleicht beabsichtigte?) Konsequenz ist, dass je komplexer CSS wird, desto mehr legt es die Messlatte für jedes neue Unternehmen höher, das eine Browser-Engine entwickeln möchte – ganz zu schweigen von der zusätzlichen Arbeitsbelastung, wenn es darum geht, alles zu pflegen und zu dokumentieren diese neuen Funktionen. 

CSS-Überreichweite

Es gibt auch die sehr berechtigte Sorge, dass CSS sich in Bereiche ausbreiten könnte, für deren Handhabung es nicht ganz geeignet ist. Das ist eine andere Sache, auf die Sara Soueidan hingewiesen hat, als sie auf die neue experimentelle Implementierung von CSS Toggles reagierte (Hier ist ein Ticket, in dem es diskutiert wird):

Viele haben den sehr vernünftigen Standpunkt vertreten, dass diese Art von Verhalten am besten durch ein neues HTML-Element gehandhabt werden würde, anstatt den Toggle-Status ausschließlich über CSS zu verwalten, und dass CSS möglicherweise nicht das beste Medium ist, um sicherzustellen, dass Probleme mit der Barrierefreiheit richtig angegangen werden. 

Wenn CSS etwas übernimmt, was zuvor durch JavaScript gehandhabt wurde, wird dies im Allgemeinen als eine gute Sache angesehen, da es oft die Menge an Code reduziert, die der Browser laden muss. Ich bin also vorsichtig optimistisch in Bezug auf CSS Toggles und vertraue darauf, dass die CSS-Arbeitsgruppe die Bedenken der Community angemessen angehen wird. Aber es könnte noch der Tag kommen, an dem wir anfangen, uns Sorgen zu machen, dass CSS über seine Grenzen hinaus expandieren und in die Verantwortung von HTML und JavaScript eingreifen könnte.

Neue Erwartungen

Und vielleicht muss sich das ändern: Vielleicht sollten wir die Erwartung fallen lassen, dass CSS-Entwickler es wissen müssen alle von CSS? 

Diese Erwartung stammt aus den Tagen, als CSS ein nachträglicher Einfall war, diese kleine lästige Syntax, die Sie lernen mussten, um Ihre Schaltfläche blau und fett zu machen, genau wie der Client es verlangte. Aber ich denke, wir müssen akzeptieren, dass das heutige CSS für eine einzelne Person einfach viel zu umfangreich ist, um es zu beherrschen, insbesondere zusätzlich zu anderen Front-End-Aufgaben.

As Michelle Bärker es ausdrückt:

Und da lande ich selbst am Ende. Ich habe mich damit abgefunden, dass ich wahrscheinlich nie alle möglichen CSS-Features nutzen oder auch nur kennen werde. Und das kommt von jemandem, der führt eine Umfrage über CSS durch!

Aber diese neuen Funktionen werden sicherlich nützlich sein jemand. Jemand wird Blogbeiträge darüber schreiben, coole CodePens mit ihnen erstellen, Vorträge darüber halten. Diese Person wird ein cooler, junger, energischer Entwickler sein, der noch alle seine Haare hat. Mit anderen Worten, ich werde es nicht sein – und das ist in Ordnung. 

Und vielleicht befürchten Sie, dass dieser neue Entwickler von all dem Zeug, das er auf einmal lernen muss, überwältigt wird. Aber denken Sie an all die Dinge, die sie wird nicht lernen müssen, gerade weil es durch diese neueren Alternativen ersetzt wurde. Ich weiß, dass ich diesen Deal jederzeit annehmen würde.

Aber denken Sie darüber nach: In den letzten Jahren haben wir nicht nur einen enormen Anstieg der Anzahl der Geräte gesehen, die wir bedienen müssen, sondern wir haben auch begonnen zu erkennen, dass wir alle das Internet auf etwas unterschiedliche Weise nutzen, ob dies der Fall ist auf Behinderungen, den aktuellen Kontext oder einfach nur auf persönliche Vorlieben. Sollte sich CSS nicht an diese neue Realität anpassen?

Nun, ich muss gestehen, dass mich das alles ein bisschen nostalgisch gemacht hat… also entschuldigen Sie mich, während ich ein paar Floats abräume, nur um der alten Zeiten willen.


Wie ich schon erwähnt habe, die jährliche State of CSS-Umfrage ist jetzt geöffnet. Unabhängig davon, ob Sie der Meinung sind, dass zu viel CSS vorhanden ist oder nicht, die Umfrage ist eine großartige Möglichkeit, Browser-Entwicklern Ihre Meinung mitzuteilen geh ausfüllen wenn du 10 minuten hast. 

Zeitstempel:

Mehr von CSS-Tricks