CSS3 flex レイアウトの概要

Feb 21, 2020 pm 05:49 PM
css3 flex 要約する

CSS3 flex レイアウトの概要

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 つのプロパティ

  • flex-direction
  • flex-wrap
  • flex-flow
  • justify-content
  • align-items
  • align-content

##1、flex-direction属性主軸の方向(つまり、アイテムの配置方向)を決定します。

.box {
  flex-direction: row | row-reverse | column | column-reverse;
}
ログイン後にコピー

    row (デフォルト値): 主軸は水平であり、開始点は左端にあります。
  • row-reverse: 主軸は水平であり、開始点は右端にあります。
  • 列: 主軸は垂直であり、開始点は上端にあります。
  • column-reverse: 主軸は垂直であり、開始点は下端にあります。

2. flex-wrap<strong></strong>プロパティ定義、軸線が1本配置できない場合にどのように折り返すか。

.box{
  flex-wrap: nowrap | wrap | wrap-reverse;
}
ログイン後にコピー

  • 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: &lt;flex-direction&gt; || &lt;flex-wrap&gt;; }</pre><div class="contentsignin">ログイン後にコピー</div></div>

4、

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>

flex-start (デフォルト): 左揃え
  • flex-end: 右揃え
  • center: 中央揃え
  • space- between : 項目間の間隔が等しくなるように両端を揃えます。
  • space-around: 各アイテムは両側に等間隔に配置されます。したがって、項目間のスペースは、項目と境界線の間のスペースの 2 倍になります。
5、

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>

    flex-start
  • : 交差軸の開始点を揃えます。
  • flex-end
  • : 交差軸の終点の位置合わせ。
  • center
  • : 交差軸の中点を揃えます。
  • baseline
  • : アイテムのテキストの最初の行のベースライン配置。
  • stretch
  • (デフォルト値): アイテムの高さが設定されていない場合、または自動に設定されている場合、アイテムはコンテナーの高さ全体を占めます。
6、

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-start
  • : 交差軸の開始点に位置合わせします。
  • flex-end
  • : 交差軸の終点に位置合わせします。
  • center
  • : 交差軸の中点に位置合わせされます。
  • space-between
  • : 交差軸の両端に合わせて、軸間の間隔が均等になるように配置します。
  • space-around
  • : 各軸は両側に等間隔に配置されます。したがって、軸間の距離は、軸とフレーム間の距離の 2 倍になります。
  • stretch
  • (デフォルト値): 軸は交差軸全体を占めます。
  • また、プロジェクトには次の 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

この属性はアイテムの収縮率を定義します。デフォルトは 1 です。つまり、スペースが不十分な場合、アイテムは縮小します。

.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-shrinkflex-basis的简写,默认值为0 1 auto。后两个属性可选。

.item {
  flex: none | [ <&#39;flex-grow&#39;> <&#39;flex-shrink&#39;>? || <&#39;flex-basis&#39;> ]
}
ログイン後にコピー

该属性有两个快捷值: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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) 純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) Jun 28, 2022 pm 01:39 PM

純粋な CSS3 で波の効果を実現するにはどうすればよいですか?この記事ではSVGとCSSアニメーションを使って波のエフェクトを作成する方法をご紹介しますので、お役に立てれば幸いです。

CSSを上手に使って色々な変わった形のボタンを実現(コード付き) CSSを上手に使って色々な変わった形のボタンを実現(コード付き) Jul 19, 2022 am 11:28 AM

この記事では、頻繁に登場する様々な奇妙な形のボタンをCSSを使って簡単に実現する方法を紹介しますので、ぜひ参考にしてください。

スペースを取らずにCSS内の要素を非表示にする方法 スペースを取らずにCSS内の要素を非表示にする方法 Jun 01, 2022 pm 07:15 PM

2 つの方法: 1. display 属性を使用して、要素に「display:none;」スタイルを追加するだけです。 2. Position 属性と top 属性を使用して、要素の絶対位置を設定し、要素を非表示にします。要素に「position:absolute;top:-9999px;」スタイルを追加するだけです。

Linux システムでの system() 関数の使用法の概要 Linux システムでの system() 関数の使用法の概要 Feb 23, 2024 pm 06:45 PM

Linux での system() 関数の概要 Linux システムでは、system() 関数は非常に一般的に使用される関数であり、コマンド ライン コマンドの実行に使用できます。この記事では、system() 関数を詳細に紹介し、いくつかの具体的なコード例を示します。 1. system() 関数の基本的な使用法 system() 関数の宣言は次のとおりです: intsystem(constchar*command); コマンド パラメーターは文字です。

CSS3でレースボーダーを実装する方法 CSS3でレースボーダーを実装する方法 Sep 16, 2022 pm 07:11 PM

CSS では、border-image 属性を使用してレースの境界線を実現できます。 border-image 属性では、画像を使用して境界線を作成できます。つまり、境界線に背景画像を追加できます。背景画像をレース スタイルとして指定するだけで済みます。構文「border-image: url (画像パス) は、内側への画像境界線の幅。開始を繰り返すかどうか;"。

テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 Jun 10, 2022 pm 01:00 PM

テキストカルーセルと画像カルーセルを作成するにはどうすればよいですか?皆さんが最初に考えるのはjsを使うかどうかですが、実はテキストカルーセルや画像カルーセルも純粋なCSSでも実現できますので実装方法を見ていきましょう。

CSS3でマウスクリックで画像を拡大する方法 CSS3でマウスクリックで画像を拡大する方法 Apr 25, 2022 pm 04:52 PM

実装方法: 1. ":active" セレクターを使用して、画像上のマウス クリックの状態を選択します; 2. 変換属性とscale() 関数を使用して、画像の拡大効果を実現します。構文 "img:active {transform : スケール(x 軸倍率、y 軸倍率);}"。

一般的に使用される Flex レイアウト プロパティは何ですか? 一般的に使用される Flex レイアウト プロパティは何ですか? Feb 25, 2024 am 10:42 AM

フレックス レイアウトの共通プロパティは何ですか? 特定のコード サンプルが必要です。フレックス レイアウトは、応答性の高い Web ページ レイアウトを設計するための強力なツールです。柔軟なプロパティのセットを使用して、Web ページ内の要素の配置とサイズを簡単に制御できます。この記事では、Flex レイアウトの一般的なプロパティを紹介し、具体的なコード例を示します。 display: 要素の表示モードを Flex に設定します。 .container{display:flex;}flex-directi

See all articles