marctrix: td fixe %Breite, Scrollbalken nur wenn nötig

Beitrag lesen

Hej mathefritz,

Du
liegst schon richtig,

Dann solltest du auf keinen Fall Layout-Tabellen nehmen, die machen mehr Probleme, als sie lösen.

hab dazu momentan nur das dazu und nicht die Muße zu genauem Studium.

Ja, das ist schon so ziemlich der kompakteste Guide. Aber um drei Spalten zu erzeugen reicht auch flexbox.

Weil man manchmal einfach voran kommen muss, gebe ich dir ausnahmsweise einen Fisch (heißt ich zeige dir einen möglichen Lösungsweg) und sage dir zusätzlich, wo du die Angel findest (wo du also erklärt bekommst, was da passiert und warum das funktioniert): Flexboxen werden auch auf css−Tricks erklärt, der flex-Box−Guide ist aber wesentlich kürzer als der CSS-Grid-Guide. Den solltest du dir auf jeden Fall anschauen.

Und dann natürlich die ausführliche Erklärung hier im Wiki: Flexbox

Ok, kommen wir zum Fisch, damit du schnell satt wirst.

Für die flexbox-Lösung brauchst du zusätzliche Container, aber die hättest du bei der Tabelle auch.

Alles was du benötigst ist ein Container mit drei Kindern, je einer pro Tabelle.

Am schönsten wäre es einen Container zu nehmen, den du schon hast. Vielleicht passt ˋmainˋ. Wenn du für die Tabellen noch eine Überschrift hättest, würde ich für jede ein ˋsectionˋ-Element als Container nehmen, sonst ˋdivˋ.

Dann bekommst du folgendes HTML:

<main>
  <section>
    <h1>heading</h1>
    <table>
      <tr>
        <th>
          column heading
        </th>
      </tr>
    </table>
  </section>
  <section>
    <h1>heading</h1>
    <table>
      <tr>
        <th>
          column heading
        </th>
      </tr>
    </table>
  </section>
  <section>
    <h1>heading</h1>
    <table>
      <tr>
        <th>
          column heading
        </th>
      </tr>
    </table>
  </section>
</main>

Um die Sektionen nebeneinander zu stellen, machst du aus ˋmainˋ einen flex-container. Das macht die Kinder, im Beispiel also die Sektionen, automatisch zu flex-items.

Damit die sich den Platz untereinander aufteilen und die gesamte seitenbreite ausfüllen, gibst du für die Kinder ein ˋflex: autoˋ mit.

Dein css sieht dann so aus:

main {
  display: flex;
}
main > * {
  flex: auto;
}

Das funktioniert erst mal, lies dir aber auf jeden Fall die Theorie durch. Wenn man für andere Webseiten erstellt, sollte man wissen, was man tut. Auch wenn man dafür nicht bezahlt wird!

Marc

0 70

td fixe %Breite, Scrollbalken nur wenn nötig

mathefritz
  • css
  • html
  • sonstiges
  1. 0
    Gunnar Bittersmann
    • html
    1. 0
      mathefritz
      1. 2
        Julius
        • html
        • meinung
        1. 0
          mathefritz
          1. 0
            JürgenB
            • css
            • html
            1. 0
              mathefritz
  2. 0
    Rolf B
    1. 0
      mathefritz
    2. 0
      Matthias Apsel
      • css
      1. 0
        Matthias Apsel
    3. 0
      Gunnar Bittersmann
      • css
      1. 0
        Matthias Apsel
      2. 0
        Rolf B
  3. 0
    marctrix
    1. 0
      mathefritz
      1. 0
        marctrix
        1. 0
          Gunnar Bittersmann
          • html
          1. 0
            marctrix
            1. 0
              Gunnar Bittersmann
              1. 0
                marctrix
                1. 0
                  Gunnar Bittersmann
                  • bug
                  • html
                  • selfhtml
                  1. 0
                    marctrix
                    1. 0
                      Gunnar Bittersmann
                      1. 1
                        marctrix
                        1. 0
                          Gunnar Bittersmann
                          1. 0
                            marctrix
                            1. 1
                              marctrix
                              1. 0
                                marctrix
                            2. 0
                              Gunnar Bittersmann
                              1. 2
                                marctrix
                            3. 0
                              Gunnar Bittersmann
                              1. 0
                                marctrix
                                1. 0
                                  Gunnar Bittersmann
                                  1. 0
                                    marctrix
        2. 0
          mathefritz
          1. 0
            Matthias Apsel
            1. 0
              Rolf B
              1. 0
                Matthias Apsel
            2. 0
              Gunnar Bittersmann
          2. 0
            mathefritz
            1. 0
              marctrix
              1. 0
                mathefritz
                1. 0
                  marctrix
        3. 0
          mathefritz
          1. 1
            marctrix
            1. 0
              Rolf B
              1. 0
                marctrix
                1. 0
                  Gunnar Bittersmann
                  1. 0
                    marctrix
                    1. 0
                      Gunnar Bittersmann
                      1. 0
                        marctrix
                        1. 0
                          Gunnar Bittersmann
                          1. 0
                            marctrix
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                Rolf B
                                1. 0
                                  marctrix
                                2. 0
                                  Christian Kruse
                                  1. 0
                                    marctrix
                                    1. 1
                                      Christian Kruse
                                      1. 0
                                        marctrix
                              2. 0
                                marctrix
                                1. 0
                                  Gunnar Bittersmann
                                  1. 0
                                    marctrix
                                    1. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        marctrix
            2. 0
              mathefritz
              1. 0
                marctrix
      2. 1
        Gunnar Bittersmann
        • css
        • html
        1. 0
          marctrix