Giovanni Rena: Tabellen auf Fenster anpassen

Hallo,

möchte dass mein Fenster in 3 Teile aufteil:

  • Oben (100px)
  • Mitte (variabel - so viel wie halt frei ist)
  • Unten (40px)
    So, hab da was geschrieben, nur ist das Problem, dass die erste Tabellen-Zeile wesentlich größer ist, und ich einfach nicht mehr weiterkomme. Hoffe mir kann jemand helfen. Danke schonmal im Voraus!

body         { padding:0px;  margin:0cm 0cm 0cm 0cm; height:100%; width:100%; background-color:#FFFFFF};
Table        { width:100%;   height:100%;   font-family:Arial,serif; border-spacing:0px; padding:0cm 0cm 0cm 0cm; margin:0cm 0cm 0cm 0cm; }
.top         { width:100%;   height:100px;  border-width:0px; border-style:solid; border-color:#FFFFFF; border-spacing:0px; padding:0cm 0cm 0cm 0cm; margin:0cm 0cm 0cm 0cm;  background-color:#FFFFFF; };
.middle      { width:100%;   height:;       border-width:1px; border-style:solid; border-color:#000000; border-spacing:0px; padding:0cm 0cm 0cm 0cm; margin:0cm 0cm 0cm 0cm;  background-color:#FFFFFF; };
.down        { width:100%;   height:40px;   border-width:0px; border-style:solid; border-color:#FFFFFF; border-spacing:0px; padding:0cm 0cm 0cm 0cm; margin:0cm 0cm 0cm 0cm;  background-color:#FFFFFF; };

#Space1      { background-color:#FFFFFF; margin:auto;  width:100%;  height:100%; }

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> </title>
<link rel="stylesheet"  href="style.css" />
</head>
<body>

<div id="Space1">

<table border="1">

<tr>
  <td class="top">    Hello1  </td>
</tr>

<tr>
  <td class="middle"> Hello2  </td>
</tr>

<tr>
  <td class="down">   Hello3  </td>
</tr>

</table>

</div>

</body>
</html>

Kopierts einfach in ne style.css und ne index.htm und es müsse auch bei euch gehen!

Gruß Giovanni

  1. hi !

    bei mir (IE 5.5) funktionierts einwandfrei...

    1. Also, bei mir siehts falsch aus
      Die erste Zeile ist die größte (2/3 vom Platz, anstatt 100px),
      Die mittlere Zeile ist die kleinste (sollte die größte sein)
      Die letzte Zeile ist unefär 5x zu groß.

      Und im Mozilla ist alles gleich groß und ca. 120px groß, und NICHT auf den ganzen Bildschirm verteilt!

      1. Ich bekomme es einfach nicht hin, geht es denn nicht irgendwie zu sagen:
        Erster Bildschirm Abschnitt  100px
        Zweiter Bildschirm Abschnitt Was übrig bleibt von 1. und 3.
        Dritter Bildschirm Abschnitt 50ps

        egal ob mit oder ohne Tabellen. Ohne wäre mir natürlich lieber!

        1. Ich bekomme es einfach nicht hin, geht es denn nicht irgendwie zu sagen:
          Erster Bildschirm Abschnitt  100px
          Zweiter Bildschirm Abschnitt Was übrig bleibt von 1. und 3.
          Dritter Bildschirm Abschnitt 50ps

          egal ob mit oder ohne Tabellen. Ohne wäre mir natürlich lieber!

          3 Divs untereinander

          top mit Höhe

          center ohne Höhenangabe

          bottom mit Höhe

          andererseits..wozu eigentlich ? du hast einen vertikalen Text-Fluss
          warum machst du nicht erstmal ALLE Inhalte untereinander ohne Tabelle/Div die Höhen ergeben sich dich automatisch aus den Dingen die halt den Inhalt darstellen

          top
          -Linkleiste
          -Überschrift
          -noch ne Linkleiste
          center
          -Überschrift
          -Text
          bottom
          -linkleiste ?

          1. Ist mir auch grad eingefallen, habs ausprobiert geht nicht! Die mittlere Zeile füllt nicht die volle Größe aus:

            #Space1      { background-color:#FFFF00; margin:auto;  width:100%;  height:100px;   }
            #Space2      { background-color:#00FFFF; margin:auto;  width:100%;                  }
            #Space3      { background-color:#FF00FF; margin:auto;  width:100%;  height:100px;   }

            Die 1. + 3. sind okay, aber wenn ich die Höhe weglasse, ist die Mittlere nur ganz klein. Hier noch HTML:

            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
            <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
            <title> </title>
            <link rel="stylesheet"  href="style.css" />
            </head>
            <body>

            <div id="Space1"></div>
            <div id="Space2"></div>
            <div id="Space3"></div>

            </body>
            </html>

            1. Die 1. + 3. sind okay, aber wenn ich die Höhe weglasse, ist die Mittlere nur ganz klein. Hier noch HTML:

              ...steht ja auch nix im mittleren Div drin

              ohne Höhen-Angabe -> schauen wie hoch der Inhalt ist -> kein Inhalt da ? --> Höhe 0

              =)

              1. Ja, so solls ja auch sein! Wenn auf einer Seite mal weniger drin steht, sollen ja auch nicht alle 3 Teile oben kleben, es soll weiterhin alles schön auf die ganze Fenstergröße verteilt sein.

                Und selbst wenn ich was reinschreibe - der mittlere Div ist immer noch so hoch wie der Inhalt. Aber es soll die RESTLICHE Höhe groß, die vom 1. und 3. Div nicht benutzt wird.

                Gruß Giovanni

                1. spontan würd ich um alle drei ein 4. Div machen mit Höhe = 100%

                  oder das mittlere DIV mit Höhe = 100%

                  ...diese 100% Angabe würde sich aber immer nur auf die Fensterhöhe beziehen und wenn die sehr sehr klein ist, entscheidet letztendlich der Inhalt

                  1. Dass habe ich auch schon gemacht. Wenn ich für das mittlere DIV Höhe = 100% eingebe, dann muss ich wieder scrollen, weil alles zusammen, dann wieder größer wie 100% ist. sprich 100% + 100px + 50px und man sieht nicht wieder alles auf ein Mal.

                    1. Servus ihr Profis!

                      ich finde nicht dass es sich folgendes wie ein großes Problem anhört:

                      • das Browserfenster in 3 Teil aufzuteilen
                        1. Teil 100px Höhe
                        1. Teil (Höhe: Rest von 1 + 3)
                        1. Teil 50px
                          ich persönlich hab SelfHTML durchsucht, in der Suche geschaut, ein paar Links durchsucht, überlegt, wieder überlegt, ausprobiert... nix! Aber ich bin auch kein so Webdesign-Profi wie einige von euch. Habt ihr mir nicht ne Lösung für dieses "kleine Problem" - am besten mit CSS und HTML.

                      Gruß Giovanni

                      1. Hey, hab ne Idee, wie wäre das:

                        Ich mache ne Tabelle mit 3 Zeilen

                          1. Zeile  (10% Höhe)
                          1. Zeile  (80% Höhe)
                          1. Zeile  (10% Höhe)
                            setze in die 1. + 3. Zeilennen Div rein - als Inhalt, wodurch die Zeilennicht verkleinert wird, auch  wenn Sie unter 10% wird, das gleiche gilt auch für die 3. Zeilen.

                        Die 2. Zeilen bleibt dann Variabel und ich kann meinen Inhalt reinsetzen. Da ich noch 80% (höchstens) Spielraum habe, müsste das für den Inhalt reichen. Würde dass so gehen?

                        Gruß Giovanni

                        1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 STRICT//EN">
                          <html>
                          <head>
                          <title> </title>
                          </head>
                          <body>

                          <table width="100%" style="height:100%">
                          <tr>
                          <td style="text-align:center;">

                          <p>Test</p>

                          </td>
                          </tr>
                          </table>

                          </body>
                          </html>

                          geht, ist aber nicht valide (glaub ich) weil Table nicht mit Höhenangabe erlaubt ist

  2. hi,

    möchte dass mein Fenster in 3 Teile aufteil:

    das wolltest du in [pref:t=83566&m=488439] bereits.

    auch wenn du dich jetzt wohl entschieden hast, tabellen einem css-layout vorzuziehen, kannst du trotzdem in diesem thread bleiben - die thematik ist immer noch die selbe.

    bitte lies mal </faq/#Q-11>, und verzichte zukünftig auf solche doppelpostings.

    gruß,
    wahsaga

    --
    I'll try being nicer if you'll try being smarter.