バグ/IE11で横並び要素が落ちる(3カラム)
状況
flexで3つの要素を横並びにしていたが、IE11でだけ一つ分落ちる。
↑こうしたいのに
<ul class="target">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
.target {
display: -webkit-flex;
display: -ms-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: wrap;
flex-flow: wrap;
}
.target > li {
width: calc(100% * 1/3);
}
原因
flexのIE特有のバグかと思って調べてたのですがwidth: calc(100%* 1/3);
こいつが犯人だと判明。IE11の 1/3 と 他ブラウザの 1/3 は違う値になるみたいです(ブラウザによる小数点の扱いの違いなのかな)。
解決方法
IE11のみwidthの指定を変える必要がある。
以下のコードを追加。
*::-ms-backdrop, .target > li {
width: 33.33%
}
で、解決。
先輩に聞いたらすぐに、あーそれ33.33の…って言われたので有名みたいですね。
(もっと早く聞けばよかった…)
Author And Source
この問題について(バグ/IE11で横並び要素が落ちる(3カラム)), 我々は、より多くの情報をここで見つけました https://qiita.com/nabe_kurage/items/9e46062198e305ec5e26著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .