CSS3 フレックス レイアウトの概要
2009 年、W3C は、シンプルで完全なフレックス レイアウトという新しいソリューションを提案しました。さまざまなページ レイアウトをレスポンシブに実装します。現在、すべてのブラウザでサポートされています。
Flex は Flexible Box の略語で、「柔軟なレイアウト」を意味し、箱型モデルに最大限の柔軟性を提供するために使用されます。任意のコンテナを Flex レイアウトとして指定できます。
(推奨学習: CSS チュートリアル)
インライン要素でも Flex レイアウトを使用できます。
.box{ display: flex; } .box{ display: inline-flex; }
Webkit コアを備えたブラウザでは、-webkit プレフィックスを追加する必要があることに注意してください。
.box{ display: -webkit-flex; /* Safari */ display: flex; }
また、Flexレイアウトに設定後は、子要素のfloat、clear、vertical-align属性が無効になります。
フレックス レイアウトで一般的に使用される 6 つのプロパティ
##1、flex-direction属性主軸の方向(つまり、アイテムの配置方向)を決定します。
.box { flex-direction: row | row-reverse | column | column-reverse; }
2. flex-wrap<strong></strong>プロパティ定義、軸線が1本配置できない場合にどのように折り返すか。
.box{ flex-wrap: nowrap | wrap | wrap-reverse; }
(デフォルト): 行の折り返しはありません。
: 最初の行を先頭にしてラップします。
: ラップ、最初の行は以下です。
3. flex-flow<strong></strong> 属性は、
flex-direction 属性および
flex-wrap## です。 # 属性。短い形式、デフォルト値は row nowrap
です。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">.box {
flex-flow: <flex-direction> || <flex-wrap>;
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
justify-content<strong> 属性は、主軸上の項目の配置を定義します。 </strong><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">-content: flex-start | flex-end | center | space-between | space-</pre><div class="contentsignin">ログイン後にコピー</div></div>
align-items<strong> プロパティは、項目を交差軸上でどのように配置するかを定義します。 </strong><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">.box {
align-items: flex-start | flex-end | center | baseline | stretch;
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
align-content<strong> 属性は、複数の軸の位置合わせを定義します。プロジェクトに軸が 1 つしかない場合、このプロパティは効果がありません。 </strong><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">.box {
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
この属性は 6 つの値を取ることができます。
flex-grow
flex-shrink
flex-basis
flex
align-self
order 属性項目を並べ替える順序を定義します。値が小さいほど順位が高くなります。デフォルトは 0 です。 .item { order: <integer>; }
flex-grow
0 です。つまり、スペースが残っている場合は、拡大されません。
.item { flex-grow: <number>; /* default 0 */}
すべての項目の
flex-grow プロパティが 1 の場合、残りのスペース (存在する場合) を均等に分割します。 1 つの項目の flex-grow プロパティが 2 で、他のすべての項目が 1 の場合、前者は他の項目の 2 倍の残りのスペースを占有します。
flex-shrink
.item { flex-shrink: <number>; /* default 1 */}
すべての項目の
flex-shrink プロパティが 1 の場合、スペースが不足すると、すべての項目が比例して縮小されます。 1 つの項目の flex-shrink プロパティが 0 で、他の項目が 1 の場合、スペースが不十分な場合、前者は縮小されません。
flex-basis
属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto
,即项目的本来大小。
.item { flex-basis: <length> | auto; /* default auto */}
flex
属性是flex-grow
, flex-shrink
和 flex-basis
的简写,默认值为0 1 auto
。后两个属性可选。
.item { flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] }
该属性有两个快捷值:auto
(1 1 auto
) 和 none (0 0 auto
)。
align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
.item { align-self: auto | flex-start | flex-end | center | baseline | stretch; }
以上がCSS3 flex レイアウトの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。