目次
1. レイアウトの従来のソリューションは、表示属性 + 位置属性 + フロート属性に依存しています。 。たとえば、垂直方向のセンタリングを実現するのが難しいなど、特殊なレイアウトでは非常に不便です。 Flex レイアウトは、2009 年に W3C 団体によって提案された、さまざまなページ レイアウトを簡単、完全、レスポンシブに実現できるレイアウト ソリューションです。現在、すべてのブラウザでサポートされています。フレックス レイアウトは、将来のレイアウトで推奨されるソリューションになります。
コンテナに flex の値を持つ表示属性を追加するだけです。
display
構文:
align-items
flow
content
:
1.1 单项目
1.2 双项目
1.3 三项目
1.4 四项目
1.5 六项目
1.6 九项目
    2,圣杯布局
ホームページ ウェブフロントエンド htmlチュートリアル 【CSS3】 CSS3:フレックスボックス

【CSS3】 CSS3:フレックスボックス

Dec 05, 2016 pm 01:26 PM

  1. Flexレイアウトとは

  2. コンテナをFlexレイアウトとして指定する方法

  3. Flexの基本構文

    1. display

    2. flex-direction

    3. コンテンツの正当化

    4. align-items

    5. flew-wrap

    6. align-self

    7. flex-flow

    8. flex

    9. order

    1. サイコロのレイアウト

    2. 聖杯レイアウト

  4. 参考記事

1. レイアウトの従来のソリューションは、表示属性 + 位置属性 + フロート属性に依存しています。 。たとえば、垂直方向のセンタリングを実現するのが難しいなど、特殊なレイアウトでは非常に不便です。 Flex レイアウトは、2009 年に W3C 団体によって提案された、さまざまなページ レイアウトを簡単、完全、レスポンシブに実現できるレイアウト ソリューションです。現在、すべてのブラウザでサポートされています。フレックス レイアウトは、将来のレイアウトで推奨されるソリューションになります。

2 番目に、コンテナを Flex レイアウトとして指定する方法

コンテナに flex の値を持つ表示属性を追加するだけです。

.box{
  display: flex;
}
ログイン後にコピー

三、Flexの基本構文

display

構文:display:flex;

Flexを指定します。

flex-direction

構文:
flex

-direction:|-反転||-反転

柔軟な子要素が親コンテナ内で配置される順序を指定します。これは、 direction:rtl; または direction:ltr; を設定することでも同様に実現できます。と ltr は右です to の略語左、左から右へ。 コンテンツの両端揃え

構文:

justify
-

content: flex-start | flex-end | center | space-beトゥイーン | スペース-

コンテンツjustify-content プロパティは、フレックス コンテナの主軸に沿ってフレックス項目を配置するためにフレックス コンテナに適用されます。 概念理解図:

その中で、スペースアラウンドについて、著者は簡単な公式をまとめました:

x=(W2-N*W1)/(2N)

x: 最も両側に残された幅。

W2: モジュールの幅です。

W1: サブモジュールの幅 (それぞれの場合でも)。

N:

align-items

構文: align-items: flex-start | flex-end | center | ベースライン|ストレッチ

横軸(縦軸)にフレキシブルボックス要素を設定します) 方向の位置合わせがオンです。

次の図は、読者がベースラインを理解するのに役立ちます。

構文: flex

-

flow

:
nowrap

| ワープリバースalign-content 構文:

align
-

content

:
flex

-start | flex -終了 | 中央|空間-の間|空間-周囲|ストレッチ セット各行の配置。 align-self

構文:
align

-

self

:

auto

| flex-start | flex-end | center | ベースライン |ストレッチ 弾性要素自体の軸交差方向の配置を設定します。この属性は align-content と区別する必要があります。align-content の範囲は各行ですが、align-self は特定の行内の特定の伸縮要素のみです。 flex-flow

構文: flex-direction と flex-wrap の略語。

flex

構文: flex:

flex-grow

flex-shrink

flex-basis
|auto|initial|inherit;

要素の割り当てスペースを指定します。 flex-basis が 100% の場合、flex モジュールは別の行を占有することに注意してください。 oder

構文: order:
number

|initial|inherit;

値が小さいほど優先度が高くなります。負の値にすることもできます。

4、例

1、サイコロの配置

サイコロの片面には最大9つの点を配置​​できます。

下面,就来看看Flex如何实现,从1个点到9个点的布局。你可以到codepen查看Demo。

如果不加说明,本节的HTML模板一律如下。

<p class="box">  <span class="item">>>
ログイン後にコピー

上面代码中,p元素(代表骰子的一个面)是Flex容器,span元素(代表一个点)是Flex项目。如果有多个项目,就要添加多个span元素,以此类推。

1.1 单项目

首先,只有左上角1个点的情况。Flex布局默认就是首行左对齐,所以一行代码就够了。

.box {  display: flex;}
ログイン後にコピー

设置项目的对齐方式,就能实现居中对齐和右对齐。

.box {  display: flex;  justify-content: center;}
ログイン後にコピー

.box {  display: flex;  justify-content: flex-end;}
ログイン後にコピー

设置交叉轴对齐方式,可以垂直移动主轴。

.box {  display: flex;  align-items: center;}
ログイン後にコピー

.box {  display: flex;  justify-content: center;  align-items: center;}
ログイン後にコピー

.box {  display: flex;  justify-content: center;  align-items: flex-end;}
ログイン後にコピー

.box {  display: flex;  justify-content: flex-end;  align-items: flex-end;}
ログイン後にコピー

1.2 双项目

.box {  display: flex;  justify-content: space-between;}
ログイン後にコピー

.box {  display: flex;  flex-direction: column;  
justify-content: space-between;}
ログイン後にコピー

.box {  display: flex;  flex-direction: column;  
justify-content: space-between;  align-items: center;}
ログイン後にコピー

.box {  display: flex;  flex-direction: column;  
justify-content: space-between;  align-items: flex-end;}
ログイン後にコピー

.box {  display: flex;}.item:nth-child(2) {  align-self: center;}
ログイン後にコピー

.box {  display: flex;  
justify-content: space-between;}.item:nth-child(2) {  align-self: flex-end;}
ログイン後にコピー

1.3 三项目

.box {  display: flex;}.item:nth-child(2) {  align-self: center;}.item:nth-child(3) {  
align-self: flex-end;}
ログイン後にコピー

1.4 四项目

.box {  display: flex;  flex-wrap: wrap;  justify-content: flex-end;  
align-content: space-between;}
ログイン後にコピー

HTML代码如下。

<p class="box">  <p class="column"><span class="item">><span class="item">>  >  
<p class="column"><span class="item">><span class="item">>  >>
ログイン後にコピー

CSS代码如下。

.box {  display: flex;  flex-wrap: wrap;  align-content: space-between;}
.column {  flex-basis: 100%;  display: flex;  justify-content: space-between;}
ログイン後にコピー

1.5 六项目

.box {  display: flex;  flex-wrap: wrap;  align-content: space-between;}
ログイン後にコピー

.box {  display: flex;  
flex-direction: column;  
flex-wrap: wrap;  
align-content: space-between;
}
ログイン後にコピー

HTML代码如下。

<p class="box">  <p class="row"><span class="item">>
<span class="item">><span class="item">>  >  <p class="row"><span class="item">>  >  
<p class="row"> <span class="item">> <span class="item">>  >>
ログイン後にコピー

CSS代码如下。

.box {  display: flex;  flex-wrap: wrap;}
.row{  flex-basis: 100%;  display:flex;}
.row:nth-child(2){  justify-content: center;}
.row:nth-child(3){  justify-content: space-between;}
ログイン後にコピー

1.6 九项目

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

2,圣杯布局

圣杯布局(Holy Grail Layout)指的是一种最常见的网站布局。页面从上到下,分成三个部分:头部(header),躯干(body),尾部(footer)。其中躯干又水平分成三栏,从左到右为:导航、主栏、副栏。

HTML代码如下:

<p class="flex-container">
  <header class="header">头部header>
  <article class="main"><p>主体p>
  article>
  <aside class="aside aside1">边栏 1aside>
  <aside class="aside aside2">边栏 2aside>
  <footer class="footer">底部footer>p>
ログイン後にコピー

CSS代码入下:

.flex-container {
display: -webkit-flex;display: flex;  
    -webkit-flex-flow: row wrap;flex-flow: row wrap;font-weight: bold;text-align: center;
}
.flex-container > * {padding: 10px;flex: 1 100%;
}
.main {text-align: left;background: cornflowerblue;
}
.header {background: coral;}
.footer {background: lightgreen;}
.aside1 {background: moccasin;}
.aside2 {background: violet;}@media all and (min-width: 600px) {.aside { flex: 1 auto; }}

@media all and (min-width: 800px) {
.main    
{ 
flex: 3 0px; 
}
.aside1 
{ 
order: 1; 
} 
    .main    
    { order: 2; 
    }
    .aside2 { order: 3; }
    .footer  
    { 
    order: 4; 
    }
    }
ログイン後にコピー


以上就是【CSS3】 CSS3:弹性盒子(Flex Box)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

See all articles