Grundsätzlich ist hier eine Tabelle. Ich möchte es reagieren (nicht auf Ansichtsfenster, nur auf Browser-Breite. Ich möchte keine feste Breite px), und ich möchte es scrollen.Styling HTML-Tabelle zu reagieren und vertikale Scrollen
Aber wie Sie sehen können, macht es merkwürdige Sachen im tbody Teil. Ich weiß nicht, warum es nicht die volle Breite nimmt ...
Wie repariere ich das?
Btw, die erste Spalte (Farbe) hat colspan = "2" Attribut, nur damit Sie wissen.
Ich fand einen Weg, um es zu beheben dank der css calc() -Funktion und einige grundlegende Mathematik.
table {
margin: 0% 5%;
width: 90%;
color: black;
font-family: Consolas;
border-spacing: 0;
}
table, td, th {
border: 1px solid black;
box-sizing: border-box;
}
tbody {
width: 100%;
height: 80px;
overflow-y: auto;
overflow-x: hidden;
}
td, th {
padding: 4px 0px;
display: inline-block;
}
tbody, thead, tr {
width: 100%;
display: inline-block;
}
th.special {
width: calc(29% - 0.29*17px + 17px);
}
td.A {width: 14%;}
td.B {width: 29%;}
td.C {width: 43%;}
th.A {width: calc(14% - 0.14*17px); }
th.B {width: calc(29% - 0.29*17px); }
th.C {width: calc(43% - 0.43*17px);}
td.color { background-color: #FE33E9; }
<table>
<thead>
<tr><th class="C" colspan="2">Color</th><th class="A">X</th><th class="A">Y</th><th class="special">Caption</th></tr>
</thead>
<tbody>
<tr><td class="A color">.</td><td class="B">FE33E9</td><td class="A">121</td><td class="A">433</td><td class="B">bottom</td></tr>
<tr><td class="A color">.</td><td class="B">FE33E9</td><td class="A">121</td><td class="A">433</td><td class="B">bottom</td></tr>
<tr><td class="A color">.</td><td class="B">FE33E9</td><td class="A">121</td><td class="A">433</td><td class="B">bottom</td></tr>
<tr><td class="A color">.</td><td class="B">FE33E9</td><td class="A">121</td><td class="A">433</td><td class="B">bottom</td></tr>
<tr><td class="A color">.</td><td class="B">FE33E9</td><td class="A">121</td><td class="A">433</td><td class="B">bottom</td></tr>
<tr><td class="A color">.</td><td class="B">FE33E9</td><td class="A">121</td><td class="A">433</td><td class="B">bottom</td></tr>
</tbody>
</table>
[Tabellen reagieren] (https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_table_responsive) –
Ich möchte nicht horizontal scrollen. Ich fand das hässlich. Ich hätte lieber automatische Anpassung der Spaltenbreite – Philippe
Posted aktualisiert Antwort kann es für Sie arbeiten. – LKG