Link-Hintergrund nicht für Bilder verwenden
mdkiller
- css
0 dingsda0 Thomas Luethi0 wahsaga
Hallo Forum!
Ich habe per CSS alle Links gleich formatiert. Allerdings benutze ich auch teilweise transparente Grafiken als Links. Nun erhalten diese auch die Hintergrundfarbe, was doch ziemlich stört.
Gibt es eine Möglichkeit, diese Regel nur anzuwenden, wenn das Element a kein img-Element enthält?
Oder kann ich den Hintergrund auch transparent einstellen?
Gruß
mdkiller
P.S.: Es soll auch im IE funktionieren
hallo,
dann erstell doch einfach eine neue klasse und fertig.
gruß
Hallo,
Ich habe per CSS alle Links gleich formatiert. Allerdings benutze ich auch teilweise transparente Grafiken als Links. Nun erhalten diese auch die Hintergrundfarbe, was doch ziemlich stört.
Gibt es eine Möglichkeit, diese Regel nur anzuwenden, wenn das Element a kein img-Element enthält?
Ich wuerde es eher umgekehrt versuchen:
Bilder, die in einem Link stehen, sollen einen transparenten
Hintergrund haben:
a img { background-color:transparent; color:... }
Ansonsten arbeite halt mit Klassen, wie "dingsda" vorschlug.
Gruesse,
Thomas
hi,
Ich wuerde es eher umgekehrt versuchen:
Bilder, die in einem Link stehen, sollen einen transparenten
Hintergrund haben:
a img { background-color:transparent; color:... }
wenn für a ein farbiger hintergrund definiert ist, wird dieser aber m.E. jetzt trotzdem noch durchscheinen - a ist das elternelement von img, und transparent bei img heisst ja nichts anderes, als "zeige mir den hintergrund des elternelementes an".
gruss,
wahsaga
Hi!
wenn für a ein farbiger hintergrund definiert ist, wird dieser aber m.E. jetzt trotzdem noch durchscheinen - a ist das elternelement von img, und transparent bei img heisst ja nichts anderes, als "zeige mir den hintergrund des elternelementes an".
Genau so scheint es zumindest der IE zu machen. Deshalb die Lösung mit der Klasse. Allerdings kannte ich background-color:transparent; nicht, wird auch unter http://selfhtml.teamone.de/css/eigenschaften/hintergrund.htm#background_color nicht beschrieben. :-(
Vielen Dank an alle!
Gruß
mdkiller
Hallo,
Danke fuer die Korrektur.
Genau so scheint es zumindest der IE zu machen.
Mozilla 1.5 auch.
Wenn der Hintergrund nicht ein Bild ist, sondern eine Farbe (z.B. weiss),
kann man natuerlich auch sagen, dass der Hintergrund von verlinkten
Bildern diese Farbe haben soll:
a img { color:blue; background-color:white; border:0; }
(Die Farbangabe fuer den Fall, dass nicht das Bild,
sondern der ALT-Text angezeigt wird.)
Deshalb die Lösung mit der Klasse.
Ja, ist wohl das beste, wenn das Bild "echt" transparent sein soll,
d.h. wenn ein Hintergrundbild durchscheinen soll.
Allerdings kannte ich background-color:transparent; nicht, wird auch unter http://selfhtml.teamone.de/css/eigenschaften/hintergrund.htm#background_color nicht beschrieben. :-(
Dafuer in der CSS 2 Specification ;-)
http://www.w3.org/TR/REC-CSS2/colors.html#propdef-background-color
Auch im SelfHTML-Abschnitt zu Farbangaben in CSS vermisse
ich die Angaben "transparent" und "inherit":
http://selfhtml.teamone.de/css/formate/wertzuweisung.htm#farben
"transparent" und/oder "inherit" koennen uebrigens in alten, kaputten Browsern
wie z.B. gewissen Versionen von Netscape 4 zu sehr unerwarteten Resultaten fuehren.
Offenbar halten gewisse Browser die Angabe "transparent" fuer irgendeine dunkle Farbe...
Gruesse,
Thomas