FirefoxとIEの垂直方向の間隔に、恥ずかしいほど長い間問題がありました。
cssでセレクターを使用して*
、特定のコンテナー要素内のすべてにマージンを適用しています。Chromeでは問題なく動作しますが、FFとIEでは、http: //jsfiddle.net/XrVXF/3/で確認できるように、どこからともなく不思議な余分なパディングが発生していました。
私には2つの別々の問題があったことがわかりました。1つは、Chrome以外のブラウザーがセレクターで要素を選択し*
、マージンを適用すると、マージンがブラウザーに表示されることです。要素はFirebugのようなものには見えませんが。これはバグと見なされるべきですか?あなたは、bodyタグ内でリンク要素が行っているビジネスとは何かを尋ねているかもしれません。まあ、私はおそらくそれを避けることができましたが、それは私のサイトでいくつかのことをする最も簡単な方法です。このページでは、*
セレクターは私が使用しているHTML5のブロックレベルの要素にのみ適用する必要があると述べています。その意味で、Firefoxは少なくともバグアウトしているように見えます。また、IEも適切なHTML5をサポートしているはずです。 。これを知ったので、回避できますが多分私も心配しなければならない他の要素がありますか?(スクリプトタグやスタイルタグには適用されないようです。)HTML要素の大きなリストにマージンを適用するのではなく、マージンを適用する方がよいでしょう*
か?
私がリンクしたフィドルで観察できるもう1つの奇妙なことは、下部のクリアフィックス(例では必要ありませんが、私のサイトにあります)もマージンを取得し、FFとIEに適用しますが、 Chromeで。「正しい」行動はどれですか?不思議なことに、overflow:hiddenをオフにすると、clearfixがスペースを占有するのを防ぎ、サイトに悪影響を及ぼさないように見えることに気付きました。オーバーフローは何のために非表示に設定されていますか?
訂正:おっと、.clearfix(フロートされたものの後にコンテンツを追加する)を使用するつもりだったときに.clearを使用していました。これは正常に機能しているようで、マージンの問題はありません。