2009-05-21 4 views
0

私は、次のようなHTMLフォームを使用している場合:cssやテーブルのないチェックボックスを整列させますか?

<form name="statusForm" action="post.php" method="post" enctype="multipart/form-data"> 
Test: 
<input name="checkboxes[]" value="Test" type="checkbox"> 
<br> 
TestTestTest: 
<input name="checkboxes[]" value="Test" type="checkbox"> 
<br> 
TestTestTestTestTestTest: 
<input name="checkboxes[]" value="Test" type="checkbox"> 
<br> 
TestTestTestTestTestTestTestTestTestTestTest:  
<input name="checkboxes[]" value="Test" type="checkbox"> 
<br> 
<input name="Submit" value="submit" type="submit"> 
</form> 

それは彼らが労働組合であるように、テーブルやCSSが、純粋なHTMLを使用せずに、チェックボックスを整列させることは可能ですか?そうでなければ、どのCSSを使うべきですか?

答えて

5

<label>タグで各ラベルを囲む:

<label for="checkboxes1">Test:</label> 
<input id="checkboxes1" name="checkboxes[]" value="Test" type="checkbox"> 

は、ラベルに幅を与える:

label { 
    display: inline-block; /* try "block" instead if this fails in IE */ 
    min-width: 5em; 
} 

べきパッドのテキストボックスアウトきれいに。追加ボーナスとして、ラベルをクリックすると、ブラウザのフォーカスがテキストボックスに表示されます。

+1

の右に行かなければならないでしょうか? – cletus

+1

これは、最小量のCSS(または他の形式のマークアップ)を使用します。それはまた意味論的な意味を作ります。++ Samir –

+0

ラベル要素はインラインであるため、widthプロパティは適用されません(表示させない限り、ブロック、フロートなど) – Quentin

0

私はなぜそれをしたいのかわかりません。

これはあなたのCSSの指示には合致しませんが、実際にはの外部のCSSが必要な場合はインラインスタイルを使用できます。

おそらくあなたは、あなたが探しているのツールをしている&nbsp;

CSSを使用(およびより少ないextent-テーブルへの)可能性があります。

を編集するもう1つの方法は、ゴーストピクセル画像です。 1x1のアルファ透明なpngの画像で、高さと幅の属性を使用して、どれくらいスペースを空けたいかを指定します。物事がきちんとクリアされるようにするには、インラインCSSが必要かもしれません。

+0

非区切りスペース(非区切り区切りとは対照的)は、レイアウト用に設計されていません。理論的にはレイアウトのためにハッキリな方法でそれらを使用することは可能ですが(あなたが使用できるフォントを使用できると仮定すれば、それはできません)。 – Quentin

+0

私はそれがなぜレンダリングされなかったのか疑問に思っていました:)あなたはそれが良い方法ではなく、確かに彼らのために設計されたものではないということは正しいですが、質問は "レイアウトのためのツールを使わずにレイアウトを行う方法" 。私はなぜそれを打ち負かすが、それは彼が求めていることであり、あなたは正しいフォントセットとnbspのセットでかなり遠くになると思う。 – jskulski

0

最も簡単な方法は、単に右にそれらをすべて揃えることであろう。私は、 "align"属性がフォーム要素で機能するかどうかはわかりませんが、それを試してみるか、divやp要素のコードをalign="right"でラップすることができます。

CSSが優れたソリューションです。フォームにクラスを追加し、CSSルールtext-align: right;を使用するか、単にstyle="text-align: right"をフォーム要素に直接追加します。

1

記事Applying CSS to formsは、垂直エッジに沿って並ぶように右への入力を引き起こすsylingラベルの例をいくつか持っています。

つまり、右のまたはラジオボタンとチェックボックスにラベルを配置するのは、ユーザーインターフェイスの設計における規約です。そのコンベンションに従えば、すべてのチェックボックスが幅を共有するので、それらは自分で整列します。

1

あなただけのunorderdedリストにあなたのラベルと入力を置くことができます。アラインメントを得るために、テキストは、彼が「CSSなし」言わなかった入力/

<ul> 
    <li> 
     <label><input /> Some Text</label> 
    </li> 
</ul> 

または

<ul> 
    <li> 
     <input /><label for="">Some Text</label> 
    </li> 
</ul> 

リッチ

関連する問題