Gibt es eine Alternative zur Formatierung von Stylesheets zu CSS? Oder ist CSS die aktuelle Einzelsprache für die Formatierung von Stylesheets?
Ich habe mir das Schreiben von CSS auf Wikipedia ( http://en.wikipedia.org/wiki/Cascading_Style_Sheets ) und einige andere Kommentare zu CSS angesehen und war entmutigt über den Mangel an vollständiger Unterstützung für CSS in den verschiedenen Layout-Engines Ich bin nur neugierig, ob es eine Alternative gibt oder ich muss lernen, auch CSS-Filter zu verwenden.
Vielen Dank für alle Einblicke.
Antworten:
CSS ist die einzige echte Option.
Die Browserunterstützung für CSS sollte (in den meisten Fällen) kein großes Problem sein, sobald Sie die Vor- und Nachteile von CSS kennen. Der Schlüssel zum Verständnis von CSS besteht darin, dass der Zweck darin besteht, den Stil eines HTML-Dokuments zu definieren, und dass es vom Inhalt getrennt sein sollte.
Sie müssen üben, um zu lernen, wie Sie in Browsern, die keine Funktionen unterstützen, die Dinge ordnungsgemäß verschlechtern können. Die Grundidee hier ist, dass Sie den kleinsten gemeinsamen Nenner (normalerweise Internet Explorer) "gut genug" machen sollten, um die Benutzererfahrung nicht zu beeinträchtigen, und den Benutzern die Feinheiten mit besseren Browsern bieten. Auch nicht entwickelt für Internet Explorer zuerst. Lassen Sie es bis zum letzten Mal und beheben Sie dann die Fehler. Es ist viel schwieriger, Dinge umgekehrt zu machen (zuerst IE).
Sie haben auch die Möglichkeit, JavaScript zum Festlegen von Stilen zu verwenden. Dies wird jedoch nicht empfohlen, da Sie das Anwenden von Stilen in JavaScript vermeiden sollten, da JavaScript für Logik und nicht für Stile gedacht ist.
Eine Webseite besteht aus 3 Komponenten (je nachdem, wie Sie sie betrachten):
quelle
Ihr versucht alle, die Frage aus der Sicht eines Programmierers zu beantworten. Ich denke, das Originalplakat suchte nach einer grafikfreundlicheren Alternative, die ein anderes Konzept bietet.
Selbst wenn CSS3 browserübergreifend übernommen wird, glaube ich, dass die CSS-Methode zum Anordnen von Inhalten (Inline-Box, Floats, Ränder usw.) schrecklich ist. Ich bin Programmierer, aber mein Vater ist Grafikdesigner, und ich bin mir ziemlich sicher, dass die Layout-Software, die sie 20 Jahre lang verwendeten, in einigen Aspekten einfacher und fortschrittlicher war als CSS.
quelle
Ja , es heißt WENIGER und behebt die meisten Probleme mit der Lesbarkeit von CSS-Code.
Sie können es sowohl auf dem Server als auch on-the-fly clientseitig mit kompilieren laufenden Betrieb less.js kompilieren .
Für die Produktion empfehle ich, ein Build-Skript einzurichten , das es kompiliert (in NodeJS ist dies ein Kinderspiel mit Grunt und ohne Grunzen ).
Bearbeiten: Es gibt auch andere erwähnenswerte Optionen, auch wenn ich WENIGER verwende und empfehle.
SASS : Ruby Leute lieben diesen. Es ist kein Super-Set von CSS wie LESS, sondern verwendet eine eigene Syntax. Bewältigung hierfür entwickelten sie SCSS, das ist ein CSS - Super-Set und ist ähnlich LESS.
Stift : Wie WENIGER ist er in Javascript codiert, wird jedoch häufig von Node.js verwendet. Ich kann nicht dafür bürgen, da ich es noch nicht ausprobiert habe, aber es ist sehr ausgereift. Wenn es also eine Funktion hat, die Sie möchten, entscheiden Sie sich auf jeden Fall dafür.
Turbine : Diese wurde in PHP codiert. Nicht viel Traktion.
Wechseln Sie CSS : Vielleicht möchten Python-Hacker dies untersuchen. Noch weniger Traktion.
Wenn Sie sich noch alternativer fühlen, gibt es auch CSS Cacheer , CSScaffold , DtCSS , CSSPP und sogar etwas von porneL .
Andere Dinge, die Sie vielleicht ausprobieren möchten:
Compass : Ein umfassendes CSS-Authoring-Framework für die Ruby-Leute.
WinLESS : Ein Drag & Drop-WENIGER-Compiler für Windows, der super cool ist und den Sie unbedingt ausprobieren sollten.
WENIGER Elemente , Preboot , LESSHat und sogar.less : Bibliotheken mit Mixins und Konstanten für LESS.
Bootstrap : Ein von Twitter entwickeltes Framework. Ebenfalls verwandt: HTML5 Boilerplate .
Normalize.css : Eine Alternative zu CSS-Resets . Es gibt jedoch viele Resets, als Entwickler eines muss ich sagen: Die meisten sind Mist. Wenn Sie keine eigenen erstellen möchten, verwenden Sie einfach diese.
Update : Seit 1.4 hat WENIGER
@extend
auch. Verwenden Sie nach Möglichkeit 1.4+! Dies vervollständigt die Gründe, WENIGER gegenüber SASS zu wählen, denke ich.quelle
<FONT>
Tags verwenden).Ja.
Wie alle anderen sagten, ist CSS Ihre einzige echte Option, aber es gibt eine andere Sprache für " Stylesheet- Formatierungssachen" im Web, die eXtensible Stylesheet Language (XSL), insbesondere die Teilmenge der Spezifikation, die als XSL-FO bekannt wurde (Objekte formatieren) .
Abhängig davon, wen Sie gefragt haben, war es zu einem bestimmten Zeitpunkt beabsichtigt, mit CSS zu konkurrieren oder zusammenzuarbeiten .
quelle
Grid Stylesheets (GSS): GSS
viel besser
quelle
Weit verbreitetes CSS wird nicht in allen Browsern vollständig unterstützt. Wie sollte eine (unbekannte) Alternative dieses Ziel erreichen?
quelle
Nun, CSS 2.1 wird von fast jedem Browser ziemlich gut unterstützt. (außer IE6) Sobald Sie die sichere Teilmenge kennen, ist es einfach, ordnungsgemäß verschlechtertes CSS zu schreiben. (Damit selbst nicht unterstützte Browser die Seite nicht völlig durcheinander bringen)
Hinweise zur Kompatibilität von CSS-Browsern finden Sie unter http://www.quirksmode.org .
quelle
Liste der Stylesheet-Sprachen: http://en.wikipedia.org/wiki/List_of_stylesheet_languages
quelle
Ich denke, jQuery hat einige Möglichkeiten, um CSS kompatiblerübergreifender zu machen. Wenn Sie also einige Attribute mit jQuery angeben, wird versucht, sicherzustellen, dass für Browser, die bestimmte Funktionen nicht unterstützen, eine Problemumgehung verwendet wird.
Es gibt auch ein Projekt namens CleverCSS , das Sie vielleicht ausprobieren möchten. Es ist jedoch keine Alternative dazu, nur eine etwas andere Art, es zu definieren.
quelle
CSS ist der Standard. Es gibt keine Alternative.
Alle Browser unterstützen die grundlegenden CSS-Funktionen. Jede neue Version jeder der (vier?) Hauptbrowserzeilen bietet eine verbesserte Unterstützung für den Standard. Websites, die diese Funktionen verwenden, werden jedoch in einer früheren Version für alle Benutzer nicht verfügbar sein. Darauf gibt es zwei Antworten:
"Graceful Degredation" (oder sein Zwilling "Progressive Enhancement" - google it), bei dem die Seite erweiterte Funktionen nutzt, wenn sie verfügbar sind, und weiterhin funktioniert, wenn sie nicht verfügbar sind.
Wer ist dein Publikum? Wenn Sie das Glück haben zu wissen, dass 99,8% der Besucher Ihrer Website mindestens IE7 verwenden, müssen Sie sich keine Gedanken über die CSS-Funktionen machen, die in IE6 fehlerhaft sind. Dies hängt jedoch von Ihrem eigenen Geschäft ab. Überprüfen Sie daher zuerst die Fakten.
Das Schlimmste, was Sie tun können, ist, die Macken eines bestimmten Browsers zu codieren, da dies dazu führt, dass eine Seite nicht nur in anderen Browsern, sondern auch in späteren Versionen desselben Browsers beschädigt wird.
quelle
Eine Alternative vor langer Zeit JavaScript Style Sheets (JSSS) war eine von Netscape vorgeschlagene Stylesheet-Sprachtechnologie. Wenn jemand interessiert ist, werde ich Ihnen einige Links hinzufügen: http://en.wikipedia.org/wiki/JavaScript_Style_Sheets
Hier ist der Vorschlag http://www.w3.org/Submission/1996/1/WD-jsss-960822 Ich denke, das war eine gute Idee, aber leider hat CSS gewonnen, aber vielleicht wurden einige Teile in Javascript integriert?
Anstatt CSS zu verwenden, können Sie auch SVG für einige Texteffekte verwenden. Schauen Sie sich die Beispiele
http://msdn.microsoft.com/en-us/ie/hh410107.aspx
und einige Animationen
http://svg-wow.org/ an. Text-Effekte / Text-Effekte.xhtml
Einige Schaltflächen Effekte https://www.svgopen.org/2008/papers/86-Achieving_3D_Effects_with_SVG/
Hier ist ein cooleres Beispiel für die Gestaltung von Text, das Sie unter http: //www.hongkiat lesen sollten .com / blog / skalierbarer-Vektor-Grafik-Text /
quelle
Die einzige Alternative ist die veraltete Formatierungsunterstützung, die HTML selbst wie das
<font>
Tag bietet . Aber das willst du nicht. 8-)quelle
Nein, CSS ist jetzt der richtige Weg. An dem Format selbst ist nichts auszusetzen (ich persönlich mag es eigentlich sehr), sondern nur an der Browserunterstützung - insbesondere in Bezug auf den IE. Sobald wir alle gängigen Browser haben, die CSS3 unterstützen , sollten die Dinge in Ordnung sein - obwohl ich nicht zu optimistisch bin, wann dies geschehen wird.
quelle
Derzeit gibt es keine Alternative zu CSS, und dies ist eine gute Sache. Die Browser-Anbieter W3C, WHATWG usw. haben es schwer genug, sich auf eine einzelne Spezifikation zu einigen. Können Sie sich vorstellen, was passieren würde, wenn es mehr als eine Spezifikation gäbe?
Wie auch immer, ich habe festgestellt, dass Sie, sobald Sie CSS gelernt haben, wissen, welche bestimmten Dinge was kaputt machen, und entweder lernen, damit zu arbeiten oder es zu vermeiden.
Hoffe das hilft.
quelle
Ja ! Sass kann eine Option sein
quelle
Nein (meistens)
Wenn Sie Layouts erstellen möchten, die auf der maximalen Anzahl von Client-Computern funktionieren, müssen Sie CSS lernen.
Wenn Sie Ihre Benutzer auf IE8, Chrome, Safari und Firefox beschränken können, können Sie wahrscheinlich mit CSS2 durchkommen, andernfalls müssen Sie alle Unterschiede zu CSS1 lernen, zusammen mit den unzähligen kaputten Dingen - insbesondere in IE5 und 6 .
HTML 3.2 enthält einige Formatierungs-Tags (wie
<font>
oder<center>
), mit denen Sie jedoch nicht viel anfangen können.Warum nur meistens? - Wenn Sie davon ausgehen können, dass Benutzer über Flash oder Silverlight verfügen, und Webanwendungen für sie erstellen. Dann ist Ihr Layout perfekt, aber es benötigt ein clientseitiges Plugin (das nicht jeder hat), um zu funktionieren. Ich würde diesen Weg nur gehen, wenn Sie eine wirklich reichhaltige Client-Benutzeroberfläche benötigen.
quelle
Ich stimme zu, dass der aktuelle Stand der CSS-Unterstützung ziemlich schrecklich ist.
Ich denke, der beste Ansatz ist, CSS gemäß dem Standard zu schreiben und dann Korrekturen für alle Bits hinzuzufügen, bei denen die verschiedenen Browser nicht ordnungsgemäß übereinstimmen. Es lohnt sich oft, ein paar CSS-Teile zu vermeiden, wenn Sie dies tun (z-Levels haben beispielsweise in vielen Browsern wirklich gemischte Unterstützungsstufen).
quelle
Zoli hat recht. "xslt ist eine Alternative"
XSLT verwandelt XML in eine gerenderte Webseite, genau wie CSS HTML in eine gerenderte Webseite verwandelt. Beachten Sie nur, dass Sie XSLT nicht mit HTML oder CSS mit XML mischen können.
Ich habe beide CSS + XSLT verwendet, um gerenderte Webseiten zu erstellen.
quelle
Nur eine, soweit ich weiß. Zumindest für HTML und so.
Siehe auch http://www.w3.org/Style/CSS/
quelle
Adobe Postscript ist die wahrscheinlichste Alternative zu CSS. Das Problem ist, dass Acrobat es auf dem Desktop oder im Web anzeigen muss. Es ist CSS weit überlegen und behält die Designabsicht und Skalierbarkeit aller Geräte bei, einschließlich Drucker, Plotter, Telefone, Tablets und fast alles mit einem Postscript-Interpreter.
Postscript hat eine NULL-Lernkurve, es sei denn, Sie implementieren sie für ein bestimmtes Gerät. Es wird von Millionen von Programmierern, Grafikern, Künstlern, professionellen Druckern und sogar den am wenigsten qualifizierten Heimcomputern programmiert. Sie müssen lediglich Drucken oder Speichern aus dem Menü einer Anwendung auswählen. Es unterstützt Verknüpfungen und Feldeingaben. Ist es durchsuchbar? PS-basierte Dokumente werden häufig auf den Suchseiten von Google angezeigt.
Obwohl es von einem Webbrowser in Form einer PDF-Datei angezeigt werden kann, handelt es sich nicht um eine native Browsersprache wie HTML und CSS. Warum ist es nicht, wenn es so einfach und mächtig ist? Als das Web anfing, war Adobe zu kurzsichtig und gierig, um die Sprache zu öffnen. Sie wollten Lizenzen an ihre PS-Engines und ihre Produkte zur Erstellung von Inhalten verkaufen. Für Adobe war das Verschenken eines PS-Browsers wie das Verschenken der Gans und der goldenen Eier.
quelle
xslt ist eine Alternative
Es ist mächtiger als CSS.
Es ist schwieriger zu lernen und zu benutzen.
quelle