Flex-Grow、Flex-Shrink、およびFlex-Basisの理解
CSS flex-grow
、 flex-shrink
、 flex-basis
特性の相互作用を深く理解してください。 CSS属性を適用すると、舞台裏で多くのことが起こります。たとえば、次のHTMLがあるとします。
<div> <div>子供</div> <div>子供</div> <div>子供</div> </div>
次に、いくつかのCSSを書きます:
。親 { ディスプレイ:Flex; }
実際、CSSコードの上記の行に加えて、次のスタイルを自分で書いたかのように、 .child
要素に一連の属性を暗黙的に適用します。
。子供 { フレックス:0 1 Auto; /*デフォルトのフレックス値*/ }
これは、一部のプロパティには、当社がオーバーライドすることを目的としたデフォルト値があるためです。これらの暗黙のアプリケーションのスタイルを理解しないと、レイアウトは非常に混乱し、管理が困難になる可能性があります。
flex
属性は、3つの独立したCSS属性を同時に設定する速記CSS属性です。したがって、上記の略語は以下に相当します。
。子供 { フレックスグロー:0; Flex-Shrink:1; Flex-basis:auto; }
略語属性は、複数のCSS属性をバンドルするため、 background
属性と同様に、複数の属性を一度に記述するのが便利です。
FlexBoxでは、 flex
属性とそのサブプロパティの間に複雑な相互作用があるため、略語を使用することをお勧めします。
ほとんどの場合、これらのフレックスボックスプロパティの詳細を知る必要がないため、デフォルトのスタイルは非常に便利です。たとえば、FlexBoxを使用する場合、通常、次のように書きます。
。親 { ディスプレイ:Flex; justify-content:space-bethed; }
子どもの要素やスタイルに適用されるスタイルを気にする必要さえありません。しかし、これはFlexBoxの氷山の一角にすぎません。
flex-grow
、 flex-shrink
、 flex-basis
プロパティなどのFlexBoxがどのように機能し、それらを使用してより複雑なレイアウトを作成する方法を深く掘り下げたいとしたらどうでしょうか。
簡略化された概要から始めて、子要素に適用されるデフォルトのflex
属性に戻りましょう。
。子供 { フレックス:0 1 Auto; }
これらのデフォルトスタイルは、子要素にストレッチと縮小の方法を伝えます。私は通常、これらの略語の特性を次のように理解しています。
/*心の上の上記のルールについてどう思いますか*/ 。子供 { Flex:[Flex-Grow] [Flex-Shrink] [Flex-Basis]; } /* または... */ 。子供 { フレックス:[最大] [最小] [理想的なサイズ]; }
最初の値flex-grow
デフォルトで0になります。つまり、要素は(ほとんど)拡張されません。要素のサイズは、コンテンツに依存します。例えば:
。親 { ディスプレイ:Flex; }
flex-grow
属性のデフォルト値を0から1に変更した場合:
。子供 { フレックス:1 1 Auto; }
その後、すべての要素は、 .parent
Elementのスペースを均等に分配しますが、その内容が同じ長さである場合にのみです。これは次のとおりです。
。子供 { フレックスグロー:1; }
要素の1つを他の要素よりも成長させたい場合は、これを行うことができます。
.child-three { フレックス:3 1 Auto; } /* または... */ .child-three { フレックスグロー:3; }
flex-shrink
略語の2番目の値です。
。子供 { フレックス:0 1 Auto; / * flex-shrink = 1 */ }
flex-shrink
ブラウザに要素の最小サイズを指示します。デフォルト値は1です。つまり、同じスペースが常に占有されています。 0に設定する場合:
。子供 { フレックス:0 0 Auto; }
要素は縮小しません。
flex-basis
、デフォルトでflex
略語に最後に付加された最後の値であり、これは要素に理想的なサイズを維持するように指示します。デフォルトの値はauto
です。これは「私の高さまたは幅を使用する」を意味します。
flex-basis
を1000pxに設定したとき:
.child-three { フレックス:0 1 1000px; }
ブラウザに、1000pxのスペースを占有しようとするように指示します。不可能な場合、要素は他の要素に基づいて比例してスペースを占有します。
要素が縮小しないようにしたい場合:
.child-three { フレックス:0 0 1000px; }
flex-wrap
プロパティを設定すると、レイアウトが変更されます。
。親 { ディスプレイ:Flex; フレックスラップ:ラップ; }
全体として:
-
flex
の略語を使用してみてください。 - 略語を使用する場合、最大、最小、理想的なサイズを覚えておいてください。
- 要素コンテンツは、これらの値の仕組みにも影響します。
以上がFlex-Grow、Flex-Shrink、およびFlex-Basisの理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

要素の数が固定されていない場合、CSSを介して指定されたクラス名の最初の子要素を選択する方法。 HTML構造を処理するとき、あなたはしばしば異なる要素に遭遇します...

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

フロントエンド開発でWindowsのような実装方法...
