<div>
のタグは、水平方向にマージンを持つタグを垂直方向に配置したいと考えています。テキストアライメントのブラウザプレフィックスの動作が異なり、正しいのはなぜですか?
.parent {
display: inline-block;
border: 1px dotted #fd0;
position: relative;
}
.parent.ta {
text-align: center;
}
.parent.browser-ta {
text-align: -webkit-center;
text-align: -moz-center;
}
.child {
display: inline-block;
vertical-align: top;
}
.child > .content {
display: block;
margin: 0 10px;
border: 1px solid #888;
width: 200px;
text-align: left;
}
.wrong {
background-color: #e00;
color: #fff;
}
.right {
background-color: #0a3;
color: #fff;
}
<div>
Using <tt>text-align: center</tt>;
<div class="parent ta">
<div class="child">
<div class="content wrong">child 1 LEFT</div>
<div class="parent ta">
<div class="child">
<div class="content">child a</div>
</div>
<div class="child">
<div class="content">child b</div>
</div>
<div class="child">
<div class="content">child c</div>
</div>
</div>
</div>
<div class="child">
<div class="content wrong">child 2 LEFT</div>
<div class="parent ta">
<div class="child">
<div class="content">child d</div>
</div>
<div class="child">
<div class="content">child e</div>
</div>
<div class="child">
<div class="content">child f</div>
</div>
</div>
</div>
<div class="child ">
<div class="content right">child 3 CENTRE</div>
</div>
</div>
</div>
<br>
<br>
<div>
Using <tt>text-align: -vendor-center</tt>
<div class="parent browser-ta">
<div class="child">
<div class="content right">child 1 CENTRE</div>
<div class="parent browser-ta">
<div class="child">
<div class="content">child a</div>
</div>
<div class="child">
<div class="content">child b</div>
</div>
<div class="child">
<div class="content">child c</div>
</div>
</div>
</div>
<div class="child">
<div class="content right">child 2 CENTRE</div>
<div class="parent browser-ta">
<div class="child">
<div class="content">child d</div>
</div>
<div class="child">
<div class="content">child e</div>
</div>
<div class="child">
<div class="content">child f</div>
</div>
</div>
</div>
<div class="child">
<div class="content right">child 3 CENTRE</div>
</div>
</div>
実行スニペットと2つの類似したHTMLとCSS(Chromeで異なるレイアウトを生成:
問題は、この動作はtext-align: center
とtext-align: -webkit-center
またはtext-align: -moz-center
の間で一貫性のないように見えるということですWebkit/Blink)とFireFoxをサポートしています。赤いパネルは間違った場所にあり、緑色のパネルは正しいです。
だからtext-align: -webkit-center
とtext-align: -moz-center
が正しいと思われますが、どちらのブラウザでもtext-align: center
が盗聴されているようです。
古い古い<centre>
タグを掘り出して使用していますが、それも正しく動作します(ただし、それを調べるとブラウザの接頭辞も使用されます)。
これは間違いありませんか?これはバグですか?違いの理由はありますか?どちらを使うべきですか?
私はそのプロパティベンダーの接頭辞を見たことがありません...そうするための参照がありますか? –
関連 - http://stackoverflow.com/questions/28588137/how-to-replace-a-text-align-webkit-center –
@Paulie_Dいいえ、私は実行するスニペットを含めています。異なる行動。関連する明示的な文書があれば、それはおそらく良い答えになるでしょう。あなたが引用した別の質問は関連していますが、私は子供たちの間に一定のマージンが必要なので、 'margin:0 auto;'は私にとってうまくいきません。 – Keith