コンテンツでサイズ変更される50%幅の子divを2つ保持する親divが必要です。空白で50%のdivを2つ:フレックスコンテナ内のnowrap要素
h3
にwhite-space:nowrap;
が含まれているため、divが50%を超えて大きくなります。
min-width:0;
を使用してdivを強制的に50%幅に戻すことができますが、h3
はオーバーフローします。
だから私は、いずれかの内の子divsまたはh3からのオーバーフローに異なる幅を取得します。
内部にwhite-space:nowrap;
の要素があっても、同じ50%幅にすることはできますか?
は、ここで問題をチェックアウト:http://codepen.io/anon/pen/VjPwLm?editors=1100
#parent {
background: whitesmoke;
display: inline-flex;
}
#left {
background: rgba(10, 200, 250, 0.5);
flex-basis: 0;
flex-grow: 1;
}
#right {
background: rgba(250, 200, 10, 0.5);
flex-basis: 0;
flex-grow: 1;
/*min-width:0;*/
/* Turn this on to see the h3 overflow */
}
h3 {
white-space: nowrap;
}
<div id="parent">
<div id="left">Captain Deadpool</div>
<div id="right">
<h3>Very long title that does not entirelly fit into the div</h3>
</div>
</div>
スマート。左側のフレックスアイテムで 'width:0;'を使用することによる副作用は、フレックスコンテナの背景色と境界線が正しい幅の50%しか持たないことです。それを修正する方法はありますか? –
@Amoguai良い点。私はフレックス・アイテムで 'min-width:50%'、フレックス・コンテナで 'width:200%'を使い、インライン・レベルのコンテナの中にラップすることができると思います。 [デモ](https://jsfiddle.net/610o1whg/)。しかし、フレックスコンテナはラッパーをオーバーフローします。私はオーバーフローを取り除く方法を考えることができません。 – Oriol
@Amoguai私は余裕をもってそれをしました。しかし、画面が狭すぎると、デフォルトのフィットコンテンツの代わりにmax-contentを使用してサイズを調整する必要があるため、画面が狭すぎると破損します。しかし、すべてのブラウザが 'width:max-content'をサポートしているわけではありません。 [Demo](https://jsfiddle.net/610o1whg/1/) – Oriol