現代のWeb開発では、このパターンに頻繁に出くわします。次のようになります。
<div class="table">
<div class="row">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
</div>
CSSには次のようなものがあります。
.table { display: table; }
.row { display: table-row; }
.cell { display: table-cell; }
*(クラス名は例示のみです。実際には、これらは要素の内容を反映した通常のクラス名です)
私も最近自分でこれを試してみました。なぜなら、みんながそれをやっているからです。
しかし、まだわかりません。なぜこれを行うのですか?テーブルが必要な場合は、ブラスト<table>
を作成して完了です。はい、レイアウト用であっても。それがテーブルの目的です-ものを表形式でレイアウトします。
私が持っている最も良い説明は、今では誰もが「レイアウトにテーブルを使用しない」というマントラを聞いているので、彼らは盲目的にそれに従うということです。しかし、彼らはまだレイアウト用のテーブルを必要とします(他にテーブルの拡張機能がないため)、彼らは<div>
(テーブルではないので!)作成し、とにかくそれをテーブルにするCSSを追加します。
すべての世界にとって、これはあなたのやり方で任意の不必要な障害物を置き、それらを回避するために余分な仕事をするようなものです。
レイアウトのためにテーブルから移動するための元の引数は、後で表形式のレイアウトを変更するのは難しいということでした。しかし、「フェイクテーブル」レイアウトの変更も同じ理由で同じくらい難しいです。実際、実際にはレイアウトの変更は常に困難であり、マイナーな調整よりも深刻なことをしたい場合は、CSSを変更するだけでは十分ではありません。あなたはします深刻な設計変更のためのHTMLの構造を理解し、変更する必要があります。そして、テーブルはdivよりも仕事を難しくしたり簡単にしたりしません。
実際、テーブルを使用してレイアウトを変更するのが困難になる可能性があると私が思う唯一の方法は、abを使用して、邪悪な混乱を作成した場合です。divでも同様です。
だから...これを暴言から首尾一貫した質問に変える試みで:私は何が欠けていますか?実際のテーブルよりも「偽物のテーブル」を使用する実際の利点は何ですか?
重複リンクについて:これは、別のタグなどを使用するための提案ではありません。これは<table>
vsの使用に関する質問display:table
です。
table-layout:fixed
表示する前に完全にロードする必要があります。現代のブロードバンドでは、この効果はあまり目立ちません。