:before & :after
Tim Tepaße
- css
Hallo,
ich experimentiere gerade etwas mit diesen beiden Pseudoelementen rum und bin dann doch etwas enttäuscht (Naja, gibt schlimmeres...).
Weil ich mich über die mangelnde Unterstützung von <q> bzw. vielmehr dessen Attributs cite in den Browsern ärgerte, wollte ich damit etwas in diesem Sinne kreieren:
Quelltext:
<q cite="foo">Zitate</q>
Ausgabe:
"Zitat" (Quelle)
Das zu basteln ist natürlich nicht schwierig, aber ich wollte nunmal das Wort Quelle als einen Link haben, dessen href-Attribut den Wert des cite-Attributes von <q> enthält. Woran ich dummerweise nicht gedacht habe, ist daß man anscheinend mit content nur Text rausgeben kann, selbst Enteties werden im Code dargestellt und nicht als Zeichen.
Mir fehlt es also an Verarbeitungsmöglichkeiten innerhalb der Pseudoelemente.
In der CSS2-Spec heißt es lapidar:
"Generated content does not alter the document tree. In particular, it is not fed back to the document language processor (e.g., for reparsing)."
und weiter:
"Note. In future levels of CSS, the 'content' property may accept additional values, allowing it to vary the style of pieces of the generated content, but in CSS2, all the content of the :before or :after pseudo-element has the same style."
Weiß jemand, ob da was in der Mache ist? Ich finde mich irgendwie in dem CSS3-Modul-Gewusel nicht wirklich zurecht.
PS:
Hi Tim,
ich experimentiere gerade etwas mit diesen beiden Pseudoelementen rum und bin dann doch etwas enttäuscht (Naja, gibt schlimmeres...).
ja, die sind praktisch.
<q cite="foo">Zitate</q>
Ausgabe:
"Zitat" (Quelle)ich wollte nunmal das Wort Quelle als einen Link haben, dessen href-Attribut den Wert des cite-Attributes von <q> enthält.
Das funktioniert so nicht, du könntest allenfalls
q:after {
content:" <"attr(cite)">";
}
oder besser noch
q:after {
content:close-quote" <"attr(cite)">";
}
verwenden. Aber ein Link lässt sich daraus leider nicht basteln.
Mir fehlt es also an Verarbeitungsmöglichkeiten innerhalb der Pseudoelemente.
Tja, CSS ist keine Programmiersprache, du müsstest das mit dem DOM erledigen.
LG Roland
Hi Tim,
Quelltext:
<q cite="foo">Zitate</q>Ausgabe:
"Zitat" (Quelle)Das zu basteln ist natürlich nicht schwierig, aber ich wollte nunmal
das Wort Quelle als einen Link haben, dessen href-Attribut den Wert
des cite-Attributes von <q> enthält.
Deine Aufgabenstellung klingt für mich so, als würdest Du etwas tun
wollen, für dessen Realisierung ich die Verwendung einer eigenen, auf
XML basierenden Tag-Sprache und die automatische (derzeit bevorzugt
noch serverseitige) Generierung des als Ausgabe gewünschten HTML-Codes
verwenden würde.
Ich weiß nicht viel über XML.
Meine Änderung von Thema und Themenbereich soll Leser 'anlocken', die
Dir dazu detailliertere Informationen geben können.
Bezüglich der Möglichkeiten (und sinnvollen Einsatzgebiete) von CSS
schließe ich mich Orlando an.
Viele Grüße
Michael
Halihallo Michael und Tim
Quelltext:
<q cite="foo">Zitate</q>Ausgabe:
"Zitat" (Quelle)Das zu basteln ist natürlich nicht schwierig, aber ich wollte nunmal
das Wort Quelle als einen Link haben, dessen href-Attribut den Wert
des cite-Attributes von <q> enthält.Deine Aufgabenstellung klingt für mich so, als würdest Du etwas tun
wollen, für dessen Realisierung ich die Verwendung einer eigenen, auf
XML basierenden Tag-Sprache und die automatische (derzeit bevorzugt
noch serverseitige) Generierung des als Ausgabe gewünschten HTML-Codes
verwenden würde.
Eine gutes Fresschen für XSLT (glaub ich)... Mit XML den Dokumentinhalt mit den eigenen Tags definieren und dann die "selbsternannten" Tags über XSLT in die geeignete Form transformieren lassen.
http://xmlxslt.sourceforge.net/
http://xmlxslt.sourceforge.net/manpage-XML-XSLT.html
http://www.cpan.org/modules/by-module/XML/
(naja, ein bissle perl vorausgesetzt, aber im Netz findet man genügend Ressourcen für andere "Implementierungen"...)
Viele Grüsse
Philipp
Hallo Michael & Philipp,
Eine gutes Fresschen für XSLT (glaub ich)... Mit XML den Dokumentinhalt mit den eigenen Tags definieren und dann die "selbsternannten" Tags über XSLT in die geeignete Form transformieren lassen.
Daß sich dafür XSLT natürlich stark anbieten würde, ist mir schon klar, aber ich fragte, ob da irgendwas für CSS in der Mache sei. Hmnja.
War auch nur eine reine Infofrage, kein konkretes Problem. ;-)
Halihallo Tim
Eine gutes Fresschen für XSLT (glaub ich)... Mit XML den Dokumentinhalt mit den eigenen Tags definieren und dann die "selbsternannten" Tags über XSLT in die geeignete Form transformieren lassen.
Daß sich dafür XSLT natürlich stark anbieten würde, ist mir schon klar, aber ich fragte, ob da irgendwas für CSS in der Mache sei. Hmnja.
OK, ist mir nur bei Michaels Idee noch in den Sinn gekommen und bins dann auch losgeworden ;)
War auch nur eine reine Infofrage, kein konkretes Problem. ;-)
Ich kenne mich mit CSS nicht wirklich gut aus (nur Grundlagen eben), aber es gäbe sicherlich eine Möglichkeit über JS. DocTree durchsuchen nach bestimmten Style-Attributen und dann die Textnode des entsprechenden Nodes ändern (eg. Link einfügen). Glaube zwar kaum, dass dies in deinem Interesse liegen würde; das ist schlichtweg eine schlechte Lösung, aber es wäre eine! :-)
Schöner wäre es bestimmt über CSS.
Viele Grüsse
Philipp