Das Rätsel um CSS „display: table-column“ lösen
Die Erforschung von HTML- und CSS-Eigenschaften führt oft zu interessanten Fragen. Eine solche Abfrage entsteht bei der Implementierung eines tabellenbasierten CSS-Layouts mithilfe der rätselhaften „display:table-column“-Deklaration. Trotz ihrer Anziehungskraft hat diese Eigenschaft einen eher spezifischen Zweck, der bei unsachgemäßem Verständnis zu rätselhaften Ergebnissen führen kann.
Hintergrund: Das CSS-Tabellenmodell
Die CSS-Tabelle Das Modell ist ein komplexes System, das sich stark an das HTML-Tabellenmodell orientiert. In diesem Modell besteht eine Tabelle aus Zeilen und Spalten, wobei Zellen jeden Schnittpunkt einer Zeile und einer Spalte belegen. Während Zellen direkte Nachkommen von Zeilen sind, haben sie keine direkte Beziehung zu Spalten.
Zweck von „Anzeige: Tabellenspalte“
Entgegen der landläufigen Meinung ist die „ Die Eigenschaft „display: table-column“ bietet keine Möglichkeit, Spaltenlayouts zu erstellen. Sein einziger Zweck besteht darin, Attribute zu definieren, die speziell für Zellen innerhalb der Tabellenzeilen gelten. Mit anderen Worten: Es ermöglicht uns, Eigenschaften wie Hintergrundfarbe oder Schriftgröße für bestimmte Zellen basierend auf ihrer Position innerhalb der Zeile festzulegen.
Es ist jedoch wichtig zu beachten, dass die Tabellenstruktur die gleiche bleibt wie bei der herkömmlichen HTML. Spalten enthalten keinen direkten Inhalt; Stattdessen existieren sie ausschließlich als logische Konstrukte, die das Layout von Zellen innerhalb von Zeilen beeinflussen.
Anschauliches Beispiel
Bedenken Sie den folgenden HTML- und CSS-Code:
<code class="html"><section> <div id="colLeft"> <div id="row1"> <div id="cell1">AAA</div> </div> <div id="row2"> <div id="cell2">BBB</div> </div> </div> <div id="colRight"> <div id="row3"> <div id="cell3">CCC</div> </div> </div> </section></code>
<code class="css">section { display: table; height: 100%; background-color: grey; } #colLeft, #colRight { display: table-column; height: 100%; } #row1, #row2, #row3 { display: table-row; height: 100%; } #cell1, #cell2, #cell3 { display: table-cell; height: 100%; }</code>
In diesem Beispiel wird die Deklaration „display: table-column“ auf die Elemente „colLeft“ und „colRight“ angewendet. Diese Elemente enthalten keinen Inhalt; Ihr einziger Zweck besteht darin, das Layout der Zellen innerhalb ihrer jeweiligen Zeilen zu definieren.
Obwohl diese Spaltendefinitionen vorhanden sind, stellen Sie möglicherweise fest, dass im Browser nichts angezeigt wird. Dies liegt daran, dass Spalten, wie bereits erwähnt, keinen direkten Inhalt enthalten. Inhalte müssen in Tabellenzellen platziert werden, die untergeordnete Elemente von Tabellenzeilen sind.
Um dies zu beheben, müssen wir unsere HTML-Struktur ändern, um Inhalte in Tabellenzellen zu platzieren:
<code class="html"><section> <div id="colLeft"> <div id="row1"> <div id="cell1">AAA</div> </div> <div id="row2"> <div id="cell2">BBB</div> </div> </div> <div id="colRight"> <div id="row3"> <div id="cell3">CCC</div> </div> </div> </section></code>
Damit Durch die Änderung wird der Inhalt wie erwartet angezeigt, was die ordnungsgemäße Verwendung von „display: table-column“ demonstriert.
Das obige ist der detaillierte Inhalt vonWas ist der wahre Zweck von „display: table-column' in CSS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!