Es gab nie ein CSS4. Es wird nie ein CSS4 geben. CSS4 ist nichts, was existiert.
Während es für eine kurze Zeit funktionierte, alle neuen CSS als CSS3 zu bezeichnen, spiegelt dies nicht die Realität wider, wo CSS heute steht. Wenn Sie etwas über CSS3-Selektoren lesen, dann ist das, was tatsächlich beschrieben wird, etwas, das Teil der CSS Selectors Level 3 Spezifikation ist. Tatsächlich sind CSS-Selektoren eine der Spezifikationen, die als abgeschlossen und als Empfehlung gekennzeichnet sind. Die CSS Working Group arbeitet nun an Selectors Level 4 mit neuen vorgeschlagenen Funktionen sowie den Selektoren, die Teil von Level 3 (und CSS 1 und 2) waren. Es ist kein CSS4, sondern Level 4 einer einzigen Spezifikation. Ein kleiner Teil von CSS.
Viele Leute warten auf die Veröffentlichung von CSS4. Wo ist es? Wann wird es erscheinen? Die Antwort ist nie. CSS4 wird nie passieren. Es ist eigentlich nichts.
CSS3 war also eine einzigartige einmalige Gelegenheit. Anstatt einer großen Spezifikation, brachen wir sie in Teile auf und begannen alle bei "Level 3", ließen sie sich dann aber separat entwickeln. Das war sehr *absichtlich*, damit die Dinge unabhängig voneinander schneller vorankommen konnten.
Das Problem? Es war fast *zu* effektiv. CSS3 und vielleicht in größerem Maße "HTML5" wurden (fast) zu Haushaltsnamen. **Es war so erfolgreich, dass es uns dazu bringt, diesen Hebel noch einmal betätigen zu wollen.** Es war auf vielen Ebenen erfolgreich
- Es trieb die Browsertechnologie voran, insbesondere bei Technologien, die zu lange stagniert hatten.
- Es brachte Website-Betreiber zum Nachdenken: "Hey, vielleicht ist es eine gute Zeit, unsere Website zu aktualisieren."
- Es brachte Pädagogen zum Nachdenken: "Hey, vielleicht ist es eine gute Zeit, unsere Lehrpläne zu aktualisieren."
Es war gut für das Web insgesamt, gut für Websites, die es nutzten, und es gab Geld zu verdienen. Ich wette, es wäre *erstaunlich*, zu sehen, wie viel Geld in Kursen und Konferenzen mit der CSS3-Flagge gemacht wurde.
Ich schlage vor, dass wir Webentwickler, unterstützt vom W3C CSS WG, anfangen zu sagen: "CSS4 ist da!" und aufgeregt darüber reden, wie es jeden Moment auf den Markt kommen und die Praxis von CSS transformieren wird.
Natürlich hat "CSS4" keinerlei technische Bedeutung. Alle aktuellen CSS-Spezifikationen haben ihre eigenen spezifischen Versionen von 1 bis 4, aber CSS als Ganzes hat keine Version und braucht auch keine.
Unabhängig davon, was wir sagen oder tun, wird CSS 4 nicht auf den Markt kommen und nichts transformieren. Es beschreibt auch keine technische Realität.
Warum es also tun? Wegen des Marketingeffekts.
Ich denke, er hat wahrscheinlich Recht. Wenn wir uns alle darauf einigen würden, könnte es einen ähnlichen "gut für alle"-Effekt haben wie CSS3.
Wenn es passieren soll, wird es an Dynamik gewinnen, wenn es eine klare Botschaft darüber gibt, *was es ist*. CSS3 war wie
- border-radius
- Verläufe
- Animationen und Übergänge
- Transformationen
- box-shadow
Oh Gott, es ist schwer, sich jetzt zu erinnern. Aber damals war es eine ziemlich klare Menge an Dingen, die das darstellten, was es zu lernen gab, und sie waren alle ziemlich aufregend.
Was würden wir unter die CSS4-Flagge stellen?
- Flexbox? (Zu alt?)
- Grid
- Alles Neue bei Farben (wie dies und dies)
- Unabhängige Transformationen
- Variable Fonts
- Offset-Pfade
- Lasst uns Nesting fertig machen!
- Houdini-Sachen? (Nicht bereit genug?)
- Shadow DOM-Selektoren?
Ich sage nur, ich werde diese Sache persönlich vorantreiben, wenn Container-Abfragen fertig sind und wir sie zu einem Teil davon machen.
Was noch? Können wir zur Liste hinzufügen? Möchten Sie etwas auf meiner Liste widerlegen?
Custom Properties auf jeden Fall!
Ich möchte nur einen :parent()-Selektor, wie closest() in jquery
"Ich möchte nur einen :parent()-Selektor, wie closest() in jquery"
Das haben wir schon
div:has(> a)wählt alle Eltern-Divs einesaausDas haben wir in CSS definitiv noch nicht. Es gibt eine MDN-Seite dafür (ohne Browserunterstützung), aber ich bin mir nicht sicher, ob wir jemals einen Elternselektor bekommen haben, der das tatsächlich wäre.
Eine nützliche Referenz, um den Überblick über die Entwicklungen in CSS zu behalten, sind die "Snapshots", die die Arbeitsgruppe ungefähr jährlich veröffentlicht.
Die neueste veröffentlichte Version finden Sie hier: https://www.w3.org/TR/CSS/
Zum Zeitpunkt der Erstellung dieses Dokuments ist es "Snapshot 2018", der im Januar 2019 veröffentlicht wurde. In der Gruppe gibt es Gespräche darüber, einen "Snapshot 2020" vor Jahresmitte zu veröffentlichen.
Es gab einige Diskussionen darüber, diese als Grundlage für die Vermarktung von CSS mit einem jahresbasierten Versionssystem zu verwenden, ähnlich wie es ECMAScript jetzt tut.
Wenn Sie (Chris oder jemand anderes) Vorschläge haben, wie man die neuen stabilen und einsatzbereiten CSS-Funktionen besser hervorheben und die Leute für CSS 2020 begeistern kann, bin ich sicher, dass die Gruppe diese gerne hören würde.
Hey, das ist großartig! Mir gefällt, dass es kein brandneues Konzept ist, hinter dem man die gesamte Community versammeln muss, sondern etwas, das bereits getan wird. Es braucht nur ein wenig Marketing-Kick. Wenn es nach mir ginge, würde ich einen Content-Strategen und einen Designer einstellen und sie eine Microsite oder Landingpage erstellen lassen, die mit kristallklarer Deutlichkeit erklärt, was "CSS2019" ist. Das könnte ich unterstützen. Die Snapshot-Landingpage ist so wie sie ist zu trocken.
Wenn Sie marketingfreundlichere Namen wünschen, wie wäre es, Autowerkstätten zu folgen? Die Leute scheinen das Konzept bereits zu verstehen.
Nennen wir die Sammlung von CSS-Spezifikationen, die zu Beginn des Jahres 2020 den Status "Empfehlung" haben, "CSS 2020".
(Und wenn Sie unzufrieden sind, dass es Jahre dauert, bis etwas den Status "Empfehlung" erreicht, versuchen Sie, den CSS-Arbeitsgruppenprozess zu reparieren.)
Dies ist eine viel bessere Lösung, als sich einfach mit "CSS4" zufrieden zu geben. Aber es hat immer noch Probleme. Erstens kümmern sich die Leute einfach nicht mehr so sehr um CSS wie früher. Die Leute sind von anderen Dingen in der Branche begeistert. Ich versuche nicht, CSS zu verunglimpfen oder so. Ich bin nur realistisch.
Etwas wie HTTP/2 ist für Technikbegeisterte viel spannender als "die neueste Version von Flexbox". React Hooks sind spannender als Grid Layout. GitHub Actions sind spannender als CSS-Bindestriche. Ein einfach zu bedienender Paketmanager oder Modul-Bundler ist spannender als neue Pseudoklassen oder Pseudoelemente. Ich könnte weitermachen... Auch hier liebe ich CSS und werde es immer lieben, aber es ist in seinem Potenzial, "zu erstaunen und zu beeindrucken", begrenzt.
Ich denke einfach, dass das Ganze um "CSS3" aus einem bestimmten Grund passiert ist und wir es nicht wiederholen können, egal wie sehr wir uns bemühen. Es ist ein bisschen so, als würde man versuchen, eine Pflanze zum Wachsen zu bringen, indem man am Stiel zieht.
Houdini? Aber klar! Lasst es uns machen. Wir warten schon ... 3-4 Jahre darauf, dass es veröffentlicht wird.
Warum nur vielleicht bei Grid? Ich würde sagen, Grid und Custom Properties (und vielleicht Support Queries?) sind definierende Merkmale unserer lieblings nicht-existenten Version :D
Es sollte CSS4 geben und es sollte wie Sass aussehen.
Elementabfragen
@.element (max-width = 200px) { … }
@.element (min-width = 201px) and (max-width=400px) { … }
Variablen in CSS sind eine große Sache, die es wert ist, erwähnt zu werden.
ELTERNSELEKTOREN! Das ist eine dringend benötigte Sache!
Wenn ich darüber und über Louis' gegensätzlichen Beitrag nachdenke, stimme ich Ihnen und PPK zu. Hier ist die Sache: CSS3 und HTML5 waren ursprünglich keine Marketingangelegenheit, aber am Ende wurden sie es. Viele Funktionen, die technisch nicht Teil dieser Spezifikation waren, wurden unter diesen Bezeichnungen zusammengefasst, da sie all das Neue in jedem repräsentierten (ähnlich wie ES6 zum Synonym für neue Funktionen in JavaScript wurde, selbst nachdem es umbenannt wurde und wir uns mit neuen jährlichen Spezifikationen beschäftigten).
Ich denke, es hilft, weil es den Menschen hilft, eine Menge neuer Konzepte zu organisieren. Es geht nicht so sehr darum, die Leute für CSS zu begeistern, als vielmehr darum, ihnen eine Möglichkeit zu geben, eine Reihe disparater Feature-Spezifikationen unter dem Schirm "Was ist neu in CSS" zusammenzufassen, um Inhalte (Kurse, Posts, Videos, Tutorials usw.) darum herum zu organisieren.
Nun, das ist meine erste Reaktion aus dem Stegreif.
Wie ich in meinem Beitrag erklärt habe, geschah das natürlich. Deshalb hat es funktioniert. Zu erzwingen wird nicht funktionieren.
Ich bezweifle ernsthaft, dass wir jemals Containerabfragen sehen werden. Es fühlt sich so an, als ob es längst hätte passieren müssen, wenn es geschehen sollte.
Elternselektoren wären schön.
Platzhalter- oder variabelbasierte Regeln, etwas Ähnliches wie die Funktionalität, die wir von Less oder ähnlichem erwarten würden.
Bedingte Selektoren vielleicht?
Wenn (Bedingung) Regeltyp-Sachen.
Wenn CSS etwas näher an einer Turing-vollständigen Sprache gemacht würde, könnten wir damit viel intelligentere Dinge tun.
Eine Möglichkeit, eine CSS-Regel auf Canvas-gezeichnete Elemente anzuwenden (CSS zu Web GL)-Bridge oder etwas Ähnliches.
Ich sehe deutliche Vor- und Nachteile bei der "CSS4"-Idee. Ja, aus "Marketingperspektive" ist es großartig, aber langfristig gesehen, wenn wir ein "CSS4" ankündigen, wenn es ein ungenauer Begriff ist, malen wir uns nicht selbst in die Ecke? Was passiert in ein paar Jahren, wenn sie CSS5 erwarten?
CSS aller Ebenen rockt!
Kudos an all die wundervollen Menschen, die hinter den Kulissen arbeiten, um uns ein sichereres, saubereres, lebendiges Web zu bieten, plus eine stressfreie Möglichkeit, unsere Webseiten zu generieren.
Hier ist eine OLD SCHOOL CHALLENGE
In den frühen Tagen des Webs brauchte man eine Seite Code, um ein Video abzuspielen, eine Stunde, um ein Icon zu zentrieren (hier kein FA), und eine wirklich clevere Person, um ein Dropdown-Menü mit mehreren Ebenen zu erstellen – alles ohne Netz und doppelten Boden (Kein "Siri", also müsste man ein Buch kaufen, um zu lernen "wie").
Herausforderung
Mal sehen, ob wir als Coder von damals bestehen könnten. Machen wir uns mit dem 1x1-Gif und Tags, Stapeln von `<` `>` und sehen, ob wir eine augenschmeichelnde Seite mit nur dem CSS des Web-Ursprungs erstellen können.
Erwartete Ergebnisse
Respekt vor 1G-Codern und dem "alten" Netz und tiefste Wertschätzung für die erstaunlichen CSS-Entwickler, die sich den Hintern abarbeiten, um es für uns schwache Coder einfach zu machen! :)
Wir haben ein Problem!
https://css4-selectors.com/selectors/
http://html6test.com/index.html
Einige Updates zu den Dingen hier.
Seitdem gab es viele weitere Diskussionen im Thread. Ich musste mich vorerst zurückziehen, ich glaube, ich bin nicht für so große Gespräche geeignet.
Es gibt jetzt eine Community-Gruppe. Ich habe vor ein paar Wochen versucht, mich als Mitglied zu bewerben, aber ich habe nie eine Antwort erhalten.
Rachel hat einen Bericht darüber verfasst und ist immer noch entschieden keine Freundin.
Ich bin sicher, dass die globale Pandemie nicht hilft, aber mir kommt es so vor, als ob dies sowieso an Schwung verliert.
Als Liebhaber von CSS und jemand, der sehbehindert war, war ich sehr begeistert von der gesamten Markup-Unterstützung für Text-to-Speech. Endlich! Tools, um Barrierefreiheit für die Hinzufügung von Tiefe und Dynamik zu Text-to-Speech zu bieten. Außer dass die Leute, die die Screenreader herstellten (die genug Geld für die verdammten Dinger verdienen), sich weigerten, sie zu unterstützen, die Browserhersteller fügten keine In-Browser-Text-to-Speech-Ausgabe hinzu und dann wurde das Ganze nach einiger Zeit als veraltet markiert.
Ich halte das für eine Schande, und wenn echte Barrierefreiheit (nicht nur für Blinde, sondern auch für andere Gruppen) so vorangetrieben werden könnte, dass Browserhersteller sie unterstützen und die traditionellen Text-to-Speech-Unternehmen vor die Wahl gestellt würden, Markup zu unterstützen oder auszusterben, wäre ich sehr dankbar.
Ein Vorstoß für bessere Barrierefreiheit insgesamt, nicht nur im Bereich Text-to-Speech, sondern zur Unterstützung von Braille und anderen Barrierefreiheitsfunktionen für andere Behinderungen, bekommt meine Stimme.
Alexa und Audible sind beides klassische Beispiele dafür, wie etwas, das für Menschen mit Behinderungen zugänglich ist, auch für die allgemeine Öffentlichkeit äußerst bequem und beliebt sein kann.
Ich bin mir noch nicht sicher, wie wir das machen würden, aber es wäre großartig, mehr CSS-Unterstützung für mehrdimensionale Grafiken oder Textbehandlungen zu sehen. Zum Beispiel, ein flaches Bild oder ein Textstück zu nehmen und es 3D zu machen. Ich spreche nicht wirklich von Textschatten, sondern davon, tatsächlich die Form der Buchstaben oder Teile einer Grafik/eines Icons zu verändern.