誰かがそのような問題を説明できますか?
Mozilla Developer Network では、display: table-column
CSSルールは次のように記述されています。これらの要素は、対応する<col>
HTML要素のように動作します。
古いバージョンのIEではサポートされていないため、これまでCSSテーブルを広く使用したことはありませんでしたが、今日では、最新のブラウザーでもCSSテーブルをHTMLテーブルの実際の代替と見なすことはできません。
<style>
.css_table {
display: table;
border: 1px solid black;
padding: 10px;
}
.col {
display: table-column;
width: 20px;
}
.table_row {
display: table-row;
}
input {
width: 100%;
display: table-cell;
}
table {
border: 1px solid black;
padding: 10px;
}
col {
width: 20px;
}
</style>
<div class="css_table">
<div class="col"></div>
<div class="col"></div>
<div class="col"></div>
<div class="table_row">
<input>
<input>
<input>
</div>
<div class="table_row">
<input>
<input style="width:50px;">
<input>
</div>
<div class="table_row">
<input>
<input>
<input>
</div>
</div>
<table>
<col>
<col>
<col>
<tr>
<td><input></td>
<td><input></td>
<td><input></td>
</tr>
<tr>
<td><input></td>
<td><input style="width:50px;"></td>
<td><input></td>
</tr>
<tr>
<td><input></td>
<td><input></td>
<td><input></td>
</tr>
</table>
これがフィドルです。ご覧のとおり、私の意図は「マトリックス」3x3を作成することであり、一部の要素がセルの幅を超えた場合に列が自動的に幅を調整するようにテーブルを使用したいと思います。
ただし、CSSアプローチの場合、table-column
プロパティは期待どおりに機能しません。3つのセルが連続しているにもかかわらず、すべてのセルが最初の列に配置されます。
だから問題は、私が何か間違ったことをしたのか、それともCSSルールの実装にバグがあるのかということです。CSSの「列」が実際のHTML<col>
のように動作しないことは明らかです。
ありがとう。