Wow, damit habe ich nicht gerechnet! Das HTTP Archive hat diesen großen „State of the Web“-Bericht namens Web Almanac veröffentlicht, in dem Gastautoren Daten von 5,8 Millionen Websites untersuchen.
Una Kravetz und Adam Argyle schrieben das CSS-Kapitel. Ziel ist es, eine verdauliche Menge an Erkenntnissen aus einem Berg von Daten zu gewinnen. Daher gibt es hier eine gewisse Ironie, wenn ich meine Gedanken zu diesem Kapitel für eine noch schnellere Lektüre zusammenfasse, aber na ja, los geht's.
- 83 % der Websites verwenden
rgba(), aber nur 22 % verwendenrgb(). Das ergibt für mich absolut Sinn, dennrgb()ist kein besonders nützliches Farbformat, wenn Sie mich fragen. Es ist das "a" (Alpha), das dem Format die Möglichkeit gibt, Transparenz zu steuern, die erst seit kurzem im beliebtesten Format, Hex, in Form von 8-stelligen Hex-Codes verfügbar ist. Aber selbst dann ist es nicht so schön wiergba().hsla()ist wohl das schönste Farbformat. - Es ist definitiv keine Überraschung, dass Weiß und Schwarz die beiden beliebtesten benannten Farben sind. Ich verwende sie namentlich oft. Ich ändere sogar CSS-Commits, um
whiteanstelle von#FFFundblackanstelle von#000zu verwenden, weil ich finde, dass es weniger mentalen Aufwand bedeutet. emist doppelt so beliebt wierem. Wow. Ich bin selbst einrem-Typ, einfach weil ich es weniger pingelig und vorhersagbarer finde. Theoretisch gefällt mir immer noch die Idee von px für das Root, rem für Komponenten und em für Textelemente, aber ich bin mir nicht sicher, ob ich es jemals so sauber umgesetzt habe.- Klassen sind mit Abstand führend bei den Selektortypen. Wenn man bedenkt, *wie viele* davon verwendet werden, haben sie einen Vorsprung von mehr als dem 10-fachen gegenüber allem anderen. Das sehe ich gern. Sie haben einen niedrigen, aber nicht zu niedrigen Spezifitätswert. Sie bieten gute APIs zur Manipulation. Ihr gesamter Zweck ist es, ein Styling-Hook zu sein. Sie sind element-agnostisch. Es ist einfach der richtige Weg, um Styling zu betreiben. Je flacher Sie die Stile halten, desto weniger Kopfschmerzen werden Sie haben. Etwas überraschender für mich ist die Tatsache, dass die durchschnittliche Anzahl von Klassen pro Element eins ist. Das lässt mich wirklich die Dezimalzahl wissen wollen. War es 1,1? 1,4? 1,00001?
- Heiliger Bimbam. Flexbox auf der Hälfte der Websites und Grid nur auf zwei Prozent?! Die Browserunterstützung ist nicht *so* unterschiedlich. Ich bin mir durchaus bewusst, dass beide sehr nützlich sind und zusammen verwendet werden können und für unterschiedliche Dinge gedacht sind, aber ich finde Grid generell nützlicher und persönlich verwende ich es öfter als Flexbox.
- Ich hätte vermutet, dass die mittlere Anzahl der *geladenen* Schriftarten auf einer Website im Durchschnitt 0 beträgt, aber es sind 3! Ich denke, CSS-Tricks hat eine (Rubik zum Zeitpunkt des Schreibens, nur für Titel verwendet. Die Schriftart des Körpers dieser Website ist
system-ui). Aber eigentlich sind es 4, wegen Preloading und Subsetting und Bold vs. Regular und so weiter. Ich frage mich, wann variable Schriftarten anfangen werden, sich auszuwirken. Ich würde denken, das würde diese Zahl im Laufe der Zeit senken. Open Sans und Roboto sind dreimal so viele wie jede andere geladene Schriftart, und die gesamte Liste besteht aus Google Font-Sachen, abgesehen von einigen Instanzen von Font Awesome. - Es ist lustig, wie einige große Bibliotheken Statistiken in einem so globalen/universellen Maßstab für ihre Nutzung bestimmter Funktionen verzerren können. Ich erinnere mich, wie sich YouTubes Play-Button mit einer SVG-Technologie namens SMIL in einen Pause-Button "verwandelte". Aber weil YouTube so riesig ist, konnte es wie ein sehr hoher Prozentsatz des Internetverkehrs SMIL beinhalten, obwohl es wirklich nur ein Button auf einer einzigen Website war.
filterist in diesem Bericht enthalten. Während Filter cool sind, ist es wirklich die Tatsache, dass sie zufällig in YouTube-Einbettungen und dem Stylesheet von Font Awesome vorkommen, die den Prozentsatz der Websites, die sie verwenden (78 %), erstaunlich hoch erscheinen lässt. - Von Seiten, die Übergänge und Animationen sehr intensiv nutzen, werden Übergänge etwa doppelt so stark genutzt, aber Übergänge werden am 50. Perzentil sechsmal häufiger verwendet. Das erscheint mir richtig. Übergänge sind generell nützlicher, aber je mehr Animationen Sie machen, desto mehr greifen Sie zu fortgeschrittenen Werkzeugen wie Keyframes.
- Es scheint, dass die meisten Websites etwa 45 Media Queries haben. Es ist nicht ganz klar, ob das *unterschiedliche* Media Queries sind oder ob es sich um dieselben Media Queries handelt, die anderswo im Stylesheet wiederholt werden. Das erscheint viel, wenn sie alle unterschiedlich sind, daher vermute ich, dass es sich nur um ein Tooling-Problem handelt, bei dem Leute verschachtelte Media Queries zur besseren Lesbarkeit verwenden und diese herausgefiltert werden, aber nicht kombiniert werden, weil das bei der Spezifität zu seltsam ist. Ich wäre daran interessiert zu sehen, wie viele eindeutige Media Queries Leute verwenden. Das Faszinierendste für mich an den Media Query-Daten ist, dass
min-widthundmax-widthim Gebrauch Kopf an Kopf liegen. Hätte ich raten müssen, hätte ichmax-widthweit vorne gesehen. - Etwa sechs Stylesheets pro Website. Es ist wahrscheinlich zu schwer zu sagen, da Assets wie diese so oft auf CDNs gehostet werden, aber ich würde gerne wissen, wie viele von Hand für die Website erstellt wurden und wie viele von Drittanbietern stammen. Ist die Verteilung drei zu drei oder eins zu fünf?
Es gibt noch viel mehr in dem Bericht, und CSS ist nur eines von zwanzig Kapiteln. Also, graben Sie mal los!
Faszinierend. Ich frage mich, wie sich diese Statistiken verschieben würden, wenn Leute, die keine Factorys (A/V/R) verwenden, separat betrachtet würden. Das muss ich heute noch lesen.
Ähm – SMIL ist keine "SVG-Technologie" – es ist eine Technologie für sich – die Verwendung in SVG ist dank X in XML möglich :)
Oh cool! Wofür kann man SMIL noch verwenden?
Ich sehe nicht viel SMIL-Nutzung – es gibt Ideen daraus wie [switch] in SVG, Dinge in CSS-Animationen oder VTT – das ist wirklich SMIL-artig; wir können es nicht verwenden, weil kein Browser das implementiert hat – das ist kein großer Verlust – alles kann mit JS reproduziert werden
Nun, ist das nicht implizit?
Flexist nützlich für die meisten Listen, bei denengrideher eine spezifische Layout-Sache ist. Ein flexibles Layout zu erstellen, das sich mit seinem Inhalt ausdehnt, ist mitgridaufwendiger als mitflexbox.Gridbasiert auf definierten Boxen, währendflexboxhauptsächlich Inhalte gleichmäßig verteilt.Ja, diese Dinge stimmen. Klingt, als ob Sie denken, dass die "gleichmäßige Verteilung des Inhalts" etwas ist, das mehr Websites benötigen als die verschiedenen Dinge, die Grid tut. OK. Ich denke das Gegenteil. Obwohl ich mir wirklich nicht vorstellen kann, die meisten Websites ohne beides zu bauen.
Hauptsächlich denke ich, dass mehr Leute Flexbox einfach besser kennen, daher die höhere Nutzung.
Für mich ist es die mäßige IE11-Unterstützung, die mich davon abhält, Grid zu verwenden.
Ein Grund, warum ich Flexbox viel mehr als Grid verwende, ist die Unterstützung. Wenn Sie IE unterstützen müssen, wird Grid zu einer echten Qual.
Aber wenn ich sehe, wie Leute Flexbox benutzen, um ein einzelnes
<div />zu zentrieren, leide ich noch mehr.Ich denke auch, dass es zwei oder drei weitere Faktoren gibt, die zumindest einen geringen Einfluss haben
Grid ist *irgendwie schwierig* im Vergleich zu Flexbox. Wir könnten argumentieren, dass es nicht schlecht ist und die Lernmaterialien rund um Grid wirklich wunderbar sind. Allerdings ist der konzeptionelle Sprung von zwei auf drei Dimensionen, plus neue Syntax (und mäßige IE11-Unterstützung, wie jemand sagte), dass Lernen und Implementierung mehr Arbeit bedeuten als jeder wahrgenommene Vorteil.
Bootstrap unterstützt es noch nicht. Die Fülle an Flexbox-basierten Grid-Systemen macht die Implementierung von Grid zu einer Selbstverständlichkeit, und da die Grid-Klassen fast eins zu eins mit den alten Grid-Systemen auf Basis von 960/1140 übereinstimmen, war das ein super einfacher Übergang.
Die meisten Websites brauchen es nicht. Tatsächlich würde ich immer noch argumentieren, dass der Abwärtsdruck auf das Webdesign zu einer einzigen Spalte führt. Für die meisten Leute ist es wichtiger, auf Mobilgeräten gut auszusehen, als auf größeren Bildschirmen ordentlich zu sein, also fließt die Energie dorthin.
Ich weiß nicht, ob ich sehe, dass CSS Grid noch viel mehr angenommen wird, als es jetzt der Fall ist, bis ein großes Framework (Bootstrap 5?) es zum Standard seines Layout-Systems macht.
emwird mehr verwendet, wegen der viel längeren Browserunterstützung. Natürlich istremeinfacher, dafür wurde es erfunden!Wenn man die Zahl betrachtet, scheint es eine sichere Vermutung zu sein, dass "45 Media Queries" sich auf 45 Abfragen bezieht, möglicherweise in Sass-generierten Dateien, aber nicht auf 45 Breakpoints.