Klaus Junge: Tabellen und Bilder und Lücken

Hallo Alle,

hatte mal wieder mit dem leidigen Thema Tabellen und Bilder und Lücken
zu tun. Die Bilder in den Tabellenzellen wollten einfach nicht zusammen-
rücken obwohl ich <TABLE ... BORDER="0" CELLSPACING="0" CELLPADDING="0">
definiert hatte und Tabellenfelder auch in eine Zeile geschrieben hatte.
Ärgerlich war auch, daß eine ähnliche Sache anstandslos lief.

In meiner Not habe ich mich dann noch auf die IMG-Attribute HSPACE und
VSPACE besonnen. <IMG SRC="xyz.gif" BORDER="0" HSPACE="0" VSPACE="0">
zusätzlich hat es dann gebracht.

Klaus

  1. rücken obwohl ich <TABLE ... BORDER="0" CELLSPACING="0" CELLPADDING="0">
    definiert hatte und Tabellenfelder auch in eine Zeile geschrieben hatte.

    Hallo,

    bist du sicher, das du nicht irgendwo ein space drinn hast?

    <td> <img src.....></td>

    ciao
    Ludwig

    1. Hallo Ludwig,

      bist du sicher, das du nicht irgendwo ein space drinn hast?

      <td> <img src.....></td>

      nach solchen Klopsen hab' ich natürlich erstmal gesucht.
      Aber entweder ich hab' Tomaten auf den Augen,
      oder irgendwas 'hintenrum' bewirkt diese Lücke.
      Ich hatte ähnliches ja schon mal gemacht und das lief auch jetzt ok.
      Rausnehmen und reinsetzen des HSPACE="0" wirkt auch
      systematisch auf die Lücke.

      Klaus

  2. Könntest Du vielleicht den Source Code posten?
    bye
    Benedikt

    1. Hallo Benedikt,

      Könntest Du vielleicht den Source Code posten?

      ist etwas umfänglich und es stehen Sachen drin' die nicht mir gehören.
      Deshalb nur ein paar Auszüge. Der Effekt ist hiermit noch reproduzierbar.
      Sowohl mit einem NS3.0 wie auch mit einem NC4.5 auf NT.
      Ähnliche Konstrukte laufen ohne xSPACEs einwandfrei.

      <HTML>
      <HEAD>
      <TITLE>...</TITLE>
      </HEAD>
      <BODY BGCOLOR="#FFFFFF" LINK="#FF0000" ALINK="#FF0000" VLINK="#FF0000" onLoad="self.focus()">

      <CENTER>
      <TABLE BACKGROUND="bkg.gif" BORDER="0" CELLSPACING="0" CELLPADDING="0"><TR><TD>
        <TABLE BACKGROUND="" BORDER="0" CELLSPACING="0" CELLPADDING="0">
         <TR>
          <TD ROWSPAN="2" BGCOLOR="#0073FF" WIDTH="20"> </TD>
          <TD COLSPAN="2"><IMG SRC="pic_1.gif" WIDTH="107" HEIGHT="80" BORDER="0"></TD>
          <TD ALIGN="RIGHT" VALIGN="TOP"><A HREF="frm99.htm"><FONT FACE="ARIAL" SIZE="1"><B>zum Inhalt</B></FONT></A></TD>
         </TR>
      <!-- diese HSPACEs bringen es -->
         <TR>
          <TD> </TD>
          <TD><IMG SRC="pic1999.gif" ALIGN="LEFT" WIDTH="41" HEIGHT="120" BORDER="0" HSPACE="0"></TD>
          <TD ALIGN="RIGHT"><IMG SRC="pic_2.gif" ALIGN="RIGHT" WIDTH="120" HEIGHT="79" BORDER="0" HSPACE="0"></TD>
         </TR>
      <!-- ... -->
          <TR>
           <TD ROWSPAN="3" BGCOLOR="#CCCCCC"> </TD>
           <TD> </TD>
           <TD COLSPAN="2"><FONT FACE="ARIAL"><H4>September 1999</H4></FONT>
           </TD>
          </TR>
      <!-- ... -->
         <TR>
          <TD> </TD>
          <TD> </TD>
          <TD><IMG SRC="logo.gif" ALIGN="RIGHT" HSPACE="15" VSPACE="5"></TD>
         </TR>
           <TR>
            <TD COLSPAN="3"><FONT FACE="ARIAL" SIZE="1"> </FONT></TD>
           </TR>
        </TABLE>
      </TD></TR></TABLE>
      </CENTER>

      </BODY>
      </HTML>

      Klaus

      1. ist etwas umfänglich und es stehen Sachen drin' die nicht mir gehören.
        Deshalb nur ein paar Auszüge. Der Effekt ist hiermit noch reproduzierbar.
        Sowohl mit einem NS3.0 wie auch mit einem NC4.5 auf NT.
        Ähnliche Konstrukte laufen ohne xSPACEs einwandfrei.

        Anstatt mit colspan und soweiter zu arbeiten, solltest Du lieber in der Tabelle Tabelle verwenden, da dies die Fehlerate beträchtlich reduziert und es außerdem nicht zu unerklärlichen Fehlern kommt. Ich hatte nämlich mal ähnliche Problem, die dann auf diese Weise verschwanden. Außerdem würde ich für die tds immer die Breite und Höhe angeben
        bye
        Benedikt

        1. Hallo Benedikt,

          Anstatt mit colspan und soweiter zu arbeiten, solltest Du lieber in der Tabelle Tabelle verwenden, da dies die Fehlerate beträchtlich reduziert und es außerdem nicht zu unerklärlichen Fehlern kommt. Ich hatte nämlich mal ähnliche Problem, die dann auf diese Weise verschwanden.

          bei TABinTAB vertippe ich mich nicht weniger und mit den xyzSPANs hab'
          ich auch keine schlechten Erfahrungen gemacht.
          TABinTAB verwende ich ganz gerne wo es angebracht ist,
          aber auch nur dann. Es gibt aber genug Konstrukte wo es nicht viel bringt,
          denk da auch mal an unsystematisch zerschnippelte Bilder mit Mausakrobatik.

          Unerklärliche Fehler mußte ich bislang immer auf meine Kappe nehmen
          und davon gehe ich hier auch aus.

          Außerdem würde ich für die tds immer die Breite und Höhe angeben

          Hier sind meine Erfahrungen allerdings sehr schlecht. Wenn ich dem Browser
          bei seinem Algorithmus zu sehr dazwischenfunke, gibt es reichlich Pfriemelkram
          und die Chance, daß er mich nicht versteht ist recht groß.

          Klaus

          1. Wir scheinen genau gegenteilige Erfahrungen gemacht zu haben. *g*

            1. Hallo Benedikt,

              Wir scheinen genau gegenteilige Erfahrungen gemacht zu haben. *g*

              sieht so aus, wundert mich aber auch nicht sonderlich.
              Einjeder hat so seine Art und Weise Sachen auszudrücken, egal ob in der
              normalen Umgangssprache oder in diesen formalen 'Sprachen' und unsere
              Ausdrucks- und Denkweisen werden sich ja doch wieder von denen der
              Programmierer der Browser unterscheiden.
              Nicht alle Menschen verstehen meine ach doch so klaren Gedanken richtig,
              Browser sind da nicht anders. Die sind doch auch bloß von Menschen gemacht.

              Die Syntax von HTML ist zwar formal sehr genau beschrieben, in der Praxis
              arbeite ich aber dann doch mit dem Bild welches ich von der Sache habe.
              Dieses unterscheidet sich mit Sicherheit auch von dem was Du hast.

              Die Syntaxbeschreibungen beziehen sich auch auf die einzelnen Elemente,
              bei der Anwendung kommt es ja aber auf die Kombination der Elemente an.
              Und, da werden die Freiheits- oder Fehlergrade dann doch schnell recht
              komplex.

              Es steht ja wohl nirgends beschrieben was die xSPACEs als Bildattribute
              für einen Einfluß auf den Tabellenaufbau haben, beeinflussen tun sie sich
              aber offensichtlich schon. Jeder wird auch dazu neigen an bestimmten
              Stellen und für bestimmte Zwecke unterschiedliche Mittel zu verwenden.
              Was geht und was nicht, das ist dann Erfahrung, und jeder geht dabei wohl
              auch unterschiedlich vor.

              Klaus

      2. [....]

        <TD ROWSPAN="2" BGCOLOR="#0073FF" WIDTH="20"> </TD>

        [....]

        <TD> </TD>

        [...]

        <TR>
             <TD ROWSPAN="3" BGCOLOR="#CCCCCC"> </TD>
             <TD> </TD>

        [...]

        <TR>
            <TD> </TD>
            <TD> </TD>

        [...]

        Also wenn ich ein pingeliger Browser wäre, würde ich NICHTS, anzeigen... schreib, wenn du schon leere zellen brauchst, wenigstens ein   oder ein <br> rein, das leerzeichen wird auch als solches interpretiert.. also als NICHTS.

        Bin mir zu 98% sicher wennst ein   reingibst funktionierts auch ohne H- und V-space.

        Ciao
        Ludwig

        1. Bin mir zu 98% sicher wennst ein   reingibst funktionierts auch ohne H- und V-space.

          *grmbl* aus dem nbsp; mach er ein " " na gut.. Kaufmänischesund nbsp; du weißt hoffenltich was ich meine?

          Ciao
          Ludwig

          1. Hallo Ludwig,

            Bin mir zu 98% sicher wennst ein   reingibst funktionierts auch ohne H- und V-space.

            *grmbl* aus dem nbsp; mach er ein " " na gut.. Kaufmänischesund nbsp; du weißt hoffenltich was ich meine?

            hmm, die nonbreaking_spaces hatte ich dazu verwendet das Zeichnen einer
            sonst leeren Zelle zu erzwingen. Damit wird der Zelle dann die definierte Farbe
            zugewiesen und nicht nur der Hintergrund. Leere Zellen sind doch auch ganz
            schön um die Abstände zu steuern.
            Da muß ich wohl doch noch einiges ausprobieren.

            Klaus

            1. hmm, die nonbreaking_spaces hatte ich dazu verwendet das Zeichnen einer
              sonst leeren Zelle zu erzwingen.

              ???? wenn du ein <td bgcolor="#xxxxxx"> </td> machst zeigt dir der NS nichts an... nada, machst statedesn ein <td..xxxx"><br></td> wird er dir was anzeigen

              Damit wird der Zelle dann die definierte Farbe

              zugewiesen und nicht nur der Hintergrund.

              ? Deine logik kann ich diesm satz nicht nachvollziehen :(

              Leere Zellen sind doch auch ganz

              schön um die Abstände zu steuern.
              Da muß ich wohl doch noch einiges ausprobieren.

              Abstände steuerst mit hspace, oder mit den guten alten transparenten Pixel trick, oder natürlich mit CSS

              leere tabellen zellen bringen meist nicht sehr viel.

              Ciao
              Ludwig

              1. Hi!

                ???? wenn du ein <td bgcolor="#xxxxxx"> </td> machst zeigt dir der NS nichts an... nada, machst statedesn ein <td..xxxx"><br></td> wird er dir was anzeigen

                Ausnahme ist uebrigens der MS IE 3, der will unbedingt ein   zwischen den TDs, das <BR> ignoriert der genauso wie ein einfaches Leerzeichen. (IE2 weiss ich jetzt nicht)

                Damit wird der Zelle dann die definierte Farbe

                zugewiesen und nicht nur der Hintergrund.

                ? Deine logik kann ich diesm satz nicht nachvollziehen :(

                *g* Er meinte wohl genau dasselbe wie Du, hat es nur anders ausgedrueckt.

                Abstände steuerst mit hspace, oder mit den guten alten transparenten Pixel trick, oder natürlich mit CSS
                leere tabellen zellen bringen meist nicht sehr viel.

                Naja, jeder wie's ihm gefaellt. Unsauber (im Hinblick auf 'strukturiertes Dokument') sind sowohl leere Tabellen als auch transparente GIF's. Mag beides in bestimmten Faellen seine Vorzuege haben. Z.B. muessen transparente GIF's auch erst geladen werden, und seien sie noch so klein. Bis sie da sind, sieht man bem Netsi graue Streifen. Faellt bei einer langsamen Verbindung durchaus ins Gewicht.

                Calocybe

  3. In meiner Not habe ich mich dann noch auf die IMG-Attribute HSPACE und
    VSPACE besonnen. <IMG SRC="xyz.gif" BORDER="0" HSPACE="0" VSPACE="0">
    zusätzlich hat es dann gebracht.

    Dann hast Du also gar keine Frage ;-) Oder Du mußt sie genauer stellen...

    CIAO
    H-Man

    1. Hallo H-Man,

      Dann hast Du also gar keine Frage ;-) Oder Du mußt sie genauer stellen...

      Nee, war eher eine Feststellung.

      Klaus

  4. Hallo Klaus,

    es hat eigentlich nichts mit <IMG vspace hspace> zu tun.

    Folgendes mußt Du sicherstellen:

    1. Der Tabelle darf keine Breite zugewiesen sein.
    2. Nicht EINER Tabellenzelle darf Breite zugewiesen sein.

    Anders als Benedikt habe ich damit die besten Erfahrungen gemacht.

    1. Hallo Benno,

      es hat eigentlich nichts mit <IMG vspace hspace> zu tun.

      das ist vermutlich richtig, hatte aber schon den geeigneten Einfluß.

      Folgendes mußt Du sicherstellen:

      1. Der Tabelle darf keine Breite zugewiesen sein.
      2. Nicht EINER Tabellenzelle darf Breite zugewiesen sein.

      Das hatte ich weder gesehen noch bedacht. Ganz so viel Freiheit
      wollte ich dem Browser aber hier dann doch nicht zugestehen.
      Gilt das auch für TRs?
      Kapiert hab' ich die Zusammnhänge noch nicht und ich kann mich
      nicht erinnern das irgendwo mal gelesen zu haben.

      Die Vermeidung der Steuerung der Tabellengeometrie durch Tabellen-
      attribute bringt ja doch einigen Pfriemelkram mit sich. Ich müsste das
      ja dann über blinde Bilderchen etc machen. Oder?

      Blinde Bilderchen in blinden Tabellen ist sowas wie doppelte Verneinung,
      wird man durch doppelt Blindheit wieder sehend?

      Anders als Benedikt habe ich damit die besten Erfahrungen gemacht.

      ich auch.

      Klaus

      1. Das hatte ich weder gesehen noch bedacht. Ganz so viel Freiheit
        wollte ich dem Browser aber hier dann doch nicht zugestehen.
        Kapiert hab' ich die Zusammnhänge noch nicht und ich kann mich
        nicht erinnern das irgendwo mal gelesen zu haben.

        Der Grundgedanke ist: Die Browser versuchen die Tabelle so klein wie irgend möglich zu formatieren.
        Deshalb: Wenn Du nicht im TABLE-Tag eine Weite angegeben hast (sei es in Pixeln oder in Prozent), gibt Du ihnen keine Freiheit.
        Hab ich auch nirgendwo gelesen. Ist ne Trial And Error Sache.

        Die Vermeidung der Steuerung der Tabellengeometrie durch Tabellen-
        attribute bringt ja doch einigen Pfriemelkram mit sich. Ich müsste das
        ja dann über blinde Bilderchen etc machen. Oder?

        Ja. Ist nach meiner Erfahrung die stabilste Lösung.

        Blinde Bilderchen in blinden Tabellen ist sowas wie doppelte Verneinung,
        wird man durch doppelt Blindheit wieder sehend?

        Ich war schon immer kurzsichtig und muß auch heute noch ne Brille tragen <g>.

  5. Hallo Alle,

    diese Lücken in den Tabellen nerven ja langsam
    und verstanden habe ich anscheinen noch nichts.
    Vielleicht führen Versuche ja weiter.

    <HTML>
    <HEAD>
      <TITLE>...</TITLE>
    </HEAD>
    <BODY>

    <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
       <TR>
        <TD BGCOLOR="#FF0000"> </TD>
        <TD BGCOLOR="#00FF00"> </TD>
       </TR>
       <TR>
        <TD BGCOLOR="#FF0000"></TD>
        <TD BGCOLOR="#00FF00"></TD>
       </TR>
      </TABLE>

    </BODY>
    </HTML>

    Dieser Konstrukt führt erwartungsgemäß zu nichts Sichtbarem.
    Die Leerzeichen alleine werden nicht interpretiert, die Tabellen-
    zelle muß schon was 'signifikantes' enthalten.
    Ein <BR> alleine in einer einzigen Zelle führt zur Darstellung
    eines ganz schmalen Striches von der Höhe eines Buchstaben in
    Hintergrundfarbe.
    Ein nonbraking_space wird als etwas breiterer Strich gleicher
    Höhe dargestellt.
    Die Wiederholung von <BR>s vergößert die Höhe der Zelle
    erwartungsgemäß. Die Wiederholung von nonbraking_spaces verbreitert
    die Zelle entsprechend.

    Das Tag ..><IMG SRC="salmi.gif"><.. in einer Tabellenzelle führt
    zur Darstellung des Bildes, Hintergrundfarbe wird nicht sichtbar.
    Fügt man das Bild in alle Zellen ein, so entsteht eine Kachel
    aus den vier Bildern, wie durch BORDER="0" CELLSPACING="0"
    CELLPADDING="0" halt beschrieben.

    Soweit so gut, der beobachtete Effekt wird so nicht sichtbar.
    Um die Spalten zu verbreitern bekommen die oberen Inhalt, in
    die unteren kommen die Salmibilder:

    <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
       <TR>
        <TD BGCOLOR="#FF0000">Testzelle</TD>
        <TD BGCOLOR="#00FF00">Testzelle</TD>
       </TR>
       <TR>
        <TD BGCOLOR="#FF0000"><IMG SRC="salmi.gif"></TD>
        <TD BGCOLOR="#00FF00"><IMG SRC="salmi.gif"></TD>
       </TR>
      </TABLE>

    Erwartungsgemäß sind die Spalten nun breiter und in den
    unteren Zellen sind die Salmis links sichtbar, ohne Lücke.

    <TR ALIGN="RIGHT">
    <TD BGCOLOR="#FF0000"><IMG SRC="salmi.gif"></TD>
    <TD BGCOLOR="#00FF00"><IMG SRC="salmi.gif"></TD>

    richtet die Salmis rechts in den Zellen aus, auch ohne
    Lücke.

    <TR>
    <TD BGCOLOR="#FF0000" ALIGN="RIGHT"><IMG SRC="salmi.gif"></TD>
    <TD BGCOLOR="#00FF00"><IMG SRC="salmi.gif"></TD>

    richtet den linken Salmi rechts ohne Lücke aus, der
    rechte klebt an der linken Zellenkante, die Salmis
    sind also in der Mitte zusammen. Also auch ok.

    Der folgende Konstrukt zeigt aber nun den Lücken-Effekt:

    <TR>
    <TD BGCOLOR="#FF0000"><IMG SRC="salmi.gif" ALIGN="RIGHT"></TD>
    <TD BGCOLOR="#00FF00"><IMG SRC="salmi.gif"></TD>

    Erwarten würde ich, daß der linke Salmi in der Zelle rechts
    ausgerichtet ist, aber da ist eine Lücke zwischen Salmi und
    rechter Zellenkante.
    Das ist wohl das was ich beobachtet hatte.
    Wenn ich das ALIGN in das TD verschiebe, ist das Salmi wieder
    ganz rechts ausgerichtet, ohne Lücke.
    Dieser Konstrukt ist aber bei gemischtem Zelleninhalt nicht
    unbedingt brauchbar.

    Wenn ich nun das IMG-Tag mit der Lücke noch um HSPACE="0"
    erweitere, dann ist die Lücke wieder weg!

    <TD><IMG SRC="salmi.gif" ALIGN="RIGHT" HSPACE="0"></TD>

    Auch
    <TD ALIGN="CENTER">*<IMG SRC="salmi.gif" ALIGN="RIGHT" HSPACE="0"></TD>
    tut im Prinzip wie erwartet, der Stern in der Mitte, der
    Salmi ganz rechts, ohne Lücke. Die Zelle ist allerdings höher.

    Der Konstrukt
    <TD><IMG SRC="salmi.gif" ALIGN="LEFT"></TD>
    sollte ja eigentlich unnütz sein weil der Zelleninhalt ohnehin
    links ausgerichtet wird. Allerdings, wenn ich ihn einführe,
    dann entsteht auch hier eine Lücke zwischen linkem Zellenrand
    und Salmi! Auch hier hilft das HSPACE-Attribut weiter.

    Es ist dabei anscheinend unerheblich wiesehr ich die Tabelle
    mit Breiten- und/oder Höhenattributen vollpflastere, die Lücke
    hängt wohl nur von der Verwendung des ALIGN-Attributs im IMG-Tag
    ab und läßt sich systematisch mit dem HSPACE-Attribut korrigieren.
    'Cellspanning' habe ich dabei nicht untersucht.

    Klaus

    1. Hallo Klaus!

      Der folgende Konstrukt zeigt aber nun den Lücken-Effekt:

      <TR>

      »»  <TD BGCOLOR="#FF0000"><IMG SRC="salmi.gif" ALIGN="RIGHT"></TD>
      »»  <TD BGCOLOR="#00FF00"><IMG SRC="salmi.gif"></TD>

      Erwarten würde ich, daß der linke Salmi in der Zelle rechts
      ausgerichtet ist, aber da ist eine Lücke zwischen Salmi und
      rechter Zellenkante.
      Das ist wohl das was ich beobachtet hatte.
      Wenn ich das ALIGN in das TD verschiebe, ist das Salmi wieder
      ganz rechts ausgerichtet, ohne Lücke.
      Dieser Konstrukt ist aber bei gemischtem Zelleninhalt nicht
      unbedingt brauchbar.

      Das ist genau dasselbe, was ich vor kurzem erlebt habe. Ich hatte genau solch ein ALIGN=RIGHT verwendet, und aus demselben Grund wie Du. Und ich hatte genau diesen HSPACE-Effekt. (Brauchst also nicht an Deinem Verstand zweifeln ;-)) Meine Tabelle hatte uebrigens extensiven Gebrauch von WIDTH- und COLSPAN-Angaben gemacht, aber wie Du jetzt herausgefunden hast, kommt es darauf wohl gar nicht an.

      Generell schlage ich vor, HSPACE und VSPACE immer anzugeben, wenn das fuer's Design wichtig ist. Wie man auf http://www.w3.org/TR/REC-html40/struct/objects.html#adef-hspace lesen kann, muss der Defaultwert fuer diese naemlich keineswegs 0 sein, sondern soll eigentlich von 0 verschieden sein. Und wir wissen ja alle, wenn die Spezifikation irgendeine Interpretationsfreiheit laesst, wird die auch irgendein Browser ausnutzen.

      Bye by Calocybe

      P.S. In http://www.w3.org/TR/REC-html40/struct/objects.html#alternate-text steht, dass das ALT-Attribut fuer IMG und AREA ein Muss ist, aber der IE4 unterstuetzt es bei AREA gar nicht. Er besteht stattdessen auf das TITLE-Attribut.

    2. Hallo Calocybe und Alle,

      tja, man sollte doch etwas mehr über den Tellerrand schauen.
      Ich hatte mich bisher mehr an den semantischen Gehalt von ALIGN
      gehalten und nicht sonderlich auf den jeweiligen Kontext geachtet,
      und, dabei hatte ich wohl auch aus den Augen verloren, daß HTML ja
      als Mittel zur TEXTbeschreibung entwickelt worden war.

      Selbst wenn man sich die Erläuterung ansieht auf die Du verlinkst,
      muß man schon recht genau hinsehen um das noch zu erkennen, da dort
      vorzugsweise von Objekten die Rede ist.

      http://www.w3.org/TR/REC-html40/struct/objects.html#adef-hspace

      13.7.4 Alignment

      The align attribute specifies the position of an IMG, OBJECT, or APPLET with respect to its context.

      The following values for align concern the object's position with respect to surrounding text:

      bottom: means that the bottom of the object should be vertically aligned with the current baseline.
      This is the default value.
      middle: means that the center of the object should be vertically aligned with the current baseline.
      top: means that the top of the object should be vertically aligned with the top of the current text line.

      Two other values, left and right, cause the image to float to the current left or right margin.
      They are discussed in the section on floating objects.

      Differing interpretations of align. User agents vary in their interpretation of the align attribute.
      Some only take into account what has occurred on the text line prior to the element, some take into
      account the text on both sides of the element.

      Im ersten Satz steht, daß das Attribut die Lage des Objektes in Bezug auf
      seinen KONTEXT festlegt.
      Im zweiten Satz wird das etwas deutlicher indem gesagt wird, daß das Attribut
      die Lage des Objektes in Bezug zum umgebenden Text beschreibt. Bei den Attribut-
      werten selbst ist dann die Rede von 'baseline', der Textgrundlinie also.
      Und, es ist zu vermuten, daß diese (gedachte) Grundlinie auch gilt wenn Text nicht
      explizit vorhanden ist.

      Mein Hauptproblem war aber wohl, daß da ein impliziter Zusammenhang zwischen
      ALIGN und HSPACE/VSPACE zu bestehen scheint.
      xSPACE soll defaultmäßig verschieden null sein, ist es aber offensichtlich
      erst wenn ALIGN definiert ist. Vorher scheint es nicht zu existieren und ist
      deswegen dann wohl doch null! Oder verstehe ich da mal wieder was falsch?

      Die unterschiedliche Interpretation durch die User Agents muß man ausprobieren
      und lernen.

      Stefan versteht die Attribute übrigens anscheinend etwas anders:  
      <../../tcgc.htm>

      <img src="datei.gif" align=top>Beschriftungstext
      <img src="datei.gif" align=middle>Beschriftungstext
      <img src="datei.gif" align=bottom>Beschriftungstext

      Erläuterung:
      Mit dem Attribut align= erreichen Sie, daß nachfolgender Text als Beschriftungstext
      der Grafik interpretiert wird, und mit den möglichen Wertzuweisungen richten Sie den
      Beschriftungstext neben der Grafik aus (align = Ausrichtung).

      Mit align=top wird der folgende Text als Beschriftungstext obenbündig zur Grafik interpretiert (top = oben).
      Mit align=middle wird der folgende Text als Beschriftungstext mittig zur Grafik interpretiert (middle = mittig).
      Mit align=bottom wird der folgende Text als Beschriftungstext untenbündig zur Grafik interpretiert (bottom = unten).

      Beachten Sie:
      Nur der unmittelbar folgende Text gilt als Beschriftungstext - und zwar nur der Text,
      der neben die Grafik noch in eine Zeile paßt.
      Text, der darüber hinausreicht, wird unterhalb der Grafik angezeigt.
      Da Sie die Anzeigefenstergröße des Anwenders nicht kennen, ist dieser HTML-Befehl in
      seiner Auswirkung kaum kontrollierbar.

      Es gibt weitere, speziellere Befehle zur Plazierung von Grafikbeschriftung. ...

      Beispiele:

      <img src="datei.gif" align=texttop>Beschriftungstext
      <img src="datei.gif" align=absmiddle>Beschriftungstext
      <img src="datei.gif" align=absbottom>Beschriftungstext
      <img src="datei.gif" align=baseline>Beschriftungstext

      ...

      <img src="datei.gif" align=left>Text, der rechts um die links ausgerichtete Grafik fließt
      <img src="datei.gif" align=right>Text, der links um die rechts ausgerichtete Grafik fließt

      Erläuterung:
      Mit den Angaben align=left bzw. align=right veranlassen Sie den Browser, die Grafik linksbündig
      bzw. rechtsbündig auszurichten und den darauffolgenden Fließtext rechts bzw. links neben der
      Grafik anzuzeigen und um die Grafik herumfließen zu lassen
      (align = Ausrichtung, left = links, right = rechts).

      Stefan schränkt die Bedeutung des Attributes insofern ein, daß er es als Anweisung
      zur Positionierung des unmittelbar folgenden Bildbeschriftungstextes definiert.
      So gesehen hätte ich das Attribut für meine Anwendung so überhauptnicht verwenden dürfen.

      Beachten Sie: Diese Angaben gehören nicht zum offiziellen HTML-Standard.

      Sollte man beim Rumprobieren auch mehr berücksichtigen.

      Im Kapitel Zelleninhalte ausrichten <../../tced.htm>

      Ausrichtung horizontal

      Erläuterung:
      Mit align=left können Sie eine Kopfzelle in ihrem einleitenden Tag links ausrichten,
      durch die Angabe align=right rechts. Datenzellen können Sie in ihrem einleitenden Tag
      mit align=center zentriert ausrichten und durch align=right rechts.
      Die Angaben align=center bei Kopfzellen und align=left bei Datenzellen sind natürlich
      auch erlaubt, bewirken aber lediglich die Voreinstellung und sind deshalb nicht nötig.

      Beachten Sie:
      Um alle Zellen einer Zeile gleich auszurichten, können Sie die Angaben zur Ausrichtung
      auch im einleitenden Tag der Zeile <tr> notieren. So richten Sie beispielsweise mit
      <tr align=right> alle folgenden Zellen der Zeile rechts aus.

      sind die Erläuterungen weiter gefaßt indem sie sich auf die Zelleninhalte beziehen.
      Die ausschlißliche Anwendung dieser Attribute führt ja auch nicht zu Problemen,
      erst der Zusammenhang mit den IMG-Ausrichtungs-Attributen ist etwas was man lernen
      und beachten muß.

      Schlußfolgernd habe ich hoffentlich nun gelernt, daß ALIGN <> ALIGN ist und,
      daß es da so gewisse implizite Seiteneffekte gibt.
      Seiteneffekte sind keine Browserfehler, eher 'Tomaten uffm Hirn!'

      Klaus

      PS: in der Auswahlliste für die Themenbereiche taucht HTML nicht mehr auf,
      GRAFIK ist dafür zweimal vorhanden !?