LoginSignup
1
3

More than 5 years have passed since last update.

IE11でdisplay: flexで並べた画像がカラム落ちするー

Last updated at Posted at 2018-02-07
<ul class="list">
  <li><img src="sample.png" alt=""></li> 
  <li><img src="sample.png" alt=""></li> 
  <li><img src="sample.png" alt=""></li> 
  <li><img src="sample.png" alt=""></li> 
  <li><img src="sample.png" alt=""></li> 
  <li><img src="sample.png" alt=""></li> 
  <li><img src="sample.png" alt=""></li> 
</ul>
  .list {
    display: flex;
    flex-wrap: wrap;
  }
  .list li {
    width: calc(100% / 3);
  }

こんな感じで画像を3列にぴったり並べて、画面幅で折り返すようなレイアウトを作りました。

基本的にこれで問題ないのですが、IE11でウィンドウサイズを変化させると一定間隔で3列→2列を繰り返しすようになってしまいました。

ドウシテコウナッタ??

おそらく flexitemの幅を calcで計算してしまってるため、割り切れない数字のためこんなことになってるんだと思います。

なので、ちょっと調整してみました。

  .list {
    display: flex;
    flex-wrap: wrap;
  }
  .list li {
    width: calc((100% / 3) - .01px); ← 修正
  }

割り切れないのが問題なら、少し減らしてやればいんじゃね?ってことで - .01px を加えて見ました。

そうすると、カラム落ちもなくなり、全ブラウザで期待する表示となりました。

.01px だったら見た目には全くわからないので、もしIE11で同様な現象に遭遇した場合はやって見てもいいのではないでしょうか。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3