0

ASP.NETを使用しています。これまでのところ、私は常にテーブルを使用して入力を入力し、すべてが見栄えがよくなっています。しかし、少し前に、テーブルはそのためのものではないことを読みました。だから、私は知りたいのですが、私のウェブフォームに入力フィールドを配置する適切な方法は何ですか?次の行、ラベルとコントロールは前のコントロールに揃えられています。

私が考えることができる唯一のことは、ラベル/コントロールごとに1つのdivですが、それは奇妙に感じます...

また、コントロールを<form>タグ内に配置する必要がありますか?私はそれらを使ったことがありません。

4

4 に答える 4

2

意味がある場合はテーブルを使用してください。ラベルの列と入力の列を持つフォームは完全に理にかなっています。

正直なところ、「テーブルレスレイアウト」の動き全体が何よりも流行になっていると思います。「テーブルを使用しなかった」と言う以外の理由で、さまざまなHTMLタグを使用してテーブル構造を再作成しようとする人々が数え切れないほどの時間を費やしているのを見てきました。それはばかげているだけですが、なぜ、すでに完全に正常に機能しているものをそのまま再現するのですか?

テーブルの使用に関する問題は、テーブルを使用してページのレイアウトを開始するときに発生します。例えば:

これをしないでください

<body>
    <table>
        <tr class="header"><td><!-- header content --></td></tr>
        <tr class="content"><td><!-- page content, possibly with a two column table for sidebar --></td></tr>
        <tr class="footer"><td><!-- footer content --></td></tr>
    </table>
</body>

ただし、フォームを作成するためにテーブルを使用することは完全に理にかなっています。

はい、フォームに関連するすべてのコントロールはformタグ内にある必要があります。

于 2012-05-10T14:46:34.547 に答える
1

テーブルを使用してアイテムを配置することに問題はありません。ポジショニングにCSSを使用することもできますが、その場合はクロスブラウザーのサポートに対処する必要があります。個人的には、こういうことにはテーブルを使っています。

于 2012-05-10T14:21:55.643 に答える
0

表は、Webページに表形式のデータを表示するためにのみ使用する必要があります。レイアウトには使用しないでください。

代わりに、divタグを使用して、ページのさまざまな要素をレイアウトする必要があります。例えば:

<div class="Labels">
    <label for="FullName">Name: *</label>
</div>
<div class="Fields">
    <input class="text" type="text" name="FullName" id="FullName" />
</div>

次に、ページレイアウトにCSSを使用して、ページ上のさまざまな要素を配置したり、要素を並べて配置したりする必要があります。

レイアウトにCSSを使用するのが初めての場合は、CSSフロートの使用を検討してください。

于 2012-05-10T14:36:16.553 に答える
0

あなたが求めているのは、セマンティックHTMLの記述に関連していると思います。<TABLE>タグは元々表形式のデータをレンダリングすることを目的としていましたが、一般的なレイアウトで使用するために採用されました。HTMLとCSSがレイアウトのためのより多くのオプションを持つように成長したという事実にもかかわらず、これは今日まで続いています。

テーブルは固定グリッドレイアウトであるため、理解しやすいです。フロートを理解するには、もう少し手間がかかる場合があります。

正しいことも悪いこともありませんが、<ul><li>フォーム入力はある意味でリストとして表示できるため、多くの人は、よりセマンティックなHTMLを作成するために、入力の周囲にタグを使用します。

タグの使用に関しては、<FORM>現在AJAX GETSとPOSTSが普及しているため、必ずしも必要なわけではありませんが、通常は、よりセマンティックなコードを作成する手段と、後続の開発者の明確さを向上させる手段の両方として、タグを含めます。 jQuery(または選択したライブラリ)セレクターを使用する必要があるときに子入力に対処できるようにするために使用するコンテナー。

于 2012-05-10T14:28:19.563 に答える