the code: Lästige,kleine,rote Unterstreichungen

Abend Forumgemeinde
Heute ist echt nicht mein Glückstag!
Wie Ihr euch schon sicher denkt,habe ich ein Problem!
Ich mache grade eine html-Seite und ich benutze Tabellen als Links unten,
um auf die nächste Seite zu gelangen.
Auf 6 Seiten funktioniert das ganz gut,
doch nur auf einer Seite haben sich kleine,rote und lästige Striche
sich unter den Worten gemogelt und sie sehen aus wie Unterstreichungen,nur dünner!
Hier ein Teil des Source-Codes:
<table border="2" cellspacing="2" class="buch" align="right">
 <tr><a href="seite4.htm">
                <td align="center"><h3>4</h3>
  <a href="seite4.htm">
   <img src="http://img73.imageshack.us/img73/9974/pfeilrechtsqb0.png"
       alt="backshift"
       width=100
       height=50
   ></a></td></a>
 </tr>
</table>

und hier der code des CSS-dokuments!:

table.buch { width:10%; height:50px;
             background-color:#AAAAAA;
             color:#000000; }

kann mir jm. vllt. helfen??
Ich danke schon mal im Voraus!

mfg:      the code

  1. Hallo the,

    <table border="2" cellspacing="2" class="buch" align="right">
    <tr><a href="seite4.htm">

    In <tr> darf nur <td> stehen, auf keinen Fall aber <a>

    ></a></td></a>

    Hier das zweite </a> ist ebenso falsch

    Gruß,

    Dieter

    1. Hallo Dieter,

      <table border="2" cellspacing="2" class="buch" align="right">
      <tr><a href="seite4.htm">
      In <tr> darf nur <td> stehen, auf keinen Fall aber <a>
         ></a></td></a>
      Hier das zweite </a> ist ebenso falsch

      Das zweite </a> ist genauso wie das <tr><a href="seite4.htm">
      berechtigt!;denn es steht 2 mal <a href="seite4.htm">,
      einmal für den Tabelleninhalt und einmal für das Bild!
      mfG. the code

      1. Hallo,

        Das zweite </a> ist genauso wie das <tr><a href="seite4.htm">
        berechtigt!;denn es steht 2 mal <a href="seite4.htm">,
        einmal für den Tabelleninhalt und einmal für das Bild!

        ja, das ändert aber nichts daran, dass <a> zwischen <td> und <tr> nicht erlaubt ist, denn wie Dieter schon sagte, darf tr als direktes Kindelement nur td enthalten.
        Ergo ist das zweite </a> *auch* falsch.

        Ciao,
         Martin

        --
        Lebensmotto der Egoisten:
        Was ist so schlimm daran, dass jeder nur an sich selbst denkt? Dann ist doch an alle gedacht!
        1. Das zweite </a> ist genauso wie das <tr><a href="seite4.htm">
          berechtigt!;denn es steht 2 mal <a href="seite4.htm">,
          einmal für den Tabelleninhalt und einmal für das Bild!
          ja, das ändert aber nichts daran, dass <a> zwischen <td> und <tr> nicht erlaubt ist, denn wie Dieter schon sagte, darf tr als direktes Kindelement nur td enthalten.
          Ergo ist das zweite </a> *auch* falsch.

          Aber warum?Ok,ich bin zwar ein Anfänger,aber der Browser zeigt mir das so an,wie ich es will,nur das da diese rote striche stören!Übrigens,ich habe IE als Browser!
          mfG. the code

          1. Hallo,

            Ergo ist das zweite </a> *auch* falsch.
            Aber warum?

            Weil's so festgelegt ist.

            Ok,ich bin zwar ein Anfänger,aber der Browser zeigt mir das so an,wie ich es will [...] Übrigens,ich habe IE als Browser!

            Ja, der IE ist bekannt dafür, dass er auch bei grob fehlerhaftem Code noch krampfhaft versucht, irgendwas daraus zu machen; das kann in manchen Fällen sogar zufällig das sein, was der Autor im Sinn hatte. In deinem Fall sind die roten Striche vermutlich Ansätze einer Unterstreichung für das, was der IE dann als Link interpretieren wollte.
            Da ich deine Seite nicht kenne, kann ich dir aber nicht mehr als solche Mutmaßungen anbieten.

            Ciao,
             Martin

            --
            Ist die Katze gesund,
            freut sich der Hund.
          2. hi,

            Aber warum?

            Weil es im HTML-Standard so definiert ist.

            Eine Tabelle besteht aus Zeilen, und diese Zeilen haben Tabellenzellen [1]. Und _in_ diesen Zellen finden sich ggf. weitere Elemente, wie beispielsweise Links.

            Aber ein Link ist keine Tabellenzeile, und deshalb darf er auch kein direktes Kind von Table sein.

            Ok,ich bin zwar ein Anfänger,

            Dann mache dich bitte mit der HTML-Elementreferenz vertraut.
            Die sagt dir, welche Elemente ein Element enthalten darf.
            Also schau dort nach, wenn dir unklar ist, was wo rein darf und was nicht.

            aber der Browser zeigt mir das so an,wie ich es will

            Bitte mache dir, bevor du irgendetwas anderes tust klar, dass das absolut kein Argument ist.
            Welche Elementverschachtelungen erlaubt sind und welche nicht, ist im HTML-Standard festgeschrieben.
            Ob irgendetwas so angezeigt wird, wie du es "haben willst", ist vollkommen ohne Belang - falsch bleibt falsch, und so lange du es nicht richtig machst, hast du nicht die geringste Garantie, dass ordentliche Browser es auch korrekt anzeigen.

            Zuerst kommt immer korrektes HTML und CSS - und erst danach fängt die Suche nach den Ursachen von Darstellungsfehlern an, andersherum ist es in den allermeisten Fällen sinnfrei und vergebliche Mühe.

            Um deinen HTML-Code auf Fehlerfreiheit zu prüfen, nutzt du einen HTML-Validator, und für dein CSS den CSS-Validator.
            Und bitte überprüfe deine Dokumente zukünftig damit, bevor du hier Fragen stellst - damit sich nicht alle anderen immer wieder die Mühe machen müssen dir zu erklären, was du schon rein syntaktisch falsch gemacht hast.

            gruß,
            wahsaga

            [1] Sie kann auch noch andere Elemente haben, Tabellenkopf, -körper und -fuss beispielsweise.

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
          3. Moin!

            Ergo ist das zweite </a> *auch* falsch.
            Aber warum?Ok,ich bin zwar ein Anfänger,aber der Browser zeigt mir das so an,wie ich es will,

            Wenn der Browser es so anzeigen würde, wie du willst, würdest du dich ja nicht über die roten Striche aufregen.

            Also: Der Browser zeigt es NICHT so an, wie du willst. Repariere also deinen HTML-Code, um dem Browser wenigstens die Chance zu geben, dein HTML korrekt anzuzeigen.

            Übrigens,ich habe IE als Browser!

            Der IE kriegt es irgendwie hin, trotz eklatanter Fehler häufig trotzdem richtig zu raten, was tatsächlich gemeint ist. Das ist für den normalen Benutzer, der nur das Interesse hat, Webseiten zu sehen, vollkommen in Ordnung. Aber es ist für denjenigen, der Webseiten schreibt, leider vollkommen unbrauchbar, weil er seine Fehler nicht angezeigt bekommt.

            Nutze den IE beim Seitenschreiben als LETZTEN Browser. Als allerersten Browser solltest du Firefox oder Opera benutzen. Wenn es in denen so aussieht, wie du willst, sind deutlich weniger Fehler im HTML, und auch der IE wird's vermutlich dann korrekt anzeigen (denn dummerweise hat er nicht nur mehr Fehlertoleranz, sondern auch mehr Fehler beim HTML anzeigen).

            - Sven Rautenberg

            --
            "Love your nation - respect the others."
      2. Hallo the code,

        <a> darf nur Inlineelemente enthalten.

        Gruß,

        Dieter

        1. hallo Dieter,

          <a> darf nur Inlineelemente enthalten.

          Nicht ganz. Es darf auch #PCDATA enthalten.

          Grüße aus Berlin

          Christoph S.

          --
          Visitenkarte
          ss:| zu:) ls:& fo:) va:) sh:| rl:|