Dieter: Spaltenbreiten

Hallo

Ich würde gerne eine Tabelle machen die aus drei Spalten besteht.

Die mittlere Spalte soll 500px breit sein. Die beiden Spalten links und rechts sollen sich gemeinsam den restlichen Bildschirmplatz teilen und den Bildschirm zu 100% ausfüllen. Die mittlere Spalte soll aber genau in der Mitte des Bildschirms liegen.

Geht das irgendwie? Möglichst xhtml wäre cool.

Danke, cu, Dieter

  1. Mahlzeit Dieter,

    Ich würde gerne eine Tabelle machen die aus drei Spalten besteht.

    Bist Du Dir *sicher*, dass Du eine Tabelle willst?

    Die mittlere Spalte soll 500px breit sein. Die beiden Spalten links und rechts sollen sich gemeinsam den restlichen Bildschirmplatz teilen und den Bildschirm zu 100% ausfüllen. Die mittlere Spalte soll aber genau in der Mitte des Bildschirms liegen.

    Mir scheint, Du möchtest eine Tabelle zum Gestalten missbrauchen. Informiere Dich stattdessen lieber zum Stichwort "Faux columns" ...

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Bist Du Dir *sicher*, dass Du eine Tabelle willst?

      Ja :-)

      Mir scheint, Du möchtest eine Tabelle zum Gestalten missbrauchen.

      Nein, keine Sorge ;-)

  2. @@Dieter:

    nuqneH

    Ich würde gerne eine Tabelle machen die aus drei Spalten besteht.

    Das glaube ich nicht. Ich glaube eher, du möchtest ein <http://de.selfhtml.org/css/layouts/mehrspaltige.htm@title=mehrspaltiges Layout> – keine Tabelle.

    Was soll denn in den Spalten jeweils drin sein?

    Und wie soll es aussehen, wenn das Browserfenster schmal ist – nur geringfügig breiter als 500 Pixel oder sogar schmaler?

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Das glaube ich nicht.

      Glaubs ruhig ;-)

      Die mittlere Spalte soll immer 500px haben. Wird der Browser kleiner als 500 soll er unten eine Scrolleiste anzeigen. Ist der Browser größer als 500, dann sollen die äußeren Spalten breiter werden.

      Könnten wir die Diskussion was ich mit der Tabelle anfange lassen? Ich weiß schon, dass einige gegen ein Tabellenlayout sind, aber ich bastle an keinem Seitenlayout. Ich möchte nur den maximalen Platz, den der Bildschirm hergibt auch ausnützen.

      Danke trotzdem, für die shcnellen Antworten. Ich hoff es gibt auch eine Lösung für mein Problem.

      Lg, Dieter

      1. @@Dieter:

        nuqneH

        Die mittlere Spalte soll immer 500px haben.

        Dann gib der mittleren Spalte diese Breite. Wenn sie http://de.selfhtml.org/html/tabellen/aufbau.htm#vordefinieren@title=vordefiniert ist, für 'http://de.selfhtml.org/html/tabellen/aufbau.htm#vordefinieren@title=col', ansonsten

        tr>:nth-child(2) { width: 500px }

        oder, um ältere Browser zu unterstützen

        tr>* { width: 500px }  
        tr>:first-child, tr>:last-child { width: auto }
        

        oder

        td, th { width: 500px }  
        td:first-child, th:first-child, td:last-child, th:last-child { width: auto }
        

        Ich möchte nur den maximalen Platz, den der Bildschirm hergibt auch ausnützen.

        table { width: 100% }

        Ob die äußeren Spalten dann gleich breit sind, hängt von deren Inhalt ab.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. super, dank dir. Werd ich gleich mal ausprobieren!

          cu, Dieter

      2. Ich möchte nur den maximalen Platz, den der Bildschirm hergibt auch ausnützen.

        Das stimmt offenbar nicht, denn was in der linken und der rechten Spalte dirn ist, hat offenbar nicht mit Nutzen zu tun, wenn die Spalten und damit deren Inhalt ggf. verschwinden.

        1. @@Texter mit x:

          nuqneH

          Das stimmt offenbar nicht, denn was in der linken und der rechten Spalte dirn ist, hat offenbar nicht mit Nutzen zu tun, wenn die Spalten und damit deren Inhalt ggf. verschwinden.

          Tabellenspalten verschwinden nicht.

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)
          1. Das stimmt offenbar nicht, denn was in der linken und der rechten Spalte dirn ist, hat offenbar nicht mit Nutzen zu tun, wenn die Spalten und damit deren Inhalt ggf. verschwinden.

            Tabellenspalten verschwinden nicht.

            Spalten sind auch keine Drinen - Du weißt was ich meine. Von ihnen bzw. ihrem Inahlt ist nichts (ja, außer ...) zu sehen und sie sind auch nicht durch scrollen zu erreichen.

            1. @@Texter mit x:

              nuqneH

              Spalten sind auch keine Drinen - Du weißt was ich meine.

              Nein, ehrlich gesagt, nicht.

              Von ihnen bzw. ihrem Inahlt ist nichts (ja, außer ...) zu sehen und sie sind auch nicht durch scrollen zu erreichen.

              Tabellenspalten sind ggfs. immer durch Scrollen zu erreichen.

              Qapla'

              --
              Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
              (Mark Twain)
              1. Spalten sind auch keine Drinen - Du weißt was ich meine.

                Nein, ehrlich gesagt, nicht.

                Ich hatte mich vertippt (mehrfach*) und statt drin dirn geschrieben. Darüber hast Du auch hinweggesehen (weil Du wußtest das ich "drin" meine).

                * Nur hatte ich blöderweise statt "Spalten sind auch keine Dirnen - Du weißt was ich meine." nun wieder Drinen geschrieben, wodurch das nicht zu verstehen war.

                Von ihnen bzw. ihrem Inahlt ist nichts (ja, außer ...) zu sehen und sie sind auch nicht durch scrollen zu erreichen.

                Tabellenspalten sind ggfs. immer durch Scrollen zu erreichen.

                Die mittlere Spalte soll 500 px breit sein. Wird der Browser kleiner als 500 px (er meint bestimmt den viewport) sollen Scrollbalken entstehen. Wird er breiter sollen die äußeren Spalten entsprechend breiter werden. Was ergibt sich daraus für die (gewünschte) Breite der äußeren Spalten? Genau.

                Entweder geht das nicht oder, was ich glaube, die äußeren Spalten sind inhaltslos oder er sorgt dafür, das trotz Inhalt über 500 px viewport-Breite kleine Scrollbalken entstehen.

                Dafür, daß eine Spalte mindestens die Breite hat die Ihr Rahmen verursacht (und man unter normalen Umständen auch dahin scrollen kann), habe ich extra für dich ich das "(ja, außer ...)" eingefügt. Den Pixelfindigkeiten* wollte ich aus dem Weg gehen.

                *von "Spitzfindigkeiten"

                1. @@Texter mit x:

                  nuqneH

                  Wird der Browser kleiner als 500 px (er meint bestimmt den viewport)

                  Ja, das tut er. ;-)

                  sollen Scrollbalken entstehen. Wird er breiter sollen die äußeren Spalten entsprechend breiter werden. Was ergibt sich daraus für die (gewünschte) Breite der äußeren Spalten? Genau.

                  Was genau?

                  table  
                  {  
                  	min-width: 700px;   /* 500px + min. Breiten für linke und rechte Spalte */  
                  	table-layout: fixed;  
                  	width: 100%;  
                  }  
                    
                  tr>*  
                  {  
                  	width: 500px;  
                  }  
                    
                  tr>:first-child, tr>:last-child  
                  {  
                  	width: 100%;        /* das ist der Trick */  
                  }
                  

                  Genau das! ;-)

                  Entweder geht das nicht

                  Glaub ich nicht.

                  was ich glaube, die äußeren Spalten sind inhaltslos

                  Glaub ich nicht.

                  Qapla'

                  --
                  Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                  (Mark Twain)
                  1. Dann sag mir doch mal, welche Breite die drei Spalten jeweils bei 500 px viweport-Breite in dem Fall haben.

                    1. @@Texter mit x:

                      nuqneH

                      Dann sag mir doch mal, welche Breite die drei Spalten jeweils bei 500 px viweport-Breite in dem Fall haben.

                      93 Pixel, 500 Pixel, 93 Pixel.

                      (93, nicht 100? Padding ist ja auch noch mit im Spiel.)

                      Qapla'

                      --
                      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                      (Mark Twain)
                      1. Dann sag mir doch mal, welche Breite die drei Spalten jeweils bei 500 px viweport-Breite in dem Fall haben.

                        93 Pixel, 500 Pixel, 93 Pixel.

                        (93, nicht 100? Padding ist ja auch noch mit im Spiel.)

                        Und hat die Seite nun einen scrollbalken oder sind die äußeren Spalten nicht mit scrollen zu erreichen? Wenn ersteres zutrifft entspricht das nicht dem beschriebenen gewünschtem Verhalten. Wenn letzteres zutrifft, kann nicht von nutzbarem Inhalt die Rede sein. Womit wir wieder bei meinem ersten Beitrag in dem Zweig wären.

                        1. @@Texter mit x:

                          nuqneH

                          Und hat die Seite nun einen scrollbalken […]?

                          Ja, hat sie.

                          Wenn ersteres zutrifft entspricht das nicht dem beschriebenen gewünschtem Verhalten.

                          Ich kann keinen Widerspruch zu „Wird der Browser kleiner als 500 soll er unten eine Scrolleiste anzeigen“ [Dieter] feststellen.

                          Qapla'

                          --
                          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                          (Mark Twain)
                          1. Ich kann keinen Widerspruch zu „Wird der Browser kleiner als 500 soll er unten eine Scrolleiste anzeigen“ [Dieter] feststellen.

                            Das gilt dann wohl im gleichen Maß für die Behauptung, daß er fünf Spalten haben will.

                            1. @@Texter mit x:

                              nuqneH

                              Das gilt dann wohl im gleichen Maß für die Behauptung, daß er fünf Spalten haben will.

                              ?? Wohin soll ich dir jetzt folgen?

                              Qapla'

                              --
                              Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                              (Mark Twain)
                      2. @@Gunnar Bittersmann:

                        nuqneH

                        (93, nicht 100? Padding ist ja auch noch mit im Spiel.)

                        Und border. Und ggfs. border-spacing. (Der Vollständigkeit halber.)

                        Qapla'

                        --
                        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                        (Mark Twain)
  3. Die mittlere Spalte soll 500px breit sein. Die beiden Spalten links und rechts sollen sich gemeinsam den restlichen Bildschirmplatz teilen und den Bildschirm zu 100% ausfüllen. Die mittlere Spalte soll aber genau in der Mitte des Bildschirms liegen.

    Eine Frage, soll es wirklich eine Tabelle werden? Dein Vorhaben hört sich eher nach einer Layout-Aufgabe an.

    1. Eine Frage, soll es wirklich eine Tabelle werden? Dein Vorhaben hört sich eher nach einer Layout-Aufgabe an.

      Huch, gar nicht gesehen, daß es schon Antworten gab.