Nicola Winzer: Frage zum Wiki-Artikel ‚Print-CSS‘

problematische Seite

Also bei mir funktioniert das nicht:

img[alt]:after {
  content:" ("attr(alt)")";
}

Kann es sein, dass das für <img> gar nicht geht? Mit <a> klappt es.

  1. problematische Seite

    Hallo Nicola Winzer,

    Also bei mir funktioniert das nicht:

    img[alt]:after {
      content:" ("attr(alt)")";
    }
    

    Kann es sein, dass das für <img> gar nicht geht? Mit <a> klappt es.

    Deine Einschätzung ist korrekt. Danke für den Hinweis.

    Bis demnächst
    Matthias

    --
    Wenn eine Idee nicht zuerst absurd erscheint, taugt sie nichts. (Albert Einstein)
  2. problematische Seite

    Hallo,

    Also bei mir funktioniert das nicht:

    img[alt]:after {
      content:" ("attr(alt)")";
    }
    

    Kann es sein, dass das für <img> gar nicht geht?

    ja, das ist wohl so. Mit dem Pseudoelement ::after wird zusätzlicher Inhalt nach dem eigentlichen Inhalt in das Element eingefügt. Allerdings ist img ein sogenanntes leeres Element - es kann (darf) gemäß Spezifikation keinen Inhalt haben, auch keinen generierten.

    Mit <a> klappt es.

    Ja, ein a-Element darf (sollte) auch Inhalt haben.

    So long,
     Martin

    1. @@Der Martin

      Kann es sein, dass das für <img> gar nicht geht?

      ja, das ist wohl so. Mit dem Pseudoelement ::after wird zusätzlicher Inhalt nach dem eigentlichen Inhalt in das Element eingefügt. Allerdings ist img ein sogenanntes leeres Element - es kann (darf) gemäß Spezifikation keinen Inhalt haben, auch keinen generierten.

      In manchen Browsern werden Pseudoelemente angezeigt, wenn das Bild nicht geladen wurde. →Styling Broken Images

      Mit <a> klappt es.

      Ja, ein a-Element darf (sollte) auch Inhalt haben.

      Aber kein alt-Attribut.

      LLAP 🖖

      --
      „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
      „Hat auf dem Forum herumgelungert …“
      (Wachen in Asterix 36: Der Papyrus des Cäsar)