2010-04-19 16 views
46

Welche Art von Sprache ist CSS?Was für eine Sprache ist CSS?

Meine erste Neigung war es eine Markup-Sprache zu nennen ... aber es passt nicht wirklich die Form:

Eine Auszeichnungssprache ein System für ist ein Text in einer Weise, mit Anmerkungen versehen, die ist syntaktisch unterscheidbar von dieser Text. - wikipedia

CSS verwendet verschiedene Selektoren Eigenschaften auf Elemente anwenden innerhalb HTML, eine Markup-Sprache

+2

Ich denke, dass wenn CSS sich entwickelt, wird es leichter zu beschreiben. Interessante Neuzugänge wie die Möglichkeit, Animationen von Elementen bei bestimmten Ereignissen zu deklarieren. – Finbarr

Antwort

32

ich sagen, es wäre eine domänenspezifische declarative Sprache.

+0

Das mag stimmen, aber es ist kaum eine nützliche Definition; wie die meisten Anwendungen von XML, sind im Wesentlichen DSDLs, wie viele andere Dinge. –

+3

DSDL-Definitionen werden nützlich, wenn Sie wissen, was die Domäne ist. :) –

+1

@Vivian Paliath: Ja; aber die Definition * von * etwas als DSDL ist nicht besonders so. –

2

CSS ist definitiv eine Sprache:

Wikipedia bezieht sich auf CSS als "Stilblattsprache '

http://en.wikipedia.org/wiki/Style_sheet_language

Auch

von W3C, die CSS entwickelt: (Vergleich und )

Die einzigartigen Eigenschaften sind die CSS-Stil HTML verwendet werden kann & XML-Dokumente. XSL dagegen ist in der Lage, Dokumente zu transformieren. Zum Beispiel kann XSL verwendet werden, um XML-Daten in HTML/CSS-Dokumente auf dem Webserver zu transformieren. Auf diese Weise ergänzen sich die beiden Sprachen und können zusammen verwendet werden.

Beide Sprachen können zum Formatieren von XML-Dokumenten verwendet werden.

Wie Sie aus dem zweiten Satz sehen können, bezieht sich W3C auf CSS als Sprache.

http://www.w3.org/Style/

Und das nächste Zitat wieder aus dem gleichen Artikel:

Die Tatsache, dass W3C XSL zusätzlich zu CSS entwickelt hat hat einige Verwirrung verursacht. Warum entwickeln Sie eine zweite Stylesheet-Sprache, wenn Implementierer die erste noch nicht fertig haben? Die Antwort kann in der unten stehenden Tabelle:

      CSS  XSL 
Can be used with HTML?  yes  no 
Can be used with XML?  yes  yes 
Transformation language?  no  yes 
Syntax      CSS  XML 
+0

Ja, das habe ich gesehen. Der Artikel gibt nur ein Beispiel, was "Stylesheet" -Sprache ist ... und das ist CSS. –

+0

Ja, das fand ich auch komisch. Aber dann ist es vielleicht der einzige seiner Art. – dkinzer

5

CSS ist nicht wirklich eine Sprache, per se; Es ist eher eine Syntax zum Beschreiben von Konfigurationsanweisungen.

In der Tat ist es keines dieser Dinge; CSS ist eine Beschreibung einer Anzahl von Token und ihrer visuellen Bedeutung; .css-Dateien enthalten diese Token, die so strukturiert sind, dass ein Computer sie analysieren kann. CSS-Deklarationen können die Form von name = "value" -Deklarationen in SVG-Dokumenten haben; und das .Die css-Dateistruktur könnte ebenso einfach verwendet werden, um beispielsweise Einheitenbeschreibungen in einer besonders absurden Iteration von FreeCiv zu enthalten.

Die Definition von Wikipedias als Style-Sheet-Sprache scheint ein bisschen eine erzwungene Definition einer Verallgemeinerung eines einzigartig existierenden Phänomens zu sein; und es sollte klar sein, dass es sich in keiner Weise um eine Auszeichnungssprache handelt, da sie für sich genommen nichts anspricht.

+0

Ich stimme völlig zu, dass Wikipedia Definition ist ein bisschen gezwungen. –

+1

Laut W3C ist CSS definitiv eine Sprache und es gibt mindestens drei, die in diese Kategorie von Sprachen fallen: css, xpath, xslt - http://www.w3.org/Style/ – dkinzer

+8

Warum ist CSS nicht ein? Sprache? Natürlich ist es keine Programmiersprache, aber es hat seine eigene Grammatik, also ist es eine formale Sprache. –

5

Syntaktisch ist CSS eine Mischung aus zwei Sprachen: die Sprache der Selektoren, die eine Mustererkennung ist, wie Regexps oder Xpath, und die Sprache der Eigenschaften, die als "prozedurale deklarative" klassifiziert werden können Eigenschaften sind im Wesentlichen Zuweisungsoperatoren. Auf subjektiver Ebene ist css eindeutig als hässliches Chaos einzustufen, wie so ziemlich jede andere Frucht kollektiver Bemühungen auf dem Gebiet des Sprachdesigns ("ein Kamel ist ein Pferd, das vom Komitee entworfen wurde").

+14

... und C++ ist ein Oktopus, der durch zusätzliche Beine an einem Hund befestigt wird. –

+0

@Michael: Das ist eigentlich eine ziemlich genaue Beschreibung von C++ –

+3

Ich bin nicht sicher, ich würde jeden Teil von CSS "prozedural" nennen, es sei denn, Sie sprechen über Ausdrücke, aber ich bin froh, jemand stimmt zu, dass CSS ein hässlicher ist Chaos. Wenn man in einer * Formatierungs * -Sprache am besten eine Eigenschaft margin: auto; (und eine explizite Breite) erhält, weiß man, dass etwas schiefgelaufen ist. – tloflin

Verwandte Themen