4

<div>誰かがcss/html学習者に、単純にHTMLテーブルタグを使用するのではなく、display:tableを使用して一般的なhtml要素(例)のスタイルを設定する理由を説明できますか?特にテーブルデータを表示する目的で実装されているので後者が選択のように思えますが、前者は正当な理由がなければ実現しなかったと思います。私はまともな説明に出くわすことができませんでした。私の通常はかなり信頼できる友人であるGoogleは、これについて私に多くの助けを提供することができませんでした。

前もって感謝します!ニール

4

3 に答える 3

2

display:table、、display:table-rowおよびは、それぞれ、およびのdisplay:table-cellデフォルトdisplayプロパティとして使用するために追加されました。<table><tr><td>

デフォルト以外では、通常、テキストを垂直方向に中央揃えしたり、疑似要素のクリアフィックスなどのハッキングに使用されます。これらのハックのいずれかが必要でない限り、基本的には実行しないでください。特に、テーブルを実装する場合は、意味的に正しくないため、アクセシビリティの問題が発生するため、実行しないでください。

display:tableを使用した警告は、一部のスクリーンリーダーでセマンティック効果があります。これにより、支援技術を使用するユーザーにとって複数の意味を持つサイトのセクションが作成される可能性があります。

于 2013-03-23T03:41:22.830 に答える
0

HTMLテーブルを使用せず、代わりにCSSテーブルを作成する理由はたくさんあります。ただし、最初に、サイトの統計情報と、サポートする必要のあるブラウザーを確認してください。display:tableをサポートしていない古いブラウザを使用する訪問者をサポートする必要がある場合があります-例:IE7 http://caniuse.com/#search=display%3Atable

CSSテーブルを使用する理由の1つは、フォーマットをコンテンツから分離することです。後日、データを別の構造に操作したい場合は、CSSを微調整するだけでなく、すべてのテーブルコードを置き換える必要があります。

もう1つの理由は、表形式のデータをレスポンシブにすることです。HTMLテーブルの場合よりも、divの場合の方が、データをより細かく制御できます。コンテンツをリストとして再ラップするか、コンテンツを非表示、表示、スクロール、切り捨て...適切と思われるように選択できます。これの一部はHTMLテーブルでも可能ですが、すべてが可能というわけではありません。

于 2013-03-23T03:46:31.587 に答える
0

次のようないくつかの理由があります。

  1. 表形式のレイアウトを使用して XML ドキュメントのスタイルを設定できるようにする。CSS は HTML だけのものではありません。
  2. HTML 要素のデフォルトのレンダリングをtableCSS 用語で文書化する。
  3. div要素などを使用してマークアップされたデータに対して (単純な) テーブル レイアウトを使用できるようにする。
于 2013-03-23T06:44:28.323 に答える