Es ist ja allseits bekannt das man innerhalb eines Stylesheets, im Prinzip durch Verschachtelung, bestimmte Bereiche für unterschiedliche Ausgabemedien definieren kann:
@media screen {
body {
background: white;
}
} |
@media screen {
body {
background: white;
}
}
Nachdem ich mich jetzt einige Wochen mit Typo3 und vor allem Typoscript beschäftigt habe, ist mir dort eine Syntaxschreibweise aufgefallen die dem ganzen sehr ähnelt, bzw genau genommen sogar 1 zu 1 gleicht:
page {
bodyTag = <body>
config {
doctype = xhtml_strict
}
} |
page {
bodyTag = <body>
config {
doctype = xhtml_strict
}
}
Dies brachte mich auf die Idee, dass eine solche Syntax für CSS-Elementdeklarationen doch ebenfalls sehr praktisch wäre. So wäre es dadurch einfach möglich, mehrere Elemente mit dem gleichen „Parent-Element“ zu stylen. Was zum Beispiel für Navigationen durchaus praktisch wäre:
#navi {
background: red;
ul {
/* Deklarationen */
margin: 0;
li {
/* Deklarationen */
padding: 3px;
}
}
} |
#navi {
background: red;
ul {
/* Deklarationen */
margin: 0;
li {
/* Deklarationen */
padding: 3px;
}
}
}
Würde in meinen Augen durchaus Sinn ergeben, und man könnte immer gleiche Angaben wie
#navi
#navi ul
#navi ul li |
#navi
#navi ul
#navi ul li
schnell und unkompliziert zusammenfassen. Bei den Kaskadenregeln könnte eine Verschachtelung ja gleichwertig wie die #navi ul li
-Schreibweise behandelt werden.
Bin ich der Einzige der so denkt? Gibt es dafür evtl bereits Diskussionen beim W3C? Gibt es Gründe die gegen die Ermöglichung einer solchen Schreibweise sprechen? Oder ist eine Implementierung in spätere CSS-Versionen vielleicht bereits in Planung?