IE6と7を除いて、テストしたすべてのブラウザーで正常に表示される動的に生成されたフォームがあります。フォーム入力の上または横に配置できるはずの見出しがあります。ラジオボタンとチェックボックスの場合は、ラベルの左側にコントロールが必要です。他のすべての入力の場合は、右側にコントロールが必要です。HTMLは両方で同じである必要があり、CSSのみが変更されます。
()ラジオ1()ラジオ2 []チェックボックス1[]チェックボックス2 テキスト|____________| 等
また
ラジオ1ラジオ2 ()() チェックボックス1チェックボックス2 [] [] 文章 | ____________ | 等
これまでのところ私は持っています
<span class="control">
<label for="a1" class="forbutton">A1</label>
<input type="checkbox" id="a1" class="form-input-checkbox" name="a" value="1"/>
</span>
または各入力に類似したもの。CSSは
.forbutton {
margin-bottom: 0.20em;
float: right;
}
.control {
display: inline-block;
vertical-align: text-top;
position: relative;
}
/* Only if you want labels above inputs */
.form-input-checkbox,
.form-input-radio {
display: block;
clear: both;
}
IE6および7では、<span>は、コンテンツの幅を取得するのではなく、100%の幅になります(IE8を含む他のブラウザーの場合と同様)。どうすればこれを簡単に修正できますか?スパンに幅を指定すると修正されますが、ラベルは動的に生成されるため、どのくらいの幅にする必要があるかわかりません。
目標:
HTMLコードに入力する前の
有効なHTML
有効なCSS
ラベル上のラベルと横のラベルに同じHTMLコード
同じ結果を達成するソリューションは、ありがたいことに受け入れられます。