1

FirefoxとIE8ではこれは問題ではありませんが、IE6とIE7では、ラジオボタンのパディング/マージンを適切な値(0pxや1pxなど)に減らすことができないようです。

含まれている画像では、IE6 / IE7では赤い背景が巨大であることがわかります(CSSのパディングとマージンの両方が0pxに設定されている場合でも)が、Firefox/IE8では問題ありません。

もちろん、その理由は、私がレンダリングしているツリーがIE6/IE7のギャップでひどく見えるからです。

IE6 / IE7

代替テキストhttp://img190.imageshack.us/img190/9985/ie7l.png

Firefox / IE8

代替テキストhttp://img23.imageshack.us/img23/3411/ie8k.png

注:ページは標準モードで実行され、赤は説明のためのものです。

いくつかのサンプルコード(それをハックしたい人のために)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>IE Radio button padding hell</title>
<style>
  input{
    background-color:red;
    border:0px;
    margin:0px;
    padding:0px;
  }
</style>
</head>
<body>
  <form name="asdf">
    <input type="radio" name="sdfgsd" value=""/>asdf<br/>
    <input type="radio" name="sdfgsd" value=""/>asdf<br/>
    <input type="radio" name="sdfgsd" value=""/>asdf<br/>
    <input type="radio" name="sdfgsd" value=""/>asdf<br/>
  </form>
</body>
</html>
4

5 に答える 5

5

この問題を解決するには、高さを使用します。

私は入力のクラスでこれを使用しています:

.radiobtn
{
border:0px;
height:14px;
}

の上:

<input type="radio" class="radiobtn" name="radio"  value=""/> Yes

IE 6.0/7では正常に動作します。

于 2009-07-31T07:16:51.613 に答える
2

overflow:visibleIE6/7 ですべてのパディング/マージンを取り除くために、高さと幅だけでなく追加します

于 2011-01-13T15:37:32.030 に答える
2

この問題に遭遇し、入力要素をフローティングすることで修正できました。これにより、IE6/IE7 の小さな垂直方向の「余白」がなくなります。

于 2010-06-16T14:43:21.207 に答える
0

コードを表示しないと、この「IE 継承されたマージンのバグ: フォーム要素と hasLayout」に遭遇したと思います。

Positioniseverything.net には良い記事があります: http://www.positioniseeverything.net/explorer/inherited_margin.html

乾杯

于 2009-06-12T20:01:42.547 に答える