私は2つのdivを持っています:
<div><label for="1">Some really loooong text... Which breaks the second div. Which then appears shifted to the right.</label><input type="text" id="1" name"1"></div>
<div><label for="2">Shifted.</label><input type="text" id="2" name"2">
次の css を使用して、入力テキスト フィールドの左側にラベルをフロートさせます。
label{
width:200px;
float:left;
}
2 番目の div は、最初の div の下に表示されるのではなく、左に移動します。最初のものと同じように左に揃える必要があります。
例を次に示します: http://jsfiddle.net/qh37Y/
ここでclear:both;を挿入すると、div は機能しますが、これはベストプラクティスですか?
.clearer {
clear:both;
}
<div class="clearer"><label for="2">Shifted.</label><input type="text" id="2" name"2">
ここを参照してください: http://jsfiddle.net/ywUx6/