Melanie Rensen: Links mit :before dekorieren

Beitrag lesen

Hallo Sven!

Finde ein eindeutiges Unterscheidungsmerkmal zwischen Links mit und ohne Bild.

Sind die Bildlinks alle in einer Tabellenzelle drin?

Ja, aber es gibt leider auch Textlinks in Tabellen, wenn ich das auch noch versuche zu beseitigen.

td a:before {content: "";}
bzw. sogar
td > a:before {content:"";}

Noch mehr Selektorenmöglichkeiten sind in http://selfhtml.teamone.de/css/formate/zentrale.htm#verschachtelte_elemente (ein wenig unterhalb bei den CSS2-Selektoren gucken) und http://www.w3.org/TR/REC-CSS2/selector.html (serh aufschlußreich) aufgelistet . Die Kette darf durchaus noch länger sein und kann bei ganz oben bei "html" anfangen.

Ächz, schöne Sache, muß ja nicht gleich so komplex werden.
Aber das liest sich alles recht gut, danke.

Du mußt Klassen verwenden, sofern du Bildlinks und Textlinks innerhalb eines Bereiches mischst. Die CSS-Selektoren formatieren das zuletzt genannte Element, beachten aber keine Inhalte von Elementen, wie es bei dir notwendig wäre. Würdest du nach "a img" selektieren, würdest du das img formatieren, nicht dessen vorhergehendes a.

Hm, ideal wäre ja ein Selektor nicht für "wenn img Kind von a", sondern quasi "wenn a Vater von img". Sowas wie img < a:before oder so.
Ich werd' dann mal in den sauren Apfel beißen und versuchen, die Textlinks irgendwie von den Bildlinks zu trennen.

Und das wichtigste: Erwarte nicht, daß alle Browser alle Selektoren kennen. Netscape 4 ist ganz schlimm in dieser Beziehung, der erkennt z.B. ID-Selektoren nur in der anonymen Form "#id", aber nicht mehr in der Tag-benannten Form "div#id". Er kennt nur die ganz normalen Ketten von Selektoren "a b c", aber nichts spezielleres wie ">" oder "+". Attributselektoren gehen sowieso garnicht. Andere Browser können das eine oder andere mehr, aber so richtig glücklich wird man vermutlich erst mit Mozilla - und weint dann ob dessen Verbreitungsgrad.

Da hat Dragon schon das richtige gesehen, :before kann momentan weder IE noch NS 4. Somit ist mein Problem momentan fast akademischer Natur da der Großteil der Welt nix davon haben wird, aber bei ähnlichen Fällen werden sich die neuen Erkenntnisse sicher auch bald verwenden lassen.

Schönen Dank,
Melanie