私は時々、人々がフォームをフォーマットするためにもうテーブルを使用しないと聞いていますが、これは残っている傾向になり始めていますか?なぜ、そしてなぜですか?テーブルを使用してフォームを作成するのは愚かな/古いと見なされますか?
答えて
意味的に言えば、テーブルには表形式のデータが含まれている必要があります。この意味で、テーブルタグの使用には何も問題ありません。
どこが間違っているのは、レイアウトのためにテーブルを使用し始めたことです。レイアウトは簡単です。ページレイアウトは表形式のデータではないため、意味的に表のタグ内に配置すべきではありません。
あなたはそれを行うことができますし、それは動作しますが、あなたはまたカスタード風邪を食べることができ、それは動作します。アイデアはそれを実行するよりも適切に行うことに関するものです。理想的な世界では
、あなたは<fieldset>
秒、<label>
sおよびその他のフォーム関連のタグを使用して、フォームを生成することができます。
<label for="usernameID">Username:</label> <input type="text" name="username" id="usernameID" />
ラベルと入力のスタイルを設定することができます。これにより、HTMLに羽毛がなくなります。
実際には、<div>
と<span>
にラッピングすることになるでしょうが、それを賢明に保ち、それらの上を通過しないようにしてください。 「実際にこのフォームに非形式のタグがたくさんある」と思うなら、おそらくもっと良い方法があります(あなたのやり方はうまくいくかもしれませんが)。
以外の表を使用すると、表形式のデータは一般的に不適切です。これは主に、表が通常はスプレッドシートに入れられない意味に意味を持たないためです。
テーブルを使用してフォームを書式設定するのは簡単です(特に使い慣れている場合)。ただし、データをよりよく記述するその他のものを使用する方がよいでしょう。
いくつかの理由:
マークアップは、セマンティックにする必要があります。つまり、マークアップ内の要素は、コンテンツについて意味のあるものを示す必要があります。段落は
<p>
タグ、<h1>
〜<h6>
などの見出しになるはずです。対照的に、<td>
タグは意味がありません。たとえば、<label>
です。一方、要素の周期表の表現を作成する場合は、<td>
タグが非常に適しています。HTML5はこの傾向をさらに強めています。マークアップとコンテンツの間の接続をさらに緊密にするために、
<nav>
と<section>
のような新しい要素も追加されました。表は、スタイルと維持に苦労します。
<input>
が<label>
の内部にあり、内部にの<tr>
の内部に<table>
の<tbody>
が入っていれば、それはネストされた要素の全体です - そしてそれに対処したいですか?ネストを最小限に抑えれば、CSSの複雑さが軽減され、マークアップが読みやすくなります。
- 1. フォームを作成するスマートな方法で、フォームごとに別のテーブルを作成していますか?
- 2. あなたはこれをクラスファイルの愚かな使用と考えますか?
- 3. iOS - 愚かなif文を作成していますか?私はプロットを失っていると思う。
- 4. なぜrails3は巨大なロードパスを作成することについて愚かなのですか?
- 5. CSSを使用してCSSフォームを作成するCSSを使用していないテーブルの上にテキストボックス
- 6. は、不良フォームと見なされるプロシージャ間で一時テーブルを共有していますか?
- 7. jqueryを使用してphpmyadminで使用されるような動的なhtmlテーブルを作成するには?
- 8. ドルオペレータ($)は悪いフォームと見なされますか?どうして?
- 9. DIVとテーブルまたはCSSとの比較愚かなもの
- 10. Delphi 7は古い古くなったフォームを使い続けています
- 11. を使用すると、他のテーブルと関係のないテーブルを作成できますか?リレーショナルデータベースで
- 12. joinColumnsを使用してテーブルを作成しますか?
- 13. 表が作成されますが、私は「SchoolRecords」と呼ばれるデータベースを持っていると私は、次のコードを使用してテーブルを作成し
- 14. なぜ、Hibernateはジョイン・テーブルとジョイン・カラムを作成していますか?
- 15. phpmyadminを使用してmysqlプロシージャが作成されない/動作しない
- 16. MSBuildを使用するとプライベートアクセサが作成されない
- 17. arコマンドを使用するとライブラリが作成されない
- 18. Visual Studioアドインを使用して「見えない」プロジェクトを作成することは可能ですか?
- 19. 古いJSESSIONIDを使用してHttpSessionを作成するにはどうすればよいですか?
- 20. 再帰は一般的に、スタックを使用する場合と比較して、古い方法のトラバースと見なされますか?
- 21. Djangoフォームを使用してインラインフォームセットを作成すると、この奇妙なエラーが発生します。私は間違って何をしていますか?
- 22. ストアドプロシージャ/関数を使用してデータベース、テーブル、プロシージャを作成していますか?
- 23. モデルフォームからGeneric_inlineformset_factoryを使用してフォームを作成する
- 24. 愚かなようで、に私をリードしている、私はしばらくの間、iReportは(古いバージョン3.0.0)でプレーしてきたと私は静的なテーブルを作成する方法を見つけるように見えることはできませんiReportは
- 25. rsync - 見つからないすべての親ディレクトリを作成しますか?
- 26. yasm/nasmが見つからないか、古すぎます。不自由なビルドに--disable-yasmを使用する
- 27. khanaを使用してphpmyadminによって生成されたSQLダンプからテーブルを作成します。
- 28. Google Docsフォームを使用して限定登録フォームを作成することはできますか?
- 29. joomla1.6のp [hp code]を使用して登録フォームのようなフォームを作成することは可能ですか?はいの場合、コードは書込み&どのデータベースがこれに使用されていますか?
- 30. htmlを使用してテーブル内にフォームを作成
可能重複[HTMLでレイアウトにテーブルを使用しないのはなぜ?](http://stackoverflow.com/questions/83073/why-not-use-tables-for-layout-in-html) – itsmatt
@itsmatt:私はそのままの状態でいいと思う。それはどちらかの方法で使用できるので、より具体的で、良い質問です。 – Nightfirecat
Facebookの「プロフィールを編集」フォームはテーブルです... –