Überladen von class-Angaben per "style=..."
Eddie
- css
Hallo allerseits,
gibt es irgendwelche Einwände gegen folgende Notation?
Ich ueberschreibe also die eigentlich vorgegebenen Eigenschaften. Das funktioniert auch mit den von mir verwendeten Browsern ganz wunderbar.
Also die Frage: gibt es irgendwelche Einwände gegen diese Methode?
Danke Euch,
Eddie
---------------------
[Und ja, ich weiß, dass das kein guter Stil ist, aber ich wuerde mir eine Menge Arbeit damit sparen.]
[Und um die garantiert kommende Frage gleich zu beantworten: weil ich das Ganze dynamisch aus Templates erzeuge und nur ganz selten einen Sonderfall habe, den ich nicht in meinem Programmcode abfangen will.]
Hallo,
Also die Frage: gibt es irgendwelche Einwände gegen diese Methode?
Nachdem das erlaubt ist, kannst du das auch machen, also: keine.
Grüße
Thomas
hallo ebenfalls,
gibt es irgendwelche Einwände gegen folgende Notation?
Ja.
xyz.normalStyle
{
myValue:normal;
}
Kann man nicht machen, weil es ein Tag "xyz" nicht gibt. Möglich wäre:
.normalStyle { myValue:normal }
<xyz class="normalStyle" style="myValue:spezial;">
Ist unwirksam und völlig unsinnig. Du hast vorhin mit der CSS nix "überschrieben", sondern nur eine Subklasse definiert, es würde also
<p class="normalStyle">
völlig ausreichen. Ein Tag <xyz> gibt es eh nicht.
Du scheinst da etwas, was aus der JAVA-Programmierung stammen könnte, begrifflich mit CSS durcheinanderzuwerfen.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
gibt es irgendwelche Einwände gegen folgende Notation?
Ja.
Sorry, aber du stehst auf der Leitung. (ps: wink zu deinem unfreundlich thread)
Kann man nicht machen, weil es ein Tag "xyz" nicht gibt.
Abstraktion ist eine Kunst. ;-)
wobei er hier mit xyz ein beliebiges HTML-Element, mit myValue eine beliebige CSS-Eigenschaft, mit normal einen Wert der normalerweise und mit spezial einen Wert der im besonderen Fällen verwendet wird gemeint hat.
Grüße
Thomas
Hallo,
gibt es irgendwelche Einwände gegen folgende Notation?
Ja.Sorry, aber du stehst auf der Leitung.
Vielleicht hat Christoph einfach etwas zu viel Holunderwein getrunken?
Gruß,
MI
hi!
xyz.normalStyle
{
myValue:normal;
}
Kann man nicht machen, weil es ein Tag "xyz" nicht gibt.
Hast du schonmal was von XML gehört?
Du scheinst da etwas, was aus der JAVA-Programmierung stammen
könnte, begrifflich mit CSS durcheinanderzuwerfen.
Unfug.
bye, Frank!
hallo Frank,
Hast du schonmal was von XML gehört?
Ja, gelegentlich.
Du scheinst da etwas, was aus der JAVA-Programmierung stammen
könnte, begrifflich mit CSS durcheinanderzuwerfen.
Unfug.
Wieso?
Christoph S.
Hi,
gibt es irgendwelche Einwände gegen folgende Notation?
Ja.
xyz.normalStyle
{
myValue:normal;
}
Kann man nicht machen, weil es ein Tag "xyz" nicht gibt. Möglich wäre:
.normalStyle { myValue:normal }
1. hat CSS nichts mit tags zu tun, sondern mit Elementen.
2. CSS ist nicht auf die Verwendung mit HTML eingeschränkt, es kann auch auf XML angewendet werden. CSS ist (theoretisch) noch nichtmal auf SGML-Sprachen beschränkt - es sollte nur eine Sprache sein, die Elemente und Attribute usw. kennt, denn darauf sind die Selektoren ausgelegt.
3. In XML ist es durchaus denkbar, daß es ein xyz-Element gibt.
4. Wenn Du schon nicht verstehst, daß es hier um eine abstrahiertes Beispiel geht und Du außerdem nur HTML-Elemente erlaubst, hättest Du konsequenterweise auch anmeckern müssen, daß es in CSS keine Property namens myValue gibt.
<xyz class="normalStyle" style="myValue:spezial;">
Ist unwirksam und völlig unsinnig. Du hast vorhin mit der CSS nix "überschrieben", sondern nur eine Subklasse definiert, es würde also
<p class="normalStyle">
völlig ausreichen. Ein Tag <xyz> gibt es eh nicht.
Du solltest Deine CSS-Kenntnisse nochmal aufbessern, insbesondere, was die Kaskade angeht.
Du scheinst da etwas, was aus der JAVA-Programmierung stammen könnte, begrifflich mit CSS durcheinanderzuwerfen.
Du scheinst da etwas von CSS nicht kapiert zu haben...
cu,
Andreas
Hallo Christoph,
Du scheinst da etwas, was aus der JAVA-Programmierung stammen könnte,
begrifflich mit CSS durcheinanderzuwerfen.
Nö. Wenn Du mal hier guckst...
http://www.w3.org/TR/REC-CSS2/cascade.html#specificity
... dann steht dort im letzten Absatz eindeutig der Begriff »overwrite«,
also überschreiben. Das Konzept »Überladen« oder zumindest der Begriff
ist hier falsch am Platz, aber das Konzept »Überschreiben« gibt in CSS
auf jeden Fall. Es bedeutet schlichtweg, daß beim auftreten zweier
verschiedener CSS-Regeln auf ein Element das mit der größeren Wertigkeit
gewinnt und das andere überschreit.
Ich tippe auf den Holunderwein. :-)
Ich tippe auf den Holunderwein. :-)
Sag ich doch!
Gruß,
MI
hi!
Also die Frage: gibt es irgendwelche Einwände gegen diese Methode?
[Und ja, ich weiß, dass das kein guter Stil ist, aber ich wuerde mir
eine Menge Arbeit damit sparen.]
Es gibt keine Einwände. Und es ist auch kein schlechter Stil, denn
genau das ist der Sinn von CSS. Das ist übrigens auch der Grund, warum
sie _Cascading_ Style Sheets heißen: in einer Kaskade werden die
verschiedenen Selektoren von allgemein zu konkret durchlaufen, wobei
jeweils die Style-Angaben angewendet werden [1].
[1] http://www.w3.org/TR/REC-CSS2/cascade.html#cascade
bye, Frank!