Firefox(バージョン8.0)では、要素をandに指定するdisplay: -moz-box
とmargin: auto
、その要素は親要素の中央に配置されなくなります。Chromeで動作します。これはFirefoxの問題ですか、それとも何か足りないものがありますか?どうすればこの問題を解決できますか?
回避策の1つは、ラッパーdiv
要素を追加してそれdisplay
をとして設定することblock
ですが、これは醜いです。
-moz-box
FirefoxのXULボックスの表示タイプです。これらは通常のCSSボックスモデルに準拠していないため、自動マージンを使用するときに自動中央揃えしないでください。したがって、ここでの動作は、Firefoxでの動作が正しい限り、XULボックスの動作にすぎません。
-webkit-box
(「Chromeで動作する」という意味だと思いますが)まったく異なることに注意してください。これは、非常に初期のCSSフレックスボックスドラフトの1つの実装です。-moz-box
これは、現在のフレックスボックスドラフトといくつかの表面的な機能を共有していますが、それ以外は完全に異なります。
さて、本当の問題は...あなたは実際に何をしようとしているのですか?
最小限の例を作成し、Firefox 7.0.1undeubuntuでテストしました。
<div style="border:1px solid blue;width:200px;height:200px;float:left">
<div style="display:block; margin:auto;width:100px;height:50px;">display: block</div>
</div>
<div style="border:1px solid blue;width:200px;height:200px;float:left">
<div style="display:-moz-box; margin:auto;width:100px;height:50px;">display: -moz-box</div>
</div>
結果は以下の通りです。この情報がお役に立てば幸いです。
公式のW3C仕様によると、 要素に影響を与えるのと同じように要素にmargin: auto;
影響を与えるはずです。Firefoxの実装は初期のものであり、現在仕様に沿っていません。私は、新しい実装がバージョン18のあたりに着陸することを知らされました。flex
block