次のSOの質問(Gutter between divs)では、PawełJanickiから素晴らしい回答が得られました。それはほぼ4ヶ月前ですが、私が使用したコードを再訪したところ、IE 11ではウィンドウのサイズを変更すると1行に収まらないことがわかりました。 IEのウィンドウのサイズを変更すると、1行からラップして1行に戻り、その後にラップします.....ブラウザのサイズ変更時のDIVSラッピングのパーセンテージ+ px幅
これは2つの画像です。最初の画像では、その後、私は、ウィンドウを最小化し、完璧に見える、それが壊れる:
https://i.imgur.com/ueEPzJc.png
https://i.imgur.com/pXP9leB.png
、ここでは、サンプルとcodepenです:
https://codepen.io/anon/pen/xgZMwq
I私がFFやChromeでやりたいと思っているように、誰かがIEでこの動作を修正するのを助けることができれば、本当に感謝しています。
ありがとうございます!以下は
私は古いSO質問から得た最終的なコードされています
.container{
font-size: 0;
}
[class|="col"] {
display:inline-block;
vertical-align: top;
position:relative;
font-size:20px;
}
.col-1-3{
\t width:calc(100%/(3/1));
}
.col-2-3{
\t width:calc(100%/(3/2));
}
.col-1{
\t width:100%;
}
.children-has-gutters{
margin-left:-15px;
margin-right:-15px;
width: calc((100%/(3/1)) + 30px);
}
.children-has-gutters > div{
padding-left:15px;
padding-right:15px;
box-sizing: border-box;
}
.bg-blue{
\t background-color:#42a5f5;
\t color:#ffffff;
}
.bg-green{
\t background-color:#66bb6a;
color:#ffffff;
}
<div class="container">
<div class="col-1-3 bg-blue">blue left</div>
\t <div class="col-1-3 children-has-gutters" style="font-size:0px;">
<div class="col-1-3">
<div class="bg-green">green 1</div>
</div>
<div class="col-1-3">
<div class="bg-green">green 2</div>
</div>
<div class="col-1-3">
<div class="bg-green">green 3</div>
</div>
</div>
\t <div class="col-1-3 bg-blue">blue right</div>
</div>
これは、 '.container'と' .children-has-gutters' divで 'font-size:0'を使うためです。これらを削除し、 '.children-has-gutters'に適用された計算された%幅を減らします。あなたはうまくいくはずです - IEは、 "** font-size:0を使用して空白を殺す**"という回避策を使って、奇妙な動作をします。 –
font-size:0は、インラインブロック要素間のデフォルトの空白の修正であり、必要です。それ以外の場合は、すべてのブラウザでラップします。この問題は、IE 11ブラウザのサイズを変更するときにのみ表示されます。 IEをお持ちの場合は、どうぞお試しください。 –
font-size:1の修正は、このcss + htmlのみの例です。私のマシンでは、実際には以下のPHPコードを使用して空白問題を修正しています。問題は両方の解決策にありますが、IEでのみです:ob_start(function($ html){return preg_replace( '/> \ s +','><、$ html);}); –