Die Berechnungsmethode für die Tabellenzellenbreite ist hauptsächlich in zwei Methoden unterteilt : Festes Tabellenlayout und automatisches Tabellenlayout, Leute, die oft CSS schreiben, sollten das noch wissen, aber wir stellen oft fest, dass das Festlegen der Breite der Tabellenspalte nicht funktioniert oder sie ohne feste Breite gerendert wird. Ist das normal? Lassen Sie uns vorstellen, wie diese beiden Methoden das Rendering berechnen.
Legen Sie zunächst einige gemeinsame Variablen fest:
TabelleBreite=Tabellenbreite=100 %
tableBorderWidth=Die linke und rechte Randbreite der Tabelle
tdBorderWidth=Die Summe der linken und rechten Randbreiten aller Spalten (die kombinierten Ränder zählen als 1 Pixel)
tdPadding=Der linke und rechte Abstand aller Spalten und
tdWidth=Die Breite aller Spalten mit definierter Breite und
tdLLänge=Anzahl der Spalten
ps: Bei einem festen Tabellenlayout hat die Breite der Tabellenspalten nichts mit dem Spalteninhalt zu tun, sondern hängt nur mit der Tabellenbreite zusammen. Spaltenbreite, linker und rechter Tabellenrand, linker und rechter Spaltenrand und linker und rechter Spaltenabstand
Durch die Verwendung eines festen Tabellenlayouts kann der Benutzeragent die Tabelle nach Erhalt der ersten Zeile anzeigen, d. h. nur die Die Breite der ersten Zeile funktioniert
Die Breite der Spalte mit width auto (d. h. wenn die Breite nicht definiert ist). Die Breite der Spalte, wenn das Berechnungsergebnis negativ ist, ist sie 0) = (tableWidth-tableBorderWidth -tdBorderWidth-tdPadding-tdWidth)/tdLength
Die Breite jeder Spalte ist gleichmäßig über die Tabellenbreite verteilt
th1 | th2 | th3 | th4 | th5 | th6 | th7 | th8 | th9 | th10 |
---|---|---|---|---|---|---|---|---|---|
row1row1row1row1row1row1row1row1 | row2row2row2row2row2row2row2row2 | row3 | row4row4row4row4row4row4row4row4 | row5row5row5row5row5row5row5row5 | row6 | row7row7row7row7row7row7row7row7 | row8row8row8row8row8row8row8row8 | row9row9row9row9row9row9row9row9 | row10row10row10row10row10row10row10 |
Die Breite jeder Spalte ist gleichmäßig verteilt durch die Gesamtbreite; die Breite der Tabelle ist ihre definierte Breite
th1 | th2 | th3 | th4 | th5 | th6 | th7 | th8 | th9 | th10 |
---|---|---|---|---|---|---|---|---|---|
row1row1row1row1row1row1row1row1 | row2row2row2row2row2row2row2row2 | row3 | row4row4row4row4row4row4row4row4 | row5row5row5row5row5row5row5row5 | row6 | row7row7row7row7row7row7row7row7 | row8row8row8row8row8row8row8row8 | row9row9row9row9row9row9row9row9 | row10row10row10row10row10row10row10 |
Die Breite jedes einzelnen Spalte ist selbstdefinierte Breite; die Breite der Tabelle ist die Summe der Breiten aller Spalten (die die durch die Tabelle definierte Breite überschreiten)
th1 | th2 | th3 | th4 | th5 | th6 | th7 | th8 | th9 | th10 |
---|---|---|---|---|---|---|---|---|---|
row1row1row1row1row1row1row1row1 | row2row2row2row2row2row2row2row2 | row3 | row4row4row4row4row4row4row4row4 | row5row5row5row5row5row5row5row5 | row6 | row7row7row7row7row7row7row7row7 | row8row8row8row8row8row8row8row8 | row9row9row9row9row9row9row9row9 | row10row10row10row10row10row10row10 |
ps: Die Spalten mit dunkelgrauem Hintergrund sind Spalten mit definierter Breite
Spalten mit definierter Breite Die Breite ist die durch sich selbst definierte Breite. Die Breite anderer Spalten ohne definierte Breite ist die Gesamtbreite der Tabelle minus die Summe der definierten Breiten und dann gleichmäßig verteilt
th1 | th2 | th3 | th4 | th5 | th6 | th7 | th8 | th9 | th10 |
---|---|---|---|---|---|---|---|---|---|
row1row1row1row1row1row1row1row1 | row2row2row2row2row2row2row2row2 | row3 | row4row4row4row4row4row4row4row4 | row5row5row5row5row5row5row5row5 | row6 | row7row7row7row7row7row7row7row7 | row8row8row8row8row8row8row8row8 | row9row9row9row9row9row9row9row9 | row10row10row10row10row10row10row10 |
ps: Die Spalten mit dunkelgrauem Hintergrund haben definierte Breiten
Die tatsächliche Breite einer Spalte mit Eine definierte Breite ist ihre eigene definierte Breite. Die Breite anderer Spalten ohne definierte Breite ist die Gesamtbreite der Tabelle abzüglich der Summe der definierten Breiten und dann gleichmäßig verteilt. Die Breite nach der Durchschnittsverteilung ist kleiner als Null 🎜>AndereSpalten ohne definierte Breite haben eine Breite von 0
Die Breite jeder Spalte wird durch die Breite der Zelle ohne bestimmt Die Breite des Inhalts ist manchmal sehr langsam, da alle Spalten in der Tabelle überprüft werden müssen.
th1 | th2 | th3 | th4 | th5 | th6 | th7 | th8 | th9 | th10 |
---|---|---|---|---|---|---|---|---|---|
row1row1row1row1row1row1row1row1 | row2row2row2row2row2row2row2row2 | row3 | row4row4row4row4row4row4row4row4 | row5row5row5row5row5row5row5row5 | row6 | row7row7row7row7row7row7row7row7 | row8row8row8row8row8row8row8row8 | row9row9row9row9row9row9row9row9 | row10row10row10row10row10row10row10 |
th1 | th2 | th3 | th4 | th5 | th6 | th7 | th8 | th9 | th10 |
---|---|---|---|---|---|---|---|---|---|
row1 | row2row2row2row2row2row2row2row2 | row3 | row4 | row5 | row6 | row7 | row8 | row9 | row10 |
th1 | th2 | th3 | th4 | th5 | th6 | th7 | th8 | th9 | th10 |
---|---|---|---|---|---|---|---|---|---|
row1 | row2row2row2row2row2row2row2row2 | row3 | row4row4row4row4row4row4row4row4 | row5 | row6row6row6row6row6row6row6row6 | row7 | row6row6row6row6row6row6row6row6 | row9 | row10row10row10row10row10row10row10 |
ps: Die dunkelgrau hinterlegten Spalten definieren die Mindestbreite der Spalte
Alle Die Spaltenbreite wird erstens anhand des Inhalts berechnet und zweitens darf sie nicht kleiner als die definierte Mindestbreite sein
th1 | th2 | th3 | th4 | th5 | th6 | th7 | th8 | th9 | th10 |
---|---|---|---|---|---|---|---|---|---|
row1 | row2row2row2row2row2row2row2row2 | row3 | row4row4row4row4row4row4row4row4 | row5 | row6row6row6row6row6row6row6row6 | row7 | row6row6row6row6row6row6row6row6 | row9 | row10row10row10row10row10row10row10 |
Das obige ist der detaillierte Inhalt vonEine ausführliche Einführung in die Berechnungsregeln für die Tabellenzellenbreite in HTML. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!