flexbox要素の行の折り返しを防ぐにはどうすればよいですか?それは可能ですか?
flexboxを使用して次のマークアップで2列のグリッドを作成しようとしています。
<div class="flex-container">
<div class="no-wrap">this should not wrap</div>
<div class="can-wrap">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam debitis consequuntur incidunt neque vel in blanditiis id optio distinctio culpa rem voluptatibus quas architecto ratione assumenda omnis laboriosam? Earum esse.</div>
</div>
.no-wrap
要素は、「必要な」幅と同じ幅にして、内部のすべてのテキストが2行目に折り返されないようにする必要があります。 .can-wrap
要素は残りのスペースを占め、必要に応じて折り返します。
私はこのCSSを使用しています(prefrixは無料です):
.flex-container{
display:flex;
}
.no-wrap{
flex-basis:initial;
}
flex-basis:initial
は要素が行を折り返すのを防ぐと思いました- https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis
これがコードペンです: http://codepen.io/jshawl/pen/bknAc
.no-wrap
要素の幅を修正できることはわかっていますが、行の折り返しを防ぐために、どのようにして幅を広くできますか?
.no-wrap
要素に対応するfloatは次のようになります。
.no-wrap{
display:block;
float:left; /* be as wide as need be! */
}
探しているプロパティは flex-shrink であり、 flex-basis ではありません。
.no-wrap{
flex-shrink: 0;
}
ただし、IE10はこのプロパティをサポートするものとしてリストされていないことに注意してください(Flexbox実装を追加した時点では仕様に存在していなかったため)。を使用できます。代わりにflex プロパティ。
.no-wrap{
flex: 0 0 auto;
}