ホームページ >ウェブフロントエンド >htmlチュートリアル >flexbox_html/css_WEB-ITnose の概要
1. 概要
モバイル レイアウトではフローティングはもはや重要ではなくなり、フレックス ボックス モデルの重要性がますます高まっています。
flexbox经历过三个版本,主要区别是2009年到2012年之间的语法变化。最新的语法和现在规范是同步的(例display:flex和“flex-{*}”属性)。在这之间的语法是2011年出现的非官方语法,只能被IE识别(例display:flexbox;display: -ms-flexbox)。最老的语法产生于2009年(例display: box;或者“box-{*}”属性)
Flexbox は、複雑なレイアウトを実現できる CSS3 の新しいボックス モデルです。 Flexbox は、Firefox、Opera、および chrome ブラウザでは完全にはサポートされていませんが、それらのプライベート プロパティを使用して、Firefox (-moz)、opera (-o)、chrome/safari (-webkit) を定義できます。
フレックスボックスの古典的なレイアウトアプリケーションは、垂直均等高さ、水平分割、および比例分割です。
2. フレックスボックスの一般的に使用される属性box-align:start|end|center|baseline|ストレッチ; 親コンテナ内の子コンテナの
垂直2. 子要素に使用されるスタイル
<style> .parent{ width: 500px; height: 200px; display: -webkit-box; -webkit-box-orient: horizontal;/* 虽然默认的排列方式是水平的,但是为了区分起见,加上该属性 */ } .child-one{ background: lightblue; -webkit-box-flex: 1; } .child-two{ background: lightgray; -webkit-box-flex: 2; } .child-three{ background: lightgreen; -webkit-box-flex: 3; } </style></head><div style="display: -webkit-box;-webkit-box-pack: center;border: 1px solid #000;"><!---webkit-box-pack:center让.parent水平居中--> <div class="parent"> <div class="child-one">1</div> <div class="child-two">2</div> <div class="child-three">3</div> </div></div>
子要素の高さが固定されている場合、子要素は水平方向に配置されます。 、垂直方向の配置を中央揃えに設定します。
<style> .parent{ width: 500px; height: 200px; display: -webkit-box; background-color:pink; -webkit-box-orient: horizontal;/* 虽然默认的排列方式是水平的,但是为了区分起见,加上该属性 */ } .child-one{ background: lightblue; -webkit-box-flex: 1; } .child-two{ background: lightgray; -webkit-box-flex: 2; } .child-three{ background: lightgreen; /*定宽,并加上左右margin,父元素加上粉色背景色更好理解*/ width:150px; margin:0 15px; } </style></head><div style="display: -webkit-box;-webkit-box-pack: center;border: 1px solid #000;"><!---webkit-box-pack:center让.parent水平居中--> <div class="parent"> <div class="child-one">1</div> <div class="child-two">2</div> <div class="child-three">3</div> </div></div>
4. クラシック レイアウト
フレックスボックスのクラシック レイアウト アプリケーションは、垂直均等高さ、水平均等分割、比例分割、水平垂直センタリングであり、モバイル ポップアップ ウィンドウも実現できます。
1. 垂直方向の高さ、水平方向の分割、比率に従って分割します
<style> .parent{ width: 400px; height: 600px; display: -webkit-box; background-color:pink; -webkit-box-orient: vertical;/*子元素垂直排列 */ } .child-one{ background: lightblue; -webkit-box-flex: 1; } .child-two{ background: lightgray; -webkit-box-flex: 2; } .child-three{ background: lightgreen; /*定高,有上下margin,父元素加上粉色背景色更好理解*/ height:200px; margin:15px 0; } </style></head><div style="display: -webkit-box;-webkit-box-pack: center;border: 1px solid #000;"><!---webkit-box-pack:center让.parent水平居中--> <div class="parent"> <div class="child-one">1</div> <div class="child-two">2</div> <div class="child-three">3</div> </div></div>
完全なデモ
<style> .parent{ width: 400px; height: 200px; display: -webkit-box; background-color:pink; -webkit-box-orient: horizontal; /*-webkit-box-align:center;/*父元素中子元素水平排列,定高时设置垂直方向对齐方式为垂直居中*/ } .child-one{ background: lightblue; -webkit-box-flex: 1; height:100px; } .child-two{ background: lightgray; -webkit-box-flex: 2; height:110px; } .child-three{ background: lightgreen; -webkit-box-flex: 2; height:120px; } </style></head><div style="display: -webkit-box;-webkit-box-pack: center;border: 1px solid #000;"><!---webkit-box-pack:center让.parent水平居中--> <div class="parent"> <div class="child-one">1</div> <div class="child-two">2</div> <div class="child-three">3</div> </div></div>
2. 水平方向の中央揃え
.parent{display: -webkit-box; display: -webkit-flex; display: flex;}.child{-webkit-box-flex: 1; -webkit-flex: 1; flex: 1;}
完全なデモ:
3. 垂直方向のセンタリング
<style> .parent{display: -webkit-box; display: -webkit-flex; display: flex; height:100px; width:150px; background-color:pink;} .child{-webkit-box-flex: 1; -webkit-flex: 1; flex: 1; border:1px solid green; }</style><div class="parent"> <div class="child"></div> <div class="child"></div> <div class="child"></div></div>
完全なデモ
4. モバイル側のポップアップ ウィンドウ
モバイル側の多くのポップアップ ウィンドウ コンポーネントは、div を直接ネストして、フレックスボックスを使用して実装されています。オーバーレイ>div.pop.
.parent{display: -webkit-box; display: -webkit-flex; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; justify-content: center;}5. 互換性
PC:
プレフィックスなし: Chrome 29+、Firefox 28+、IE 11+、Opera 17+
プレフィックスが必要です: Chrome 21+、Safari 6.1 以降、Opera 15 以降では、プレフィックス -webkit-
が必要です。 ヒント:Firefox の古いバージョン (22-27) は、flex-wrap と flex-flow に加えて、新しい構文をサポートしています。 Opera (12.1+ - 17+) はプライベート プレフィックスなしで flex を使用できますが、中間バージョン 15 および 16 ではプライベート プレフィックスが必要です。
モバイル:
プレフィックスなし: Android 4.4+、Opera mobile 12.1+、BlackBerry 10+、Chrome for Android 39+、Firefox for Android 33+、IE 11+ mobile
必須プレフィックス: iOS 7.1+ 必須プレフィックス-webkit-
6. リソースリンクdisplay:-webkit-box
Flexbox 完全ガイド Flexbox の探索
starof、この記事の著者、なぜなら知識自体が著者は常に学習し成長しており、記事の内容は随時更新されます。読者の誤解を避け、出典を追跡しやすくするため、転載する際には出典を明記してください。ご質問がございましたら、お気軽にお問い合わせください。自由に私と話し合って一緒に進歩してください。