検索
ホームページウェブフロントエンドCSSチュートリアルCSS3 が柔軟なレイアウトを実装する方法の詳細な説明

CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

Jul 11, 2020 pm 04:33 PM
css3flexbox柔軟なレイアウト

CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

1. CSS3 フレキシブル ボックス

フレキシブル ボックスは、CSS3 の新しいレイアウト モードです。

CSS3 フレキシブル ボックス (フレキシブル ボックスまたはフレックスボックス) は、ページがさまざまな画面サイズやデバイスの種類に適応する必要がある場合に、要素が適切に動作するようにするレイアウト方法です。

フレキシブル ボックス レイアウト モデルを導入する目的は、コンテナ内のサブ要素に空きスペースを配置、整列、割り当てるためのより効率的な方法を提供することです。

2. ブラウザのサポート

表内の数字は、この属性をサポートする最初のブラウザのバージョン番号を示します。

数字の直後にある -webkit- または -moz- は、指定されたブラウザーのプレフィックスです。

#属性##基本サポート (単一行フレックスボックス)複数行フレックスボックス
CSS3 が柔軟なレイアウトを実装する方法の詳細な説明 CSS3 が柔軟なレイアウトを実装する方法の詳細な説明 CSS3 が柔軟なレイアウトを実装する方法の詳細な説明 CSS3 が柔軟なレイアウトを実装する方法の詳細な説明 CSS3 が柔軟なレイアウトを実装する方法の詳細な説明
29.0 21.0 -webkit- 11.0 22.0 18.0 -moz- 6.1 -webkit- 12.1 -webkit-
29.0 21.0 -webkit- 11.0 28.0 6.1 -webkit- 17.0 15.0 -webkit- 12.1
#3. CSS3 フレキシブル ボックスの内容

フレキシブル ボックスは、フレキシブル コンテナ (Flex コンテナ) とフレキシブル サブ要素で構成されます。 (フレックス項目) 。

フレキシブル コンテナは、display プロパティの値を flex または inline-flex に設定することによって、フレキシブル コンテナとして定義されます。

フレキシブル コンテナには、1 つ以上のフレキシブル サブ要素が含まれています。

注: フレキシブル コンテナの外側とフレキシブル サブ要素の内側は通常どおりレンダリングされます。フレックス ボックスは、フレックス 子要素がフレックス コンテナ内でどのようにレイアウトされるかを定義するだけです。

フレキシブルサブ要素は通常、フレキシブルボックス内に 1 行で表示されます。デフォルトでは、コンテナーごとに 1 行のみが存在します。

次の要素は、左から右に一列に表示されたエラスティック子要素を示しています:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>FLEX</title>
    <style>
        .flex-container {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            width: 1200px;
            height: 640px;
            background-color: lightsteelblue;
        }
        .flex-container .flex-item {
            width: 320px;
            height: 240px;
            margin: 10px;
            background-color:lightsalmon;
        }
    </style>
</head>
<body>
    <div>
        <div></div>
        <div></div>
        <div></div>
    </div>
</body>
</html>

CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

4. CSS3 フレキシブルボックス 一般的に使用される属性

属性説明# #flex -directionフレキシブル コンテナ内の子要素の配置を指定しますフレキシブル コンテナの子要素をラップするかどうかを設定します親コンテナを超える場合のフレキシブル ボックスflex-direction および flex-wrap の略語 フレックスボックス要素の横軸(縦軸)方向の配置を設定します動作を変更しますflex-wrap 属性の、align-items と同様ですが、子要素の配置を設定する代わりに、行の配置を設定しますフレキシブルボックス要素の主軸(横軸)方向の位置合わせ
flex-wrap
flex-flow
align-items
align-content
justify-content

1. flex-direction 属性

决定项目的方向。

注意:如果元素不是弹性盒对象的元素,则 flex-direction 属性不起作用。

.flex-container { flex-direction: row | row-reverse | column | column-reverse; }

CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

属性值

描述
row 默认值。元素将水平显示,正如一个行一样。
row-reverse 与 row 相同,但是以相反的顺序。
column 元素将垂直显示,正如一个列一样。
column-reverse 与 column 相同,但是以相反的顺序。

2. flex-wrap 属性

flex-wrap 属性规定flex容器是单行或者多行,同时横轴的方向决定了新行堆叠的方向。

描述
nowrap 默认值。规定元素不拆行或不拆列。
wrap 规定元素在必要的时候拆行或拆列。
wrap-reverse 规定元素在必要的时候拆行或拆列,但是以相反的顺序。
.flex-container { flex-wrap: nowrap | wrap | wrap-reverse; }

可以取三个值:

(1) nowrap (默认):不换行。

CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

(2)wrap:换行,第一行在上方。

CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

(3)wrap-reverse:换行,第一行在下方。

CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

3. flex-flow 属性

flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。

.flex-container { flex-flow: <flex-direction> <flex-wrap> }

4. align-items属性

align-items 属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。

描述
stretch 默认值。项目被拉伸以适应容器。
center 项目位于容器的中心。
flex-start 项目位于容器的开头。
flex-end 项目位于容器的结尾。
baseline 项目位于容器的基线上。

1CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

5. justify-content属性

justify-content 用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。

描述
flex-start 默认值。项目位于容器的开头。
flex-end 项目位于容器的结尾。
center 项目位于容器的中心。
space-between 项目位于各行之间留有空白的容器内。
space-around 项目位于各行之前、之间、之后都留有空白的容器内。

1CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

五、弹性子元素属性

属性 描述
order 设置弹性盒子的子元素排列顺序。
flex-grow 设置或检索弹性盒子元素的扩展比率。
flex-shrink 指定了 flex 元素的收缩规则。flex 元素仅在默认宽度之和大于容器的时候才会发生收缩,其收缩的大小是依据 flex-shrink 的值。
flex-basis 用于设置或检索弹性盒伸缩基准值。
flex 设置弹性盒子的子元素如何分配空间。
align-self 在弹性子元素上使用。覆盖容器的 align-items 属性。

1. order属性

.flex-container .flex-item { order: <integer>; }

:用整数值来定义排列顺序,数值小的排在前面。可以为负值,默认为0。

1CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

2. flex-grow属性

.flex-container .flex-item { flex-grow: <integer>; }

:一个数字,规定项目将相对于其他灵活的项目进行扩展的量。默认值是 0。

1CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

3. flex-shrink属性

.flex-container .flex-item { flex-shrink: <integer>; }

:一个数字,规定项目将相对于其他灵活的项目进行收缩的量。默认值是 1。

1CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

4. flex-basis属性

.flex-container .flex-item { flex-basis: <integer> | auto; }

:一个长度单位或者一个百分比,规定元素的初始长度。

auto:默认值。长度等于元素的长度。如果该项目未指定长度,则长度将根据内容决定。

5. flex属性

flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间。

flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性。

.flex-container .flex-item {
flex:flex-grow flex-shrink flex-basis|auto|initial|inherit;
}
描述
flex-grow 一个数字,规定项目将相对于其他元素进行扩展的量。
flex-shrink 一个数字,规定项目将相对于其他元素进行收缩的量。
flex-basis 项目的长度。合法值:"auto"、"inherit" 或一个后跟 "%"、"px"、"em" 或任何其他长度单位的数字。
auto 与 1 1 auto 相同。
none 与 0 0 auto 相同。
initial 设置该属性为它的默认值,即为 0 1 auto。
inherit 从父元素继承该属性。

6. align-self属性

.flex-container .flex-item {
align-self: auto|stretch|center|flex-start|flex-end|baseline|initial|inherit;
}
描述
auto 默认值。元素继承了它的父容器的 align-items 属性。如果没有父容器则为 "stretch"。
stretch 元素被拉伸以适应容器。
center 元素位于容器的中心。
flex-start 元素位于容器的开头。
flex-end 元素位于容器的结尾。
baseline 元素位于容器的基线上。
initial 设置该属性为它的默认值。
inherit 从父元素继承该属性。

1CSS3 が柔軟なレイアウトを実装する方法の詳細な説明

取值同 align-items。

参考

本文转载自:https://www.jianshu.com/p/5856c4ae91f2

相关推荐:CSS视频教程

以上がCSS3 が柔軟なレイアウトを実装する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は简书で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
クイックガルプキャッシュバストクイックガルプキャッシュバストApr 18, 2025 am 11:23 AM

CSSやJavaScript(および画像とフォントなど)などのアセットにファーアウトキャッシュヘッダーを確実に設定する必要があります。それはブラウザを伝えます

CSSの品質と複雑さを監視するスタックを探してCSSの品質と複雑さを監視するスタックを探してApr 18, 2025 am 11:22 AM

多くの開発者は、CSSコードベースを維持する方法について書いていますが、そのコードベースの品質をどのように測定するかについて多くの人が書いていません。確かに、私たちは持っています

データリストは、値を強制せずに値を提案するためのものですデータリストは、値を強制せずに値を提案するためのものですApr 18, 2025 am 11:08 AM

短い任意のテキストを受け入れるために必要なフォームを持っていたことがありますか?名前などのように。それはまさにそのためのものです。たくさんあります

チューリッヒでのフロント会議チューリッヒでのフロント会議Apr 18, 2025 am 11:03 AM

私は、フロント会議のためにスイスのチューリッヒに向かうことにとても興奮しています(その名前とURLが大好きです!)。私はこれまでスイスに行ったことがないので、興奮しています

CloudFlareワーカーとのフルスタックサーバーレスアプリケーションを構築しますCloudFlareワーカーとのフルスタックサーバーレスアプリケーションを構築しますApr 18, 2025 am 10:58 AM

ソフトウェア開発における私のお気に入りの開発の1つは、サーバーレスの出現です。詳細に行き詰まる傾向がある開発者として

NUXTアプリケーションで動的ルートを作成しますNUXTアプリケーションで動的ルートを作成しますApr 18, 2025 am 10:53 AM

この投稿では、私が構築して展開して展開してネットライフを使用して、着信データの動的ルートを作成する方法を示すeコマースストアのデモを使用します。それはかなりです

ずらんだCSSトランジションずらんだCSSトランジションApr 18, 2025 am 10:46 AM

楽しい視覚効果を得るために、要素を上に移動したいと言ってみましょう。

React状態管理にImmerを使用しますReact状態管理にImmerを使用しますApr 18, 2025 am 10:41 AM

状態を利用して、アプリケーションデータを追跡します。ユーザーがアプリケーションと対話するにつれて状態が変更されます。これが発生したら、状態を更新する必要があります

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール