Andreas: Warum ist das nicht valid?

Hallo,

ich habe da ein Problem: Ich habe folgende Tabellenzeile:

<tr style="height:95px">
 <td><a href="index.html" title="Home"> <div style="width:100%; height:100%;"></div> </a></td>
</tr>

Beim Validieren gab es eine Fehlermeldung:

document type does not allow element "DIV" here; missing one of "APPLET", "OBJECT", "MAP", "IFRAME", "BUTTON" start-tag

Jetzt will ich wissen, was da nicht valid ist und ob ich das anders machen kann.

Danke schon mal für die hilfe

Andreas

  1. Hallo Andreas,

    <a href="index.html" title="Home"> <div style="width:100%; height:100%;"></div> </a>

    a ist ein Inline-Level-Element, div ist ein Block-Level-Element. a
    darf keine Block-Level-Elemente enthalten. Steht sicher auch so
    irgendwo in SELFHTML ;-)

    Viele Grüße,
    Stefan

    1. Hallo,

      a ist ein Inline-Level-Element, div ist ein Block-Level-Element. a
      darf keine Block-Level-Elemente enthalten. Steht sicher auch so
      irgendwo in SELFHTML ;-)

      Also kann ich ein div gar nicht verlinken?

      Andreas

      1. Hallo Andreas,

        Also kann ich ein div gar nicht verlinken?

        natürlich nicht, schließlich kann ein div ja auch selbst Links ent-
        halten, womit Du auch gleich die Lösung Deines Problemes hast ;-)

        ... a { display: block; height: 123px; width: 123px; } ...

        Viele Grüße,
        Stefan

        1. Hallo

          Also kann ich ein div gar nicht verlinken?

          natürlich nicht, schließlich kann ein div ja auch selbst Links ent-
          halten, womit Du auch gleich die Lösung Deines Problemes hast ;-)

          ... a { display: block; height: 123px; width: 123px; } ...

          Genau, jetzt funktioniert´s.

          Vielen Dank für die rasche Hilfe.

          Andreas

  2. Hallo

    <tr style="height:95px">
    <td><a href="index.html" title="Home"> <div style="width:100%; height:100%;"></div> </a></td>
    </tr>

    Ich würde mal sagen, dass es an dem Blockelement div liegt, dass du in ein... wie nennt man die Dinger... Inlineelement(?) gelegt hast. Für die genauen Regeln beim Verschachteln von Tags schaust du entweder in SelfHTML oder direkt beim W3C nach.

    MfG & HtH

    Tom2

    PS: Wenn du das div nur zum Formatieren brauchst: Verwende ein Gif, 1x1-Pixel und Transparent. Oldschool-Style ;-). Für andere Sachen wie Schriften und so kannst du als Inline-Element span benutzen.

    --
    SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
    ss:| zu:) ls:& fo:) de:] va:) ch:] sh:( n4:& rl:° br:> js:| ie:% fl:( mo:}
    1. PS: Wenn du das div nur zum Formatieren brauchst: Verwende ein Gif, 1x1-Pixel und Transparent.

      So ein Unsinn.

      Oldschool-Style ;-).

      Genau.

      Der moderne Mensch benutzt zur Formatierung CSS und wenn es sein muss auch divs, aber keine 1px-Grafiken.
      Gunnar

      --
      Die Menschen sollten endlich lernen, andere Kulturen objektiv zu betrachten, damit sie wissen, wann sie sich einmischen sollten und wann nicht.
      (T'Pol in Enterprise: "Aufbruch ins Unbekannte")