3

Firefox(バージョン8.0)では、要素をandに指定するdisplay: -moz-boxmargin: auto、その要素は親要素の中央に配置されなくなります。Chromeで動作します。これはFirefoxの問題ですか、それとも何か足りないものがありますか?どうすればこの問題を解決できますか?

回避策の1つは、ラッパーdiv要素を追加してそれdisplayをとして設定することblockですが、これは醜いです。

4

3 に答える 3

5

-moz-boxFirefoxのXULボックスの表示タイプです。これらは通常のCSSボックスモデルに準拠していないため、自動マージンを使用するときに自動中央揃えしないでください。したがって、ここでの動作は、Firefoxでの動作が正しい限り、XULボックスの動作にすぎません。

-webkit-box(「Chromeで動作する」という意味だと思いますが)まったく異なることに注意してください。これは、非常に初期のCSSフレックスボックスドラフトの1つの実装です。-moz-boxこれは、現在のフレックスボックスドラフトといくつかの表面的な機能を共有していますが、それ以外は完全に異なります。

さて、本当の問題は...あなたは実際に何をしようとしているのですか?

于 2011-11-27T03:28:28.920 に答える
2

最小限の例を作成し、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>

結果は以下の通りです。この情報がお役に立てば幸いです。ここに画像の説明を入力してください

于 2011-11-26T22:15:53.160 に答える
1

公式のW3C仕様によると、 要素に影響を与えるのと同じように要素にmargin: auto;影響を与えるはずです。Firefoxの実装は初期のものであり、現在仕様に沿っていません。私は、新しい実装がバージョン18のあたりに着陸することを知らされました。flexblock

于 2012-08-28T12:51:12.017 に答える