検索

Flexbox(伸缩布局盒) 是 CSS3 中一个新的布局模式,为了现代网络中更为复杂的网页需求而设计。

Flexbox 由 伸缩容器 和 伸缩项目 组成。通过设置元素的 display 属性为    flex  或  inline-flex     可以得到一个伸缩容器

            设置为flex的容器被渲染为一个块级元素,而设置为inline-flex的容器则渲染为一个行内元素。

例如:此处将 类名为   flex-container   的元素设置为伸缩容器

.flex-container {
display-webkit-flex;
displayflex;
}

伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。伸缩容器外和伸缩项目内的一切元素都不受影响。

简单地说,Flexbox 定义了伸缩容器内伸缩项目该如何布局。

 

Flex Lines 伸缩行       

伸缩项目沿着伸缩容器内的一个 伸缩行 定位。通常每个伸缩容器只有一个伸缩行。  默认伸缩行从左往右

例子:

<span style="color: #008080;"> 1</span> <span style="color: #800000;"><div class="flex-container">
<span style="color: #008080;"> 2</span> <span style="color: #800000;"><div class="flex-item">flex item 1</div>
</span><span style="color: #008080;"> 3</span> <span style="color: #800000;"><div class="flex-item">flex item 2</div>
</span><span style="color: #008080;"> 4</span> <span style="color: #800000;"></span>
</div>
</span><span style="color: #008080;"> 5</span> 
<span style="color: #008080;"> 6</span> <span style="color: #800000;">样式:
</span><span style="color: #008080;"> 7</span> 
<span style="color: #008080;"> 8</span> <span style="color: #800000;">.flex-container </span>{
<span style="color: #008080;"> 9</span> <span style="color: #ff0000;">display</span>:<span style="color: #0000ff;"> -webkit-flex</span>;
<span style="color: #008080;">10</span> <span style="color: #ff0000;">display</span>:<span style="color: #0000ff;"> flex</span>;
<span style="color: #008080;">11</span> <span style="color: #ff0000;">width</span>:<span style="color: #0000ff;"> 300px</span>;
<span style="color: #008080;">12</span> <span style="color: #ff0000;">height</span>:<span style="color: #0000ff;"> 240px</span>;
<span style="color: #008080;">13</span> <span style="color: #ff0000;">background-color</span>:<span style="color: #0000ff;"> Silver</span>;
<span style="color: #008080;">14</span> }
<span style="color: #008080;">15</span> 
<span style="color: #008080;">16</span> <span style="color: #800000;">.flex-item </span>{
<span style="color: #008080;">17</span> <span style="color: #ff0000;">background-color</span>:<span style="color: #0000ff;"> DeepSkyBlue</span>;
<span style="color: #008080;">18</span> <span style="color: #ff0000;">width</span>:<span style="color: #0000ff;"> 100px</span>;
<span style="color: #008080;">19</span> <span style="color: #ff0000;">height</span>:<span style="color: #0000ff;"> 100px</span>;
<span style="color: #008080;">20</span> <span style="color: #ff0000;">margin</span>:<span style="color: #0000ff;"> 5px</span>;
<span style="color: #008080;">21</span> }
View Code

 

效果图:

再加

<div class="flex-item">flex item 3</div>
<div class="flex-item">flex item 4</div><br><br>伸缩项目的宽度超过了 伸缩容器的宽度,伸缩容器的宽度不会改变,伸缩项目的宽度减小<br><br><br><br>
<span style="color: #008080;"> 1</span> <span style="color: #800000;"><div class="flex-container">
<span style="color: #008080;"> 2</span> <span style="color: #800000;"><div class="flex-item">flex item 1</div>
</span><span style="color: #008080;"> 3</span> <span style="color: #800000;"><div class="flex-item">flex item 2</div>
</span><span style="color: #008080;"> 4</span> <span style="color: #800000;"></span>
</div>
</span><span style="color: #008080;"> 5</span> 
<span style="color: #008080;"> 6</span> 
<span style="color: #008080;"> 7</span> <span style="color: #800000;">CSS样式
</span><span style="color: #008080;"> 8</span> <span style="color: #800000;">.flex-container </span>{
<span style="color: #008080;"> 9</span> <span style="color: #ff0000;">   direction</span>:<span style="color: #0000ff;"> rtl</span>;
<span style="color: #008080;">10</span> <span style="color: #ff0000;">    display</span>:<span style="color: #0000ff;"> -webkit-flex</span>;
<span style="color: #008080;">11</span> <span style="color: #ff0000;">    display</span>:<span style="color: #0000ff;"> flex</span>;
<span style="color: #008080;">12</span> <span style="color: #ff0000;">    width</span>:<span style="color: #0000ff;"> 300px</span>;
<span style="color: #008080;">13</span> <span style="color: #ff0000;">    height</span>:<span style="color: #0000ff;"> 240px</span>;
<span style="color: #008080;">14</span> <span style="color: #ff0000;">    background-color</span>:<span style="color: #0000ff;"> Silver</span>;
<span style="color: #008080;">15</span>     
<span style="color: #008080;">16</span> }
<span style="color: #008080;">17</span> 
<span style="color: #008080;">18</span> <span style="color: #800000;">.flex-item </span>{
<span style="color: #008080;">19</span> <span style="color: #ff0000;">    background-color</span>:<span style="color: #0000ff;"> DeepSkyBlue</span>;
<span style="color: #008080;">20</span> <span style="color: #ff0000;">    width</span>:<span style="color: #0000ff;"> 100px</span>;
<span style="color: #008080;">21</span> <span style="color: #ff0000;">    height</span>:<span style="color: #0000ff;"> 100px</span>;
<span style="color: #008080;">22</span> <span style="color: #ff0000;">    margin</span>:<span style="color: #0000ff;"> 5px</span>;
<span style="color: #008080;">23</span> }
View Code

效果:

伸缩行从右往左,文字也从右往左

 

 

为了描述抽象的书写模式,Flexbox 使用 主轴 和 侧轴的概念。伸缩行跟随主轴。侧轴则垂直于主轴。

flex-direction 伸缩流的方向

默认值  row   

再次提醒,默认是从左至右,从上到下。其他的值如下:

  • row-reverse: 主轴起点和主轴终点交换。如果书写模式是从左至右,伸缩项目则是从左往右显示。
  • column: 主轴和侧轴交换。如果书写系统是垂直的,那么伸缩项目也是垂直显示的。
  • column-reverse: 和 column 一样,但是方向相反。

 

justify-content 主轴对齐

 

用于调整主轴上伸缩项目的位置。可能的值为:

  • flex-start (默认)
  • flex-end
  • center
  • space-between
  • space-around

 

 align-items 侧轴对齐

调整伸缩项目在侧轴上的定位方式。可能的值有:

  • flex-start (默认)
  • flex-end
  • center
  • baseline
  • stretch

 

flex-wrap 伸缩行换行

为伸缩容器创建多个伸缩行。这个属性接受以下值:

  • nowrap (默认)
  • wrap
  • wrap-reverse

 

align-content 堆栈伸缩行

它对齐的是伸缩行,它接受的值:

  • stretch (默认)
  • flex-start
  • flex-end
  • center
  • space-between
  • space-around

 

flex-flow 伸缩方向与换行    是flex-directionflex-wrap的缩写。

 

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

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTMLとコード:用語を詳しく見るHTMLとコード:用語を詳しく見るApr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

HTML、CSS、およびJavaScript:Web開発者に不可欠なツールHTML、CSS、およびJavaScript:Web開発者に不可欠なツールApr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

HTML、CSS、およびJavaScriptの役割:コアの責任HTML、CSS、およびJavaScriptの役割:コアの責任Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

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

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

HTMLでの開始タグの例は何ですか?HTMLでの開始タグの例は何ですか?Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

CSSのフレックスボックスレイアウトを使用して、メニューの点線のラインセグメンテーション効果のセンターアラインメントを実現する方法は?CSSのフレックスボックスレイアウトを使用して、メニューの点線のラインセグメンテーション効果のセンターアラインメントを実現する方法は?Apr 05, 2025 pm 01:24 PM

メニューで点線のラインセグメンテーション効果を設計する方法は?メニューを設計するときは、通常、皿の名前と価格の間に左右に合わせることは難しくありませんが、真ん中の点線またはポイントはどうですか...

オンラインコードエディターはコード入力を実装するためにどのようなHTML要素を使用していますか?オンラインコードエディターはコード入力を実装するためにどのようなHTML要素を使用していますか?Apr 05, 2025 pm 01:21 PM

WebコードエディターのHTML要素分析では、多くのオンラインコードエディターを使用すると、ユーザーはHTML、CSS、およびJavaScriptコードを入力できます。最近、誰かが提案した...

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

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MantisBT

MantisBT

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

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