In meiner Tabelle habe ich die Breite der ersten Zelle in einer Spalte auf 100px
eingestellt;
Wenn jedoch der Text in einer der Zellen in dieser Spalte zu lang ist, wird die Breite der Spalte größer als 100px
. Wie kann ich diese Erweiterung deaktivieren?
Ich habe eine Weile damit gespielt, weil ich Schwierigkeiten hatte, es herauszufinden.
Sie müssen die Zellenbreite einstellen (entweder th
oder td
funktioniert, ich habe beides eingestellt) UND das table-layout
auf fixed
setzen. Aus irgendeinem Grund scheint die Zellenbreite nur fest zu bleiben, wenn auch die Tabellenbreite eingestellt ist (ich denke, das ist dumm, aber was soll's).
Außerdem ist es nützlich, die Eigenschaft "overflow" auf "hidden" zu setzen, um zu verhindern, dass zusätzlicher Text aus der Tabelle herauskommt.
Sie sollten auch sicherstellen, dass Sie alle Umrandungen und Größenangaben für CSS belassen.
Ok, so sieht es bei mir aus:
table {
border: 1px solid black;
table-layout: fixed;
width: 200px;
}
th,
td {
border: 1px solid black;
width: 100px;
overflow: hidden;
}
<table>
<tr>
<th>header 1</th>
<th>header 234567895678657</th>
</tr>
<tr>
<td>data asdfasdfasdfasdfasdf</td>
<td>data 2</td>
</tr>
</table>
[Hier ist es in JSFiddle][1]
Dieser Typ hatte ein ähnliches Problem: https://stackoverflow.com/q/446624/534056
Sie müssen dies in das entsprechende CSS schreiben
table-layout:fixed;