Wildcard für attributbedingte Formatierung
Richard
- css
Hallo,
ich weiß gar nicht, wie ich mein Problem erklären soll. Folgende Situation:
In meiner HTML-Datei werden die Links durch Direktformatierung über das Element a "gestylt". Also in meiner CSS-Datei steht z.B.:
a:hover { text-decoration:underline; color:orange; }
Damit werden dann die Links formatiert, also solche, die ein href-Attribut haben. Allerdings kommen in der Datei auch Anker vor, die ja auch durch das Element a ausgezeichnet werden. Der Text nach diesem Anker wird dann auch "gehovert", obwohl es kein Verweis ist.
Deswegen dachte ich mir, ich könnte die Formatierung attributabhängig machen, sprich hinter dem Element eckige Klammern in der CSS-Datei
zu notieren. Innerhalb derer wollte ich dann festlegen, das a-Elemente dann nicht gehovert werden sollen, wenn sie ein name-Attribut enthalten, weil sie ja nur dann Anker sind.
Folgende zwei Methoden habe ich dazu ausprobiert:
a[name]:hover { ... }
a[name=*]:hover { ... }
Beides hat nicht funktioniert. Beim zweiten ist das auch logisch, denn "*" wäre ebenso ein ganz normaler String wie z.B. "bottom".
Gibt es überhaupt eine Möglichkeit, das auf diese oder ähnliche Weise einzuschränken?
Viele Grüße
hi,
Allerdings kommen in der Datei auch Anker vor, die ja auch durch das Element a ausgezeichnet werden.
Warum das (immer noch)?
Warum springst du nicht XHTML-Konform Elemente mit ID an?
Folgende zwei Methoden habe ich dazu ausprobiert:
a[name]:hover { ... }
a[name=*]:hover { ... }Beides hat nicht funktioniert.
Welcher Browser?
Gibt es überhaupt eine Möglichkeit, das auf diese oder ähnliche Weise einzuschränken?
http://www.w3.org/TR/CSS21/selector.html#attribute-selectors
So sollte es theoretisch funktionieren.
gruß,
wahsaga
Hallo,
Allerdings kommen in der Datei auch Anker vor, die ja auch durch das Element a ausgezeichnet werden.
Warum das (immer noch)?
Warum springst du nicht XHTML-Konform Elemente mit ID an?
Weil ich davon (noch) keine Ahnung habe.
Folgende zwei Methoden habe ich dazu ausprobiert:
a[name]:hover { ... }
a[name=*]:hover { ... }Beides hat nicht funktioniert.
Welcher Browser?
Diesmal ist ausnahmsweise nicht der Browser schuld. Ich hatte ganz einfach einen Tippfehler drin. Mit Variante 1 hat´s dann geklappt.
http://www.w3.org/TR/CSS21/selector.html#attribute-selectors
So sollte es theoretisch funktionieren.
Danke.
Viele Grüße
Hallo Richard.
Gibt es überhaupt eine Möglichkeit, das auf diese oder ähnliche Weise einzuschränken?
Es verbietet dir im Übrigen niemant, Pseudoklassen zu kombinieren:
a:link:hover {
/* Regeln einzig und allein für Links */
}
Einen schönen Sonntag noch.
Gruß, Ashura
Hallo,
Oh danke, daran hab ich noch gar nicht gedacht.
Viele Grüße
Hallo,
Es verbietet dir im Übrigen niemant, Pseudoklassen zu kombinieren:
Was denkt sich dieser niemant bloß dabei?
*SCNR*
Viele Grüße