mdkiller: Link-Hintergrund nicht für Bilder verwenden

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

  1. hallo,

    dann erstell doch einfach eine neue klasse und fertig.

    gruß

  2. 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

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. 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

      1. 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

        1. 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

          --
          Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
          Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
          Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/