ソーシャルアイコンを含むリストを作成しました。これらのアイコンは小さな画面でラップする必要があります。
私が使う flex-wrap: wrap;
そして、FirefoxとChromeで完璧に動作します:
しかし、Internet Explorer 11(およびIE 10)は行を分割しません:
コードペンの例
こちらのコードをご覧ください: http://codepen.io/dash/pen/PqOJrG
HTMLコード
<div>
<ul>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
<li><a href="#"><img src="http://placehold.it/40x40" alt=""></a></li>
</ul>
</div>
CSSコード
body {background: #000;}
div {
background: rgba(255, 255, 255, .06);
display: table;
padding: 15px;
margin: 50px auto 0;
}
ul {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-flow: row wrap;
flex-wrap: wrap;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
list-style: none;
padding: 0;
}
li {
background: purple;
margin: 4px;
}
img {
display: block;
height: 40px;
padding: 7px;
width: 40px;
}
これは、IEバグであるようです。このバグは、flex要素の親コンテナがdisplay: table;
。この行を削除すると、問題が修正されます。ただし、display: table;
は、親コンテナを中央に配置します。
IE11で画像をラップする方法はありますか?
親コンテナの幅を定義してみてください。 width: 20%;
。したがって、コンテナは希望どおりにフォーマットされ、フレックスラップが機能します。はい、display: table;
を削除できます。