flex image item bug in safari

在 parent 為 flex 的情況下,裡面放了許多圖片(img),當視窗寬度小於這些圖片時,子層的圖片高度不會因為你下了 height:auto 而改變,造成圖片被拉長。

為什麼圖片會被拉長?

因為 safari 預設的 flex 狀態和別人不太一樣,它的預設狀況為 stretch。

因此,parent 再加上 align-items:flex-start 就能解決這個只有 safari 版型會出狀況問題。


.d-flex{
  display:flex;
  flex-wrap:wrap;
}
img{
  width:25%;
  height:auto;
}

<div class="d-flex">
  <img width="200" height="200" src="" alt="">
  <img width="200" height="200" src="" alt="">
  <img width="200" height="200" src="" alt="">
  <img width="200" height="200" src="" alt="">
  <img width="200" height="200" src="" alt="">
  <img width="200" height="200" src="" alt="">
  <img width="200" height="200" src="" alt="">
  <img width="200" height="200" src="" alt="">
</div>

留言

這個網誌中的熱門文章

用CSS的 min() max() 與vw,設計有極限值的RWD響應式文字

10 steps、「ライブ会場を沸らせる、フロアを沸かす」ミーム動画の作り方 (Viggle AI)

運用資料層 dataLayer.push 建立 GTM 自訂事件