Mindestbreite bei Zellen

Hallo zusammen,

ich benötige eine Tabelle, die eine Mindestbreite von 200px pro Zelle hat. Nur dann wenn der Platz in der Zelle nicht mehr genügt, darf diese größer sein.

Mit table-layout:auto besteht zwar die Möglichkeit die Breite automatisch anpassen zu lassen und mit width=„200px“ die Möglichkei die Breite fest anzugeben, aber wie kann ich beides wie o.g. kombinieren?

Oder gibt es eine ganz andere Möglichkeit?

Hier die Angaben für die Tabelle.

.tabelleklein {
 margin-bottom:50px;
 border-collapse:collapse;
 float:left;
 border:1px;
 font-size:18px;
 table-layout:auto;
}

Moin,

auto und width lassen sich nicht kombinieren, sie dienen ja schließlich gegensätzlichen Zwecken.

Was Du suchst, ist min-width.

Was ist das für eine Tabelle, die eine bestimmte Pixelzahl benötigt? Die Tabelle passt sich doch an die tabellarischen Daten an, breitere Zellen wären doch Platzverschwendung? Keine Layouttabellen, oder?

Liebe Grüße,
-Efchen

Danke!
Super! Genau das war’s!

Die Tabelle soll Vertragsdaten darstellen. Die erste Spalte beinhaltet die Bezeichnungen und die folgenden vier Spalten sind die zugehörigen Daten. Dann beginnt die Tabelle von vorne.

Die erste Spalte ist eine Tabelle und die vier folgenden eine zweite. Damit Spalten zumindest weitestgehend gleich sind wollte ich schon eine Breite vorgeben können. Sollte aber diese nicht langen soll die Zelle Breiter sein, damit die Zelle nicht höher wird, wodurch sich Verschiebungen in der Tabelle ergeben haben.

Gruß

Moin,

Die Tabelle soll Vertragsdaten darstellen.

Dann sinds wohl auch tabellarische Daten, aber…

Die erste Spalte ist eine Tabelle und die vier folgenden eine
zweite.

Dann besteht aber keine Beziehung mehr zwischen der ersten und den anderen Spalten. Wofür brauchst Du da eine zweite Tabelle?

Damit Spalten zumindest weitestgehend gleich sind
wollte ich schon eine Breite vorgeben können.

Hmmm…okay, da war mein Einwand durchaus nicht berechtigt. Auch wenn ich trotzdem die Gefahr sehe, dass bei kleinen Viewports man u.U. das Scrollen anfangen muss, obwohl das gar nicht unbedingt nötig wäre. Aber vielleicht ist Deine Seite ja auch nur für Dich und nicht in einer klassischen, öffentlichen Website. Dann zieht auch das Argument nicht mehr :smile:

Aber das mit den zwei Tabellen für zusammengehörige Daten irritiert mich doch etwas…

Liebe Grüße,
-Efchen

Hallo,

also die zwei Tabellen haben den Sinn, dass die erste Tabelle nur eine Spalte hat, in der die Bezeichnungen für die Daten enthalten sind. Die zweite Tabelle beinhaltet die eigentlichen Daten.

Die Bezeichnungen und Daten werden Spaltenweise von oben nach unten aufgeführt.

Die Bezeichungen habe ich in einem Array eingespeißt die Daten sind in einer Datenbank hinterlegt und werden per SQL abgefragt.

Da in HTML die Zellen immer von links oben nach rechts unten laufen, was dem o.g. Aufbau widerspricht, habe ich mich für den Weg über zwei Tabellen entschieden.

Gruß

Da in HTML die Zellen immer von links oben nach rechts unten
laufen, was dem o.g. Aufbau widerspricht, habe ich mich für
den Weg über zwei Tabellen entschieden.

Das hab ich nicht verstanden. Ich würds ja gerne mal sehen, weil ich nach wie vor nicht glaube, dass man zwei Tabellen benötigt und das mE sogar eher semantische Probleme aufwirft.
Aber ich könnte es auch verstehen, wenn Du sagst, dass das nicht mein Problem sein muss, weil die eigentliche Frage ja beantwortet ist.

Hallo nochmal,

wenn ich eine Tabelle unter HTML erstelle verlaufen die Zellen von links oben nach rechts unten. Habe ich also fünf Spalten nebeneinander so beginnt die Aufzählung der Daten in der linken oberen Ecke, verläuft nach rechts bis zum Ende und beginnt dann erneut links in der zweiten Zeile usw.

Ich wollte aber eine Tabelle, bei der die Daten von oben nach unten verlaufen. Dort beginnt die Aufzählung links oben und verläuft dann nach unten bis zum Ende und beginnt dann in der zweiten Spalte usw.

Und die Daten liegen in einer Datenbank. Die Bezeichnungen werden in einem Array gespeichert, was über eine Schleife ausgelesen wird, und in der ersten Spalte hinterlegt.

Ich wüsste nicht, wie ich das mit einer Tabelle hinbekommen würde.

Leider liegt die Tabelle in einem geschlossenen Bereich.

Moin,

ich kann Dir ja mal meinen Gedankengang dazu offen legen.

wenn ich eine Tabelle unter HTML erstelle verlaufen die Zellen
von links oben nach rechts unten.

„links“, „oben“ sind erstmal Dinge, die mit HTML nichts zu tun haben. HTML ist nur für die logische Inhaltsauszeichnung.

Habe ich also fünf Spalten
nebeneinander so beginnt die Aufzählung der Daten in der
linken oberen Ecke, verläuft nach rechts bis zum Ende und
beginnt dann erneut links in der zweiten Zeile usw.

Ja, weil man so Tabellen liest. Dazu gibt es aber auch eindeutige Überschriften, die sowohl für eine Zeile, aber auch für eine Spalte gelten können.

Ich wollte aber eine Tabelle, bei der die Daten von oben nach
unten verlaufen.

Spricht was dagegen, in der Spalte 1, Zeile 1 eine Überschrift „XYZ“ zu machen und in Spalte 1, Zeile 2ff die Daten rein zu schreiben?

Dort beginnt die Aufzählung links oben und
verläuft dann nach unten bis zum Ende und beginnt dann in der
zweiten Spalte usw.

Das ist doch bisher nur eine Frage, in welche Zelle Du welche Daten schreibst.

Und die Daten liegen in einer Datenbank.

Das ist für die Auszeichnung in HTML irrelevant. HTML kennt keine Datenbanken.

Die Bezeichnungen
werden in einem Array gespeichert, was über eine Schleife
ausgelesen wird, und in der ersten Spalte hinterlegt.

HTML kennt auch keine Arrays und keine Schleifen. Wenn Du mit Deiner serverseitigen Aufbereitung der Daten nicht das hinbekommst, was Du abbilden willst, dann stimmt was nicht mit Deiner Aufbereitung.

Ich wüsste nicht, wie ich das mit einer Tabelle hinbekommen
würde.

Eine Tabelle hat immer Zeilen und Spalten. Will man die Daten zu einer Überschrift zeilenweise haben, dann setzt man die Überschriften in Spalte 1 und die Daten in die nachfolgenden Spalten, Zeile jeweils identisch.
Wenn man die Daten spaltenweise haben, dann sind die Überschriften in Zeile 1 statt in Spalte 1.

Das einzige, was hier hinderlich sein kann ist, dass eine Tabelle im Vorlesebrowser zeilenweise von links nach rechts vorgelesen wird. Aber wenn ich Tabellen verschachtele, ist das meist auch nicht das, was man will; diese verschachtelten Tabellen werden genauso zeilenweise von links nach rechts vorgelesen, enthält eine Zelle eine Tabelle, wird erstmal diese Tabelle komplett gelesen. Bei zu vielen verschachtelten Tabellen wird keiner mehr verstehen, worum es eigentlich geht.
Vorlesebrowser haben aber wohl auch die Option, die Überschrift bei jeder Zelle mit vorzulesen. Ob es aber evtl. eine Möglichkeit gibt, Zellen erst spaltenweise und da von oben nach unten oder ganz anders vorzulesen und wie man das in HTML steuern könnte, das weiß ich zugegebenermaßen auch nicht.

Leider liegt die Tabelle in einem geschlossenen Bereich.

Ein Screenshot oder ausnahmsweise der Quellcode hätten es ja evtl. auch getan, wenn es keine geheimen Daten sind. Ich will nicht anspruchsvoll sein, schließlich habe ich momentan das Problem, aber dass die augenblickliche Seite in einem geschlossenen Bereich liegt, ist nie ein Grund dafür, dass man nicht auch eine Testseite oder eine veränderte Seite irgendwo zugänglich machen kann.

Liebe Grüße,
-Efchen

Hallo,

Spricht was dagegen, in der Spalte 1, Zeile 1 eine Überschrift
„XYZ“ zu machen und in Spalte 1, Zeile 2ff die Daten rein zu
schreiben?

Ja.

HTML kennt auch keine Arrays und keine Schleifen. Wenn Du mit
Deiner serverseitigen Aufbereitung der Daten nicht das
hinbekommst, was Du abbilden willst, dann stimmt was nicht mit
Deiner Aufbereitung.

Das könnte auch bei mir der Fall sein. Versteh mich bitte nicht falsch, aber ich bin mit der Seite schon soweit durch gewesen. Es fehlte eben nur noch eine Lösung für die Spaltenbreite. Deshalb möchte ich an der Seite keine großen Änderungen vorerst vornehmen.

Hoffe du verstehst das.

Danke dir für deine Hilfe!

Gruß

Spricht was dagegen

Ja.

Aha.

Es fehlte eben nur noch eine Lösung für die
Spaltenbreite. Deshalb möchte ich an der Seite keine großen
Änderungen vorerst vornehmen.

Hoffe du verstehst das.

Ich kann und werde Dir das nicht ausreden.
Aber verstehen kann ich es nicht, nicht nur, weil ich die Problematik immer noch nicht verstanden habe.
Aber ich verstehe, dass Du das jetzt hier abschließen willst :smile:

Danke dir für deine Hilfe!

Gerne.

Liebe Grüße,
-Efchen

Hallo!

Aber verstehen kann ich es nicht, nicht nur, weil ich die
Problematik immer noch nicht verstanden habe.
Aber ich verstehe, dass Du das jetzt hier abschließen willst

Danke für dein Verständnis. Da fällt mir noch ein, warum du vielleicht die Problematik nicht verstehst … weil du um längen besser bist als ich und was für mich ein Problem darstellt für dich Standard ist.

Könnte zumindest sein :smile: