0

ラジオボタンのグループのラベルとしてフィールドセットの凡例を使用しようとしています。私が持っているHTMLとCSSは、IE8&9、Firefox、Chromeで正常に機能します。IE7では、ラベルがラジオボタンの上に表示されます。他のすべてのブラウザでは、ラベルはボタンの左側に表示されます。IE7に条件付きファイルを追加できてうれしいですが、これが機能する理由がわかりません。

問題は次のマークアップで再現されます

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

  <html>
  <head>
  <title>Untitled</title>
  <style type="text/css">
  .radiolegend {
      display: inline;    float: left;    width: 300px;
  }
  .fieldsetstyle {
      border: 0 none;    clear: left;    float: left;
        }

  </style>

  </head>
  <body>
  <form>
  <fieldset class="fieldsetstyle">
  <legend class="radiolegend">legend</legend>
  <input type="radio" name="r1" style="display: inline;" id="r1">
  <label for="r1">r1</label>
  <input type="radio" name="r2" style="display: inline;" id="r2">
  <label for="r2">r2</label>
  </fieldset>
  </form>
  </body>
  </html>
4

1 に答える 1

1

ie7条件付きが必要な場合は、次のようにします。

CSS

.radiolegend {
     float: left;    width: 150px;
}
.fieldsetstyle {
 border: 0 none;    clear: left;    float: left; width:300px;
}

.cb{
float:right;
    margin-top:-20px;
}

HTML

<form>
<fieldset class="fieldsetstyle">
<legend class="radiolegend">legend</legend>
    <div class="cb"><input type="radio" name="r1" style="display: inline;"/>r1</div>
    <div class="cb"> <input type="radio" name="r2" style="display: inline;"/>r2 </div>
    </fieldset></form>

ここで、残りのブラウザーのスタイルも変更する必要があります。margin-top:-20px;から削除するだけ.cbです。あなたはタグでテキストを包んでいました<input>、それは正しくありません。<input>自己閉鎖する必要があります

于 2011-11-16T14:48:56.033 に答える