私はフレックスボックスでさまざまな要素を垂直方向と水平方向にセンタリングする複雑なレイアウトです。IE10/11でフレックス自動マージンが機能しない
最後の要素にはmargin-right:auto;
が適用され、要素を左に押して(それらをセンタリングすることを否定します)。
これはIE10/11を除くすべての場所で正常に動作し、私を夢中にしています。
HTML/CSSサンプル:あなたが赤の側に左揃えする必要があり、画面上に2つの項目が表示されます
#container {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-flow: row wrap;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
-ms-flex-line-pack: center;
-webkit-align-content: center;
align-content: center;
}
#second-item {
margin-right: auto;
}
/* just some colors - not important */
#container {
height: 200px;
width: 100%;
background: red;
}
#container > div {
background: blue;
padding: 10px;
outline: 1px solid yellow;
}
<div id='container'>
<div id='first-item'>first item</div>
<div id='second-item'>second item</div>
</div>
http://codepen.io/anon/pen/NrWVbR
親(つまり、両方とも中央揃えにする必要がありますが、最後の項目にはmargin-right:auto;
が適用され、行全体が塗りつぶされ、他の項目とi側にいる) - これは正しい動作です。両方の項目が正しく配置されていないIE10/11では、2番目の項目のmargin-right:auto;
は無視されます。
これまでにIE/flexboxの専門家が出会ったことはありますか?
理由だけではなく、自動マージンを削除して、コンテンツを正当化守れませんか? –