私は時々、人々がフォームをフォーマットするためにもうテーブルを使用しないと聞いていますが、これは残っている傾向になり始めていますか?なぜ、そしてなぜですか?テーブルを使用してフォームを作成するのは愚かな/古いと見なされますか?
答えて
意味的に言えば、テーブルには表形式のデータが含まれている必要があります。この意味で、テーブルタグの使用には何も問題ありません。
どこが間違っているのは、レイアウトのためにテーブルを使用し始めたことです。レイアウトは簡単です。ページレイアウトは表形式のデータではないため、意味的に表のタグ内に配置すべきではありません。
あなたはそれを行うことができますし、それは動作しますが、あなたはまたカスタード風邪を食べることができ、それは動作します。アイデアはそれを実行するよりも適切に行うことに関するものです。理想的な世界では
、あなたは<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. なぜ「goto」が悪いフォームと見なされますか?
- 8. DIVとテーブルまたはCSSとの比較愚かなもの
- 9. Android Roomを使用しているときにデータベースファイルが作成されないのはなぜですか?
- 10. jqueryを使用してphpmyadminで使用されるような動的なhtmlテーブルを作成するには?
- 11. ドルオペレータ($)は悪いフォームと見なされますか?どうして?
- 12. AngularJSと安らかなAPIを使用して動的テーブルを作成する
- 13. Delphi 7は古い古くなったフォームを使い続けています
- 14. テーブル内の行データから作成された列を使用してMySQLでビューを作成しますか?
- 15. を使用すると、他のテーブルと関係のないテーブルを作成できますか?リレーショナルデータベースで
- 16. SQLiteException:テーブルが作成されていたときにそのようなテーブルが見つかりません
- 17. なぜphpmyadminでテーブルが作成されないのですか
- 18. PyDevはPythonメソッドで愚かな動作をしています。 #@UndefinedVariable
- 19. Azure-PowerShell SDK用のPythonラッパーを愚かなアイデアにしていますか?
- 20. ステートレスコンポーネントを使用して登録フォームを作成しますか?
- 21. joinColumnsを使用してテーブルを作成しますか?
- 22. nodejs Dynamodbを使用してテーブルを作成しますか?
- 23. Javascript Arraysを使用してHTMLテーブルを作成しますか?
- 24. AzureブロブがASP.Netフォームから作成されていない
- 25. Visual Studioアドインを使用して「見えない」プロジェクトを作成することは可能ですか?
- 26. なぜ、Hibernateはジョイン・テーブルとジョイン・カラムを作成していますか?
- 27. オブジェクトを作成すると古いオブジェクトが削除されますか?
- 28. Texttableを使用しないでテーブルを作成する
- 29. 古いJSESSIONIDを使用してHttpSessionを作成するにはどうすればよいですか?
- 30. 表が作成されますが、私は「SchoolRecords」と呼ばれるデータベースを持っていると私は、次のコードを使用してテーブルを作成し
可能重複[HTMLでレイアウトにテーブルを使用しないのはなぜ?](http://stackoverflow.com/questions/83073/why-not-use-tables-for-layout-in-html) – itsmatt
@itsmatt:私はそのままの状態でいいと思う。それはどちらかの方法で使用できるので、より具体的で、良い質問です。 – Nightfirecat
Facebookの「プロフィールを編集」フォームはテーブルです... –