[解決済み] フレックスボックス 1列4点
質問
フレックスボックスを使用して、ページに合わせて動的にサイズ変更される8つの項目を表示しています。アイテムを2列に分割するにはどうすればよいですか?(1行に4つ)?
以下は関連するスニップです。
(または、jsfiddleを好む場合 -) http://jsfiddle.net/vivmaha/oq6prk1p/2/ )
.parent-wrapper {
height: 100%;
width: 100%;
border: 1px solid black;
}
.parent {
display: flex;
font-size: 0;
flex-wrap: wrap;
margin: -10px 0 0 -10px;
}
.child {
display: inline-block;
background: blue;
margin: 10px 0 0 10px;
flex-grow: 1;
height: 100px;
}
<body>
<div class="parent-wrapper">
<div class="parent">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
</div>
</body>
解決方法は?
あなたが持っているのは
flex-wrap: wrap
をコンテナに追加しました。これは良いことです。なぜなら、デフォルト値である
nowrap
(
ソース
). でアイテムが折り返されてグリッドを形成しないのは、このためです。
いくつかの場合
.
この場合、主な問題点は
flex-grow: 1
をフレックスアイテムに追加しています。
は
flex-grow
プロパティは、実際にはフレックスアイテムのサイズを調整するものではありません。その仕事は、コンテナ内の空きスペースを分配することです (
ソース
). そのため、画面サイズがどんなに小さくても、各項目は行の空きスペースのうち、割合に応じた部分を受け取ることができる。
具体的には、コンテナの中に8つのフレックスアイテムがあります。とは
flex-grow: 1
のように、それぞれが行の空きスペースの1/8を受け取ります。アイテムの中にはコンテンツがないので、幅をゼロに縮めることができ、折り返すことはありません。
解決策は、アイテムに幅を定義することです。これを試してみてください。
.parent {
display: flex;
flex-wrap: wrap;
}
.child {
flex: 1 0 21%; /* explanation below */
margin: 5px;
height: 100px;
background-color: blue;
}
<div class="parent">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
と
flex-grow: 1
で定義されている
flex
を使用する必要はありません。
flex-basis
を25%にすると、実際には余白の関係で1行に3つの項目が入ることになります。
以来
flex-grow
は、行の空き領域を消費します。
flex-basis
は、ラップを強制するのに十分な大きさであればよい。この場合
flex-basis: 21%
余白には十分なスペースがありますが、5つ目の項目を置くスペースはありません。
関連
-
[解決済み】位置固定が機能しない
-
[解決済み】iframeの高さを100%にする方法【重複】。
-
[解決済み】#記号のHTML文字実体は何ですか?
-
[解決済み] Railsアプリケーションにアイコンを追加する
-
[解決済み] HTMLのバックスペース
-
[解決済み] フレックスボックスのアイテム間の距離を設定するためのより良い方法
-
[解決済み] CSS Flexboxで、"justify-items "と "justify-self "プロパティはなぜないのですか?
-
[解決済み] Flexbox:水平方向と垂直方向の中央揃え
-
[解決済み] Flexboxの子の高さを親の高さの100%にするには?
-
[解決済み】フレックスボックスで要素を最下段に揃える
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 名前が''の無効なフォームコントロールはフォーカスされない
-
[解決済み】エラー。要求されたURL"[no URL]"は無効です。
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] html : iframeでhtmlのコンテンツが表示されない。
-
[解決済み] (X)HTMLにおける "PRE "タグの用途は何ですか?
-
[解決済み] 文字列が部分文字列で終わっているかどうかをXPathでテストする?
-
[解決済み] What is the difference between <p> and <div>?
-
[解決済み] Railsです。railsアプリで<img src= >をimage_tagに変換する方法
-
[解決済み] ホバー時に背景画像を暗くする
-
[解決済み] Bootstrap 4 の mr-auto が正しく動作しない。