Ich habe eine Reihe von Designern gefragt, was ihrer Meinung nach in CSS geändert werden muss.

Wolfgang Bartelme
Designer bei Bartelme Design
Ich würde mich sehr über Cross-Browser-Unterstützung für Verläufe, Schatten, Opazitätsmasken und abgerundete Ecken freuen. Ich vermute, das würde nicht nur die Bandbreite drastisch reduzieren, sondern auch die Produktion und Anpassung beschleunigen.

Jon Hicks
Designer bei hicksdesign
Ich wünschte mir ein anderes Box-Modell! Ich finde es bizarr, dass Polsterung und Rahmen die Breite eines Objekts hinzufügen, und ich würde mir wünschen, einem Element wie einem Textbereich 100% Breite und 3px Polsterung geben zu können, ohne sich Gedanken darüber machen zu müssen, was das für das Layout bedeutet. Vielleicht so etwas wie „padding-inside“ als neuen Selektor?
In diesem Sinne wünschte ich mir auch, ich könnte eine 100%ige Breite für ein Element angeben, abzüglich einer festen Breite. Wiederum sehr nützlich, wenn man flüssige Designs mit Formularelementen erstellt!

Andy Budd
Autor und Webstandards-Pionier: AndyBudd.com
Die meisten Dinge, die ich mir wünsche, sind in CSS3 enthalten, also was ich mir wirklich wünsche, sind die Kernmodule fertiggestellt und von mindestens zwei Browser-Anbietern vollständig implementiert.

David Walsh
Web Development Blogger: David Walsh Blog
Ich finde, dass die fehlenden Font-Fähigkeiten, mit denen wir leben müssen, eine Sünde sind. Unsere anderen Optionen für die Verwendung von nicht standardmäßigen Webfonts, sIFR und die Verwendung von Bildern, sind schmerzhaft und haben die Kreativität des Webs wirklich zurückgehalten. Ich glaube auch, dass standardmäßige abgerundete Eigenschaftswerte hinzugefügt werden müssen – wir sind alle müde von der Erstellung von Bildern mit abgerundeten Ecken und browserspezifischen Hacks, um unsere Ziele zu erreichen. Schließlich wünsche ich mir, dass CSS schneller in Browsern implementiert wird. Wir hatten in den letzten Jahren wenig Fortschritt.

Collis Ta’eed
Unternehmer, Blogger, Designer bei Envato, Home
Das größte Problem, das ich mit meinem CSS habe, ist, dass es bei großen Websites sehr unhandlich wird. Auf einer Website wie FlashDen ist das CSS kilometerweit, und dann habe ich einen zweiten Satz von Blättern, um alle Stile für Leute anzuwenden, die alternative Versionen der Website besuchen (ThemeForest oder AudioJungle). Selbst mit den besten Absichten ist das ziemlich unordentlich.
Ich wünschte, ich könnte ein Vererbungs-Konzept in CSS haben, wie man es in der objektorientierten Programmierung hat. Dann könnte man sagen:
.button { /* some styles */ } .button >> .sidebar_button { /* inherits all of .button and adds new styles */ }Ich weiß, dass ich das derzeit einfach so definieren könnte:
.button, .sidebar_button { /* some styles */ } .sidebar_button { /* inherits all of .button and adds new styles */ }Aber irgendwie scheint das keine elegante Art zu sein, Dinge zu tun. Und wenn die erste und zweite Definition durch einen großen Block von anderen CSS-Code getrennt sind, wenn man später zurückkommt, um sein CSS zu lesen, gibt es keine Möglichkeit zu wissen, dass .sidebar_button noch weitere Stile hat. Während man bei der obigen Vererbungsversion lesen kann, dass es eine Ableitung von .button ist.

Keith Robinson
Kreativdirektor bei Blue Flavor, Home
Ich wünschte, CSS könnte eingebettete Schriften so handhaben, wie wir es jetzt mit sIFR tun,

Shaun Inman
Designer/Entwickler von Mint, Home
Die Sache ist die: Eine weitere halbfertige, angeklebte Notlösung wird CSS nicht sinnvoll verbessern – sie würde nur einen grundlegenden Designfehler verschärfen. CSS fühlt sich an wie eine Stylesheet-Implementierung, die man in einer Desktop-Publishing-App der späten 90er Jahre finden würde. Es ist immer noch sehr textzentriert. Style-Sheets wurden einfach nicht für die Erstellung komplexer Layouts entwickelt. CSS-Layout-Features sind angeklebt – und 10 Jahre später zeigt sich das deutlich.
Ich würde mir wünschen, dass das CSS Text Module von erfahrenen Typografen und Setzern und das CSS Layout Module von erfahrenen Publikationsdesignern, sowohl traditionellen als auch neuartigen, neu geschrieben würden.
Und wenn möglich, irgendwann vor 2022.

Jeffrey Jordan Way
Redakteur bei NETTUTS und ThemeForest Blog, Home
Ich wünschte, wir könnten Variablen in unseren Stylesheets zuweisen. Zum Beispiel wäre es schön, wenn ich nicht jedes Mal zum Anfang meines Dokuments scrollen müsste, um den Hex-Wert für mein gewähltes „Blau“ zu holen, sondern diesen Wert einfach einer Variablen namens „myBlue“ zuweisen könnte.
var myBlue = #191955; #someElement{ color: myBlue; }Dies ist ein Thema, das bis zum Erbrechen diskutiert wurde, und ehrlich gesagt, es könnte sich als schlechte Idee herausstellen. Ich bin mir immer noch nicht sicher. Ich könnte mich bei einer solchen Diskussion für jede Seite entscheiden. Sobald Sie diese Tür öffnen, verlieren Sie irgendwie das gesamte Konzept von CSS. Aber ich denke, wenn es verantwortungsvoll geschieht, könnte die Variablenzuweisung uns potenziell viel Zeit beim Design sparen.

Steven Vandelay
Designer bei Vandelay Design
Eines der großartigen Dinge bei der Arbeit mit CSS ist, dass es normalerweise verschiedene Möglichkeiten gibt, etwas anzugehen, das man erreichen möchte, aber in gewisser Weise würde ich mir mehr Standardisierung wünschen, wenn es um Layouts geht.

Andy Clarke
Autor, Designer und Entwickler: Stuff and Nonsense
Nun, abgesehen vom Offensichtlichen (sicherstellen, dass Obama gewählt wird, mich sehr reich machen und mir eine Tasse schönen Tee zubereiten) was ich am meisten von CSS möchte, sind bessere Layout-Tools, um mir zu ermöglichen, reichhaltige, komplexe Designs zu erstellen, ohne dass ich präsentationale Elemente in meine Markup einfügen muss. Die CSS Working Group (deren ehemaliges Mitglied ich bin) hat hart an diesen Layout-Tools gearbeitet. Ich hoffe, dass die Browser-Hersteller diese Vorschläge bald (unter Verwendung von -browser- Erweiterungen) implementieren werden, damit Designer und Entwickler damit experimentieren können.

Chris Spooner
Designer bei SpoonGraphics, Home
Mehrere Hintergründe, abgerundete Ecken, Rahmenbilder und Opazität sind meine ersten Gedanken, wenn ich gefragt werde, was CSS meiner Meinung nach tun sollte, dann erinnere ich mich – all das ist für CSS3 in der Pipeline! In diesem Fall werden meine Träume in Bezug auf CSS wahr, was die Frage aufwirft: Gibt es etwas, das Browser tun könnten?!
Eine CSS-Technik, für die ich mir eine kürzere Methode wünschen würde, wäre die einfache Erstellung eines Zwei- oder Drei-Spalten-Layouts mit gleich hohen Seitenleisten, ohne die Faux-Column-Methode verwenden zu müssen.

Elliot Jay Stocks
Designer, Writer und Speaker, Home
Ich wünsche mir, dass CSS bedingte Anweisungen nativ unterstützt, ohne die Notwendigkeit von Workarounds wie (dem exzellenten) Conditional-CSS. Viele Leute argumentieren, dass Browsererkennung im Grunde etwas ist, das außerhalb eines Stylesheets gehandhabt werden sollte, aber all die HTML-basierten bedingten Kommentare, die ich verwende, um IE-spezifischen Code zu behandeln, dienen ausschließlich dazu, „Hack“-CSS-Dateien aufzurufen. Die Implementierung von Code ähnlich dem, was wir verwenden, um Gecko- oder WebKit-basierte Browser anzusprechen, wäre für mich eine äußerst willkommene Ergänzung.

Nick La
Designer – Web Designer Wall, N.Design Studio
Ich wünschte, CSS könnte Ebenenstile wie Photoshop, wo man hinzufügen kann: innere Schatten, äußere Leuchtkraft, Abschrägungs-Effekte usw. Es wäre noch besser, wenn wir Ebenen-Überblendungsmodi hätten.

Jesse Bennett-Chamberlain
Designer bei 31Three
Das Einzige, was mir einfällt, wären Variablen. Ich bekomme nicht mehr viel mit Code zu tun, aber Variablen wären sehr praktisch, wenn ich es doch täte. Fragen Sie mich, was ich von Photoshop erwarten würde, und ich könnte Ihnen eine viel längere Antwort geben :)

Volkan Görgülü
Designer / Entwickler – Web Deneyimleri
Ich wünschte, anstatt zu schreiben
#sample h1, #sample h2, #sample h3 —> (lang und hässlich)
etwas wie das
#sample [h1, h2, h3] —> (kurz und sauber)
würde die Arbeit erledigen :)
Ein weiteres Beispiel kann sein
#sample a:link, #sample a:visited
#sample a [link, visited]

Veerle Pieters
Designer bei Duoh!, Blog
Ich wünschte, CSS hätte Unterstützung für Farbverlauf-Ränder und eine einfachere Verwendung von Transparenz, wie zum Beispiel in InDesign oder Quark. Anwendbar auf jedes mögliche Objekt, Text usw. Ein einfacherer und logischerer Weg zum Schweben von Elementen. Zuletzt, dass wir nicht noch 5 Jahre auf CSS 3 warten müssen. Ich wünschte mir auch, dass CSS wütend wird und bestraft, wenn sich einige Browser nicht benehmen :)

Jonathan Snook
Designer/Entwickler bei Sidebar Creative, Home
Ich würde gerne konsistente Implementierungen von CSS3-Funktionen wie mehreren Hintergründen, `border-radius` und `border-image` über alle wichtigen Browser hinweg sehen. CSS-Transformationen wären auch praktisch. Sie mögen wie eine Spielerei erscheinen, aber es gibt viele praktische Gründe dafür, wie z. B. lange Header-Namen für schmale Spalten in einer Datentabelle. Elemente drehen zu können, würde das Design verbessern und gleichzeitig die Barrierefreiheit erhalten (und vermeiden, auf Bilder zurückgreifen zu müssen). Die Landschaft in 5 Jahren wird uns meiner Meinung nach viele Funktionalitäten bieten, die wir heute nicht genießen.

Eric Meyer
Web Standards Autor und Sprecher, Home
Starkes Raster-basiertes Layout. Das haben wir immer noch nicht, und es wird benötigt. Zu diesem Zeitpunkt ist es mir ehrlich gesagt egal, ob es durch CSS oder eine andere neue Sprache erreicht wird.

Cameron Moll
Designer, Speaker, Autor, Home
Zuallererst wünsche ich mir, dass CSS meine E-Mails beantwortet.
Zweitens wünsche ich mir, dass CSS Browser-Entwickler davon überzeugt, „zukünftige“ CSS-Features und Vorschläge kooperativ und inkrementell bereits heute einzubauen, anstatt auf eine vollständige Spezifikation zu warten, die „offiziell“ veröffentlicht wird.
Wunschdenken? Vielleicht, obwohl ich erwarte, dass das Erste vor dem Zweiten passieren wird.

Dan Rubin
User Experience Director bei Sidebar Creative, Home
Ich würde mich freuen, wenn das W3C einen richtigen Typografen und Buchgestalter einbeziehen würde, um die Typografie- und Layoutteile der Spezifikation zu gestalten. Jemand wie Robert Bringhurst wäre ideal, sowohl als Experte für Typografie als auch für Buchgestaltung, damit die Spezifikation mit den Bedürfnissen von Designern im Hinterkopf erstellt wird, anstatt von Programmierern.
Auf eine funktionsspezifische Weise würde ich hoffen, dass dies zu einer viel besseren typografischen Kontrolle und einem Web-Äquivalent zu „Master-Seiten“ führt, die ein alter Standard in der Printdesign-Software sind.

Stephanie Sullivan
Coder, Trainer, Writer bei W3Conversions
Abgesehen vom heiligen Gral der Erstellung von Spalten gleicher Höhe ohne eine Scheinmethode (während Browser wie IE6 und IE7 immer noch unterstützt werden), würde ich mir wünschen, dass man die Hintergrundpositionierung von der Unterseite oder rechten Seite eines Elements aus festlegen kann. Nein, ich meine nicht, dass man sie ganz unten oder rechts platziert, das können wir natürlich jetzt schon. Ich meine, dass man ein Hintergrundbild festlegt, das nicht ganz unten oder rechts ist und einen bestimmten Abstand davon hat. Es ist nicht möglich, die Höhe von Elementen mit Text genau zu bestimmen, daher führt das Festlegen des Hintergrundbilds 350 Pixel von oben zu sehr unterschiedlichen Ergebnissen in Bezug auf die Unterseite des Elements. Eine zuverlässige Möglichkeit, ein Hintergrundbild 20 Pixel von unten zu platzieren, ohne einen nicht-semantischen Wrapper hinzuzufügen, könnte unter bestimmten Umständen sehr hilfreich sein.
Einige großartige Ideen aus den Kommentaren
- Andy Ford:
Ich würde mir eine „height-increment“-Eigenschaft wünschen.
Im Wesentlichen soll ein Blockelement nur in bestimmten „Schritten“ und nicht Pixel für Pixel in der Höhe wachsen. - Tony Freixas:
GUI-Anwendungen haben Zugriff auf umfangreiche Layout-Tools, die leicht an Web-Layouts hätten angepasst werden können, aber komplett ignoriert wurden.
Das Layout ist definitiv etwas, das komplett neu geschrieben werden könnte. - Andy Pemberton:
CSS benötigt ein fortschrittlicheres „Fallback“-Unterstützungsmodell.
Im Moment können wir mehrere Schriftarten angeben, auf die zurückgegriffen werden kann, aber was ist, wenn diese Fallback-Schriftart auch etwas negativen Zeichenabstand vertragen könnte?
Re: John Hicks‘ Anfrage nach einem anderen Box-Modell: Sie können das Box-Modell mit der `box-sizing`-Eigenschaft von CSS3 umschalten. Es wird von einigen Browsern direkt unterstützt, über Präfix-/Namespaced-Eigenschaften bei anderen, und Sie können sogar Unterstützung in IE6 über Dean Edwards' IE7.js hinzufügen
box-sizing: border-box | content-box;
Die browserspezifischen Variationen sind -moz-box-sizing, -ms-box-sizing und -webkit-box-sizing.
Weitere Informationen hier
http://www.quirksmode.org/css/box.html
jason
Viele wünschen sich abgerundete Ecken. Aber wenn ein neuer Stil von Ecken trendy wird, werden wir dann wieder darum bitten, CSS-Spezifikationen zu ändern? :)
Schöne Zusammenfassung der Kommentare!
Hoffentlich sehen wir viele davon in naher Zukunft. Gut gesagt, funkyboy, aber sie sollten für zukünftige Trends gerüstet sein! :P
Ich hätte gerne Vererbung, Bedingungen, Variablen usw. Ein Problem – das würde CSS nicht mehr zu Style-Sheets machen. Wir bräuchten also eine tatsächliche *Sprache*, um Styles zu schreiben. Das können wir mit Javascript tun, aber ich würde mir wirklich eine Alternative wünschen.
Was wir *haben können*, aber (noch?) nicht haben, ist die Unterstützung für explizite Kindklassen (was sich von Vererbung unterscheidet)
.button { Eltern-Button-Stil .child_button { erweiterte Kind-Stilistik } .submit_button { } usw.}
Wie wäre es mit der Möglichkeit, Bilder auf der Seite und auf Hintergründen zu drehen und zu spiegeln (vertikal/horizontal)?
Mir fallen ein paar Situationen ein, in denen dasselbe Bild auf verschiedene Weise verwendet werden könnte. Auf diese Weise müssten Sie nicht viele Variationen desselben Bildes erstellen.
Beispielcode
img.splash { rotate: 30; }
img.splash2 { rotate: -270; }
.myDiv { background: url(/images/image1.jpg) no-repeat 0 0 flip-x 90; }
.myDiv2 { background: url(/images/image2.jpg) no-repeat 0 0 flip-y; }
Liebe deine Idee, Volkan! All diese Ideen sind großartig. Vor allem Variablen.
Wirklich toll, die Meinungen aller zu sehen. Aber Chris, du hast deine Antwort nicht reingeschrieben! :)
Ich wünschte mir eine „height-increment“-Eigenschaft. Ich glaube nicht, dass sie viel verwendet wird, aber sie wäre praktisch, wenn man sie wirklich bräuchte. Ich denke hauptsächlich, dass sie helfen würde, wenn man einen wiederholten Hintergrund hat. Zum Beispiel
.sidebar {
background: url(pic.png) repeat-y; /* stellen Sie sich ein 20px hohes Hintergrundbild vor */
height-increment: 20px;
}
Wenn die Höhe von .sidebar aufgrund der Größe des Inhalts 216 Pixel betragen würde, würde „height-increment“ .sidebar auf 220 Pixel erhöhen.
Ein positiver Wert würde aufrunden, ein negativer Wert abrunden.
Wieder etwas, das man wahrscheinlich nicht jeden Tag benutzt, aber in diesen seltenen Fällen, in denen man es braucht, sehr nützlich wäre.
@Anton,
Ich habe gerade diese Woche mit einem anderen CSS-Entwickler gechattet und ihm gesagt, dass ich mir wünschte, CSS könnte genau das tun, was Sie gepostet haben.
Fantastische Ideen von all diesen Designern. Ich stimme der Spaltenhöhe zu. Es ist eine Qual, Workarounds zu erstellen, wenn man möchte, dass eine Seitenleiste die gleiche Höhe wie der Wrapper und der gesamte andere Inhalt hat. Sehr enttäuschend. Hoffentlich kann CSS mehr zu einem Werkzeug für Webinterface-Designer werden, als es derzeit ist. Abgerundete Ecken, gleiche Höhen für alle Spalten, Schlagschatten, zusätzliche Stile, Schriftarten, eine einheitliche Opazität für alle Browser, Vererbung (eine sehr gute Sache), ein anderes Box-Modell (auch eine sehr gute Sache. Padding muss wirklich keine Breite hinzufügen), browserübergreifende Unterstützung UND AKTUALISIERTE UND STANDARDKONFORME BROWSER (verfluch dich IE!!!), und jeder, der seine Browser nicht aktualisiert… verfluch den auch (hüstel, IE6-Nutzer. Wirklich???!!! Er ist über 7 Jahre alt. In den letzten 4 Jahren sind 2 weitere aktualisierte Versionen erschienen) !!!! Entsorgt IE und holt euch einen echten Browser. Entschuldigung, das ist ein empfindliches Thema für mich.
Das ist alles.
Ich habe die Diskussionen über CSS-Variablen gelesen, aber das Einzige, was meiner Meinung nach wirklich Variablen braucht, ist die url()-Funktion. Das Ändern von URLs, wenn sich das Website-Verzeichnis ändert, ist mein größter Nachteil bei der Arbeit mit CSS.
Ich bin mit Elliot Jay Stocks der Meinung, dass das bedingte HTML auf mehr Browser erweitert werden sollte. Und Volkan Görgülü's Vorschlag wäre auch schön.
Die Möglichkeit, entweder **color** oder **colour** zu verwenden, wäre großartig, aber derzeit nicht abwärtskompatibel.
Obwohl ich Wolfgang Bartelme und Davind Walsh voll und ganz zustimme, wäre Jesse Bennett-Chamberlains Ideen zu Variablen unglaublich. Es wäre erstaunlich, alle Hex-Werte für jede Farbe deklarieren und dann später die Variablen verwenden zu können. Aber ich würde gerne noch etwas anderes sehen.
Möglichkeit, BILDER auf Ränder anzuwenden, genauso wie wir Bilder über die Hintergrund-Eigenschaft zu allen anderen Elementen hinzufügen.
Oh, und Zulassen von Margin, Padding und Border für TR-Elemente.
Das wäre so cool.
Mischen von Einheiten, z.B. 100%-30px; Viele Entwickler, die ich kenne, wollen das. Es ist absurd, dass wir es nicht haben.
Ausbrechen aus der Kaskade – Ich sollte andere Objekte ansprechen und Eigenschaften von diesen Objekten erben können, z.B. div#two { color : div#one; }
Ausbrechen aus der Kaskade – Position relativ zu anderen Objekten, damit ich meine Dokumenten-Semantik nicht verdrehen muss, um ein visuelles Ziel zu erreichen. z.B. div#two { origin : div#one; top : 10px; left : 10px; }
Variablen. Echte Variablen, nicht nur Konstanten.
Konstanten.
Wir brauchen diese grundlegenden Werkzeuge, damit wir unsere eigenen übergeordneten Lösungen entwickeln können. Wir brauchen keine weiteren übergeordneten Lösungen, die unsere grundlegenden Probleme nicht lösen (Advanced Layout Module; ich schaue dich an). Ich würde gerne auf schicke Grafik-Effekte wie Schlagschatten verzichten, um etwas zu bekommen, das grundlegend NÜTZLICHER ist.
Oh, und ich stimme Elliot J Stocks voll und ganz zu. Wir brauchen wirklich bedingtes CSS, heute musste ich Opera in einem suboptimalen Zustand verlassen, weil es RGBA nicht unterstützt und ich es nicht ansprechen kann, um eine lesbare Alternative anzubieten.
Da Variablen bereits mehrmals als Option angeboten wurden, wäre meine Top-Antwort wahrscheinlich etwas Einfacheres, wie halbtransparente Hintergrundfarben-Overlays, ohne PNGs verwenden zu müssen.
JA! inner-padding: x; – Ich wünschte, wir könnten das tun, das macht mich verrückt, dass ich das Padding vom Gesamtbreite meines Containers abziehen muss. Unterstützung für mehr Schriftarten wäre auch großartig. Ich mochte auch Volkan Görgülü's Vorschlag.
Sehr interessanter Artikel und Antworten!
Bessere Schriftverwendungsmöglichkeiten stehen ganz oben auf meiner Liste.
Hoffentlich werden die CSS3-Sachen bald implementiert. Es hat lange gedauert.
Wie wäre es mit besserer vertikaler Ausrichtung und Höhenoptionen. Einige wurden bereits vorgeschlagen, wie Höhen von mehreren Spalten und dergleichen. Aber wie wäre es mit der Möglichkeit, vertikal zu zentrieren, also echtes **Zentrieren**, nicht die obere linke Ecke des Objekts zu zentrieren. Dann keine Probleme wie das Hinzufügen von negativen Margins, um es an seinen Platz zu schieben, oder das schwierige Rechnen, um die Mitte zu finden.
@Anton: Absolut, ich habe auch an Rotation gedacht. Dann könnte Chris seine „Friends“- und „Meta“-Links unten auf dieser Seite mit diesen Tags ausrichten. :)
@funkboy: Abgesehen von Ecken und abgerundeten Ecken, welche anderen Ecken müssten die Leute berücksichtigen? Ohrenecken? :-P
@anton und @aaron
Sie können mit -moz-transform (FF3.1) und -webkit-transform (Safari, Chrome) drehen. Ich verwende sie seit kurzem ausgiebig und bin begeistert.
Ich denke, das Einzige, was ich will, ist, dass alle Webbrowser nur 1 CSS-Standard unterstützen. Keine Erweiterungen mehr, keine Hacks. Das wird mich vor vielen schlimmen Träumen in der Nacht retten.
Diese Liste ist gleichzeitig deprimierend und fantastisch. Es ist schön, meine eigenen Frustrationen in Worte gefasst zu sehen.
@matt wilcox
Sehr wahr. Ich denke, es gibt auch einen Filter zum Drehen in IE. Dies gilt jedoch nur für Elemente und nicht für Hintergrundbilder.
Es gibt keinen Grund, ständig Hacks zu verwenden, sie sollten es zu einem Standard machen.
@Matt – Ich stimme zu, das Abziehen des Padding von der Breite ist albern und oft unmöglich, besonders bei Prozentangaben. Es besteht jedoch keine Notwendigkeit für eine „inner-padding“-Eigenschaft. Padding ist per Definition innerhalb des Rahmens. Siehe meinen vorherigen Kommentar zum Thema `box-sizing`-Eigenschaft. Sie ermöglicht es Ihnen, das Box-Modell so umzuschalten, wie Sie es möchten, und wird jetzt in den wichtigsten Browser-Engines gut unterstützt.
– jason
Ich unterstütze gute Opazitätskontrolle zu 100%, aber das erfordert eine Sache, die ich bisher in keinem Browser gesehen habe, selbst bei denen, die Opazität unterstützen; die Möglichkeit, die Opazität wieder auf 100% zu erhöhen. Derzeit, wenn Sie zwei verschachtelte Elemente haben und die Opazität für das äußere auf 0,5 setzen, ist das innere auf maximal 0,5 Opazität beschränkt. Wir brauchen wirklich eine Mechanik, um die Opazität wieder auf 100% zu erhöhen, damit wir Effekte wie durchscheinende Ränder um solide Inhaltsblöcke erzeugen können.
Den meisten Anfragen nach Variablen in CSS stimme ich nicht zu. Verwenden Sie einen Präprozessor wie SASS oder Ähnliches.
Außerdem ist die Notwendigkeit, „var LABEL“ zu schreiben, dumm. CSS ist kein Javascript und sollte keine Wortklauberei erfordern, wo sie nicht notwendig ist. Es sollte prägnant gehalten werden (wie SASS).
Schön zu sehen, wie die Denker sich äußern. Danke dafür!
Abgesehen von Andy Clarke macht sich sonst niemand große Sorgen um verbesserte Layout-Tools. Das finde ich überraschend.
GUI-Anwendungen haben Zugriff auf umfangreiche Layout-Tools, die leicht an Web-Layouts hätten angepasst werden können, aber komplett ignoriert wurden. Zum Beispiel bot bereits in den späten 80ern ein GUI-Toolset namens Motif (für X Windows) ein Formularmanager-„Widget“ an. Mit diesem Werkzeug konnte ich einen Inhaltsblock nehmen und seinen linken Rand an den rechten Rand eines anderen Blocks, seinen oberen Rand an den unteren Rand eines anderen Blocks und seinen unteren Rand an den unteren Rand des Formulars selbst anheften. Diese Anhänge konnten Abstände haben. Jeder Block konnte als feste Größe oder als größenveränderlich gemacht werden.
Einige der Layouts, die Leute mit CSS nur schwer erstellen können, werden in GUI-Anwendungen leicht erstellt. Die kommenden CSS-Layout-Tools (zumindest die, von denen ich gehört habe) scheinen die Tradition fortzusetzen, bestehende Layout-Lösungen zu ignorieren. Ich bin nicht so zuversichtlich wie Andy, dass dies optimale Lösungen sein werden, außer der Bereitstellung von Arbeitsplätzen für CSS-Coder.
Das führt zu dem Wunsch, dass wir browserübergreifende CSS-Plugins hinzufügen könnten, so wie wir Plugins für Quicktime und Flash haben. Dann würde ich die CSS-Features bekommen, die ich wollte, ohne auf die CSS-Komitees oder Browserentwickler warten zu müssen. Einige CSS-Features würden schließlich zum Standard werden, aufgrund ihres Erfolgs in der Praxis, im Gegensatz zum aktuellen Ansatz, zuerst den Standard zu erstellen und ihn dann zu implementieren und zu hoffen, dass er gut funktioniert.
Das sind alles Zukunftstricks von CSS. Vererbung, Variablen, Gruppierung scheinen coole Features zu sein. Ich wünschte, sie in naher Zukunft zu sehen.
Ich werde noch einen hinzufügen, den ich formalisieren und dem W3-CSS-Arbeitskreis vorschlagen wollte
CSS benötigt ein fortschrittlicheres „Fallback“-Unterstützungsmodell. Zum Beispiel hat CSS2.1 (und meines Wissens auch 3) ein grundlegendes Modell zur Unterstützung von Fallback-Schriftfamilien
font-family:FirstChoice,SecondChoice,LastChoiceShouldBeGeneric;
Reales Beispiel
font-family: „Lucida Grande“, Garamond, „Times New Roman“, serif;
Dies wird auf Garamond zurückfallen, wenn Lucida Grande auf dem Client-Computer nicht unterstützt/verfügbar ist und so weiter.
Das Problem bei diesem Ansatz ist, dass es manchmal mehr als nur eine einfache Umschaltung auf „Garamond“ braucht, um die zweite Wahl so gut wie möglich an die erste anzupassen. Zum Beispiel wird das Hinzufügen eines zusätzlichen „letter-spacing:1px“ die zweite Wahl dem ersten ähnlich machen.
Es wäre schön, ein Muster für diese generische Art für Eigenschaften/Werte-Unterstützung anzuwenden.
Beispiel
if(supported){
font-family:”Some Crazy Rare Font”;
}else{
font-family:”2nd Choice Font”;
letter-spacing:1px;
}
Die Syntax hier könnte wahrscheinlich verbessert werden (ich denke, etwas Ähnliches wie die Media-Query-Syntax wäre schön), aber es ist etwa 21 Uhr Ostküstenzeit nach einer langen Woche.
Macht das Sinn? Oder denkst du, dass diese Funktion vorteilhaft wäre?
Von allen oben genannten Optionen hätte ich wirklich so etwas wie Arrays (a [link visited] { } ), Variablen und so etwas wie Objekte
var linkColor : #f60;
#maincontent {
p { margin: 20px 0; }
code { }
a [link visited] { color: linkColor; }
}
In diesem Code werden p, code und a nur in #maincontent beeinflusst.
Ich würde gerne sehen, dass die Drehung in allen wichtigen Browsern einfach gemacht wird.
CSS-Tabellen, fürchte sie nicht.
@Lauren
Die Notwendigkeit, PNGs für halbe Transparenz zu verwenden, ist weder ein Fehler der Browser noch von CSS an sich, sondern der tatsächlichen Formate. Nur PNG unterstützt Alpha-Transparenz, die Ihnen halbe Transparenzeffekte verleiht.
Ich denke, ich werde die Rotation meiner Wunschliste hinzufügen, zusammen mit besserer Schriftunterstützung und Vererbung.
Und ein einheitliches Opazitätsattribut, anstatt browserspezifische Attribute zu haben.
Oh, und schließlich, wenn ein nicht konformer Browser auf CSS stößt, wird er automatisch zu einem Browser aktualisiert, der dies tut, oder zu einer neueren Version. Ich möchte auch, dass CSS die zweite Wiederkehr von Jesus ist und uns Schweinekoteletts bringt.
Ich würde wirklich gerne Variablen in CSS implementiert sehen
Zu CSS-Tabellen: SitePoint hat bald ein Buch oder es ist bereits erschienen. Soweit ich irgendwo gelesen habe, ist das Buch komplett CSS-Tabellen gewidmet.
Es sollte eine interessante Lektüre sein, aber wir haben immer noch das Problem, dass die Nutzung von IE6 immer noch ziemlich hoch ist.
Davon abgesehen werde ich auf jeden Fall damit beginnen, damit zu experimentieren.
Ich mag die Idee von Volkan Görgülü. Was die anderen angeht, die meisten dieser Ideen (d.h. abgerundete Ecken, Variablen, eingebettete Schriftarten) werden bereits von einigen Browsern unterstützt. Alles, was wir brauchen, ist bessere Cross-Kompatibilität (und Leistung für CSS-Ausdrücke). „Photoshop-Ebenenstile“ ist eine interessante Idee, aber das würde den Browser wie Photoshop machen. Was kommt dann? Photoshop-Filter? Warum nicht? (Die Idee der Vererbung war völlig falsch).
Korrektur (wo ist der verdammte Edit-Button), tatsächlich hat IE Photoshop-ähnliche Filter.
Eine Sache, die ich gerne in CSS sehen würde, ist Zentrierung oder mittlere Verschiebung.
Ich würde es LIEBEN, wenn die meisten dieser Dinge integriert würden, sie würden das Web zu einem besseren Ort machen.
Browserübergreifende Unterstützung für `text-overflow:ellipsis`, damit überlaufender Text mit … abgeschnitten wird
Im Moment ist IE der einzige Browser, der dies unterstützt
Ich liebe den Vorschlag von Jeffrey Jordan Way! Ich hätte nie daran gedacht, Variablen in CSS zu verwenden. Das wäre verdammt genial und würde das Ändern von Farben seitenweit zum Kinderspiel machen – besonders bei der Live-Entwicklung!
Ein weiteres, zugegebenermaßen obskures Feature, das ich gerne sehen würde, ist eine Möglichkeit, Innenrahmen zu erstellen. Vielleicht eine Eigenschaft wie ‚border-inner‘ oder ‚inner-border‘. Würde ähnlich wie ‚border‘ sein, könnte aber so aussehen
border-inner: 1px solid #ccc inset(4px);
Alle diese wären sehr nützlich
vielleicht eine einfachere Methode, Text um Bilder zu „sandsacken“
vielleicht etwas wie
#element {
display: block;
width: 300px;
text-shape: url(images/mytextshape.png) 1.1em;
}
Das 1.1em könnte für den internen Abstand zum äußeren Rand der Form stehen
wobei das PNG eine einfarbige Form sein könnte, die der Browser entsprechend formatiert… obwohl dies etwas Rechenaufwand erfordern könnte! Können Safaris Maskierungsfunktionen etwas Ähnliches leisten?
Dies könnte Probleme bereiten, wenn der Benutzer die Schriftgröße erhöht (und der Text in eine Art Design eingebunden ist)
Volkan hat einen großartigen Punkt!
15 Designer kommentieren, was CSS tun könnte!
@Lauren und @Matt Z
Sie brauchen keine PNGs für halbtransparente Hintergrund-Overlays. Wenn Sie nur eine Farbe meinen, können Sie RGBA sowohl in Firefox als auch in Webkit verwenden (Opera-Unterstützung kommt in der nächsten Hauptversion).
selector { background-color: rgba(255,255,255,0.5); }
Ich bin überrascht, dass niemand von einer Art Drehung gesprochen hat. HTML besteht derzeit nur aus rechten Winkeln. Inhalt fließt auf und ab und wir können Dinge links und rechts fluten. Aber ich möchte meine Divs schräg drehen können. Daher würde ich gerne sehen
#angled-div {rotation: 45;}was meinen Div vielleicht um 45 Grad im Uhrzeigersinn dreht. Das würde bedeuten, dass wir für benutzerdefinierte Designs viel weniger Bilder verwenden müssten. Es würde auch bedeuten, dass Text nicht *genau* auf und ab ausgerichtet sein müsste. Zum Beispiel könnten im Footer dieser Seite die HTML-Links unter den „Friends“- oder „Meta“-Grafiken durch die Kantengestaltung des Bildes ausgerichtet werden, indem ein Rotationselement verwendet wird.
Das ist etwas, über das ich schon eine Weile nachgedacht habe und ich bin überrascht, dass ich es noch nirgendwo anders gehört habe.
verdammt……all (naja, fast alles) von diesem Zeug wäre nett. es gäbe definitiv viel weniger Fluchen in meinem Büro.
Vielleicht wäre verschachteltes CSS in bestimmten Situationen gut. z.B.
ul#menu {
margin: 0;
li {
list-style: none;
a {
background: white;
}
a:hover {
background: black;
}
}
}
das würde es erleichtern, Dinge zu tun wie
ul#menuul#menu li
ul#menu li a
ul#menu li a:hover
aber ja, ich stimme der Tatsache zu, dass dies möglicherweise auch verwirrender sein könnte als der übliche Weg.oh nein, WordPress hat meine Einrückung gefressen, jetzt sieht es total schrecklich aus :-/
will niemand Kerning in CSS verfügbar haben?
Die Unterstützung eines Standards ist bei weitem das Wichtigste, aber meine Wunschliste umfasst die CSS3-Elemente wie abgerundete Ecken, Farbverläufe, mehrere Hintergründe usw. nicht-kaskadierende Opazität (oder das Brechen der Kaskade); Variablen (oder das Verschachteln eines Parameters von einem anderen Element/Selektor); `display: image-replace` oder eine sauberere Möglichkeit der Bildersetzung; und sogar eine explizite Möglichkeit, Floats zu umschließen. Vereinfachung der Lernkurve für neue Designer, Entwickler…
Wenn alles gesagt und getan ist, ist ein standardisierter Regelensatz für alle Browser der erste Schritt. Ich kann lange ohne neue Funktionen leben, wenn ich weiß, dass alte übernommen werden.
Wiederholte Hintergründe eines Bildausschnitts – Sprites.. Erstellen Sie ein Bild aus allen benötigten Hintergründen, und Sie würden weniger Bandbreite verbrauchen.
background:url(images/bigImageSprite.png) -12px 0 0 -12;
Es ist schön, solche guten Ideen unter den Designern zu haben.
Mir ist gerade eine eingefallen. Wie wäre es mit dem Gruppieren von CSS-Eigenschaften wie
body{ margin,padding:0; }
h1{ font-style,font-weight:normal;}
Ich bin mir nicht sicher, wie nützlich es im Großen und Ganzen wäre, aber Dinge, die denselben Wert teilen können, sollten das auch können.
Ich möchte hauptsächlich nur, dass CSS von den Browserherstellern **tatsächlich** implementiert wird und zukünftige Entwicklungen zumindest zu 50% benutzergesteuert sind.
Zu viele „Standards“ sind Kompromisse, die sich aus dem Schutz der Interessen von Unternehmen ergeben und aufstrebende Unternehmen behindern.
Wenn ich eine Wunschliste hätte: einfache Variablen, Farbverläufe, abgerundete Ecken, sinnvolles Box-Modell, gemischte Werte (% – px)
Vorschläge, die zu den CSS-Variablen hinzugefügt werden sollen, wie beschrieben unter: http://www.css3.info/summary-of-the-two-current-css-constants-proposals/
Vorschlag 1
Es soll eine neue Art von Variable existieren – eine Bildvariable, definiert wie folgt:
@define imag-vars{ imagevar1 { rect(20,30,40,50) url(http://www.example.com/images.image.jpg)} , imagevar2 { rect(60,70,80,90) url(http://www.example.com/images.image.jpg)}}
wobei rect(60,70,80,90) das Quadrat ist, das das Bild im Sprite definiert (Sprite – ein Bild, das eine Gruppe von Bildern enthält)
Danach können wir den Bildausschnitt wie folgt anwenden:
background-image:var(imagevar1);
anstatt des Vorschlags, background-image-crop zu CSS3 hinzuzufügen (ich meine, es soll eine Möglichkeit geben, Bilder auch für Hintergründe zuzuschneiden, ähnlich der clip:rect()-Eigenschaft)
********************************************************************
Vorschlag 2
Vererbung für Style-Sets
anstatt @define style-sets { noteBox { border-style: solid; padding: 1em; border-radius: 1em; } quoteBox { margin: 1em; }}
Für die Anwendung von Vererbung wird wie folgt neu definiert:
@redefine style-sets { noteBox2{ noteBox { border-style: dashed; }}}
wird das gleiche Ergebnis haben wie die Definition eines neuen Stils wie folgt:
@define style-sets { noteBox2 { border-style: dashed; padding: 1em; border-radius: 1em; }}
Was ich aus diesem Artikel mitnehme, ist: „Wäre das Leben nicht wunderbar ohne IE?“
Ich würde die Cross-Browser-Unterstützung für die Angabe von Stilen, die nur angewendet werden sollen, wenn zwei Stile auf demselben Objekt vorhanden sind, absolut lieben.
Zum Beispiel könnte ein div mit der Klasse .button auch .hover haben… Ich denke, das ist in FF möglich, aber nicht in IE :(
Ich würde mir mehrere Hintergründe wünschen (oh, die Markierung, die ich mir damit ersparen könnte…), und ich denke, ein großartiges Feature, das noch nicht zur Sprache gekommen ist, wären inkrementelle Höhen bei Elementen. Die beiden zusammen eröffnen einige coole Möglichkeiten.