目錄
align-items
🜎
1.1 单项目
1.2 双项目
1.3 三项目
1.4 四项目
1.5 六项目
1.6 九项目
    2,圣杯布局
首頁 web前端 html教學 【CSS3】 CSS3:彈性盒(Flex Box)

【CSS3】 CSS3:彈性盒(Flex Box)

Dec 05, 2016 pm 01:26 PM

  1. Flex版面是什麼

  2. justify-content
  3. align-items
    1. flew-wrap
    2. align-self
    3. flex-flow
    4. 範例
    5. 骰子的佈局
    6. 聖杯的版面
    7. 參考文章

    8. 一, Flex佈局是什麼?它對於那些特殊佈局非常不方便,例如,垂直居中就不容易實現。 Flex佈局是W3C組織於2009年提出的佈局方案,可以簡單、完整、響應式地實現各種頁面佈局。目前,它已經得到了所有瀏覽器的支援。 Flex佈局將會成為未來佈局的首選方案。
  4.  
    1. 二,如何指定一個容器為Flex佈局
    2. 只需要在容器中加入值為flex的display屬性。

    3. .box{
        display: flex;
      }
      登入後複製

    4.  
  5. 三,Flex的基本語法

    display

語法: display:flex;

display

語法:display:flex;

 flex-direction

語法: 

flex

-

direction

:

row

|

row🜎

。這個也可以透過設定 direction:rtl; 或是

:等效實現,其中的rtl、ltr是right to left、left to right的簡寫。 justify content 文法: justify-content: flex-start |c flex- -between | space- around

內容對齊(justify-content)屬性應用在彈性容器上,把彈性項沿著彈性容器的主軸線(main axis)對齊。

其中space-around,筆者總結了一個簡單的公式:

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

x:最兩邊留下的寬度。

W2:就是模組的width。

W1:一個子模組的寬度(每個均勻)。

N:

align-items

文法: align-items: flex- baseline | stretch

設定彈性盒子元素在側軸(縱軸)方向上的對齊方式。 文法: flex-flow : nowrap | warp | warp-reverse

align-content

|
flex

-end | center | space-between | space-around

|
stretch

🜎

 設定各個行的對齊方式。 align-self文法: align-self: auto | flex -auto | | center | baseline | stretch

在彈性。這個屬性要區別與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%,那麼該彈性模組就會單獨佔一行。 oder語法: order: number|initial|inherit;指定彈性模組的排列順序,其中值越小,越優先,可以為負值。  四,例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 Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML5中跨瀏覽器兼容性的最佳實踐是什麼? HTML5中跨瀏覽器兼容性的最佳實踐是什麼? Mar 17, 2025 pm 12:20 PM

文章討論了確保HTML5跨瀏覽器兼容性的最佳實踐,重點是特徵檢測,進行性增強和測試方法。

&gt; gt;的目的是什麼 元素? &gt; gt;的目的是什麼 元素? Mar 21, 2025 pm 12:34 PM

本文討論了HTML&lt; Progress&gt;元素,其目的,樣式和與&lt; meter&gt;元素。主要重點是使用&lt; progress&gt;為了完成任務和LT;儀表&gt;對於stati

&lt; datalist&gt;的目的是什麼。 元素? &lt; datalist&gt;的目的是什麼。 元素? Mar 21, 2025 pm 12:33 PM

本文討論了html&lt; datalist&gt;元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

如何使用HTML5表單驗證屬性來驗證用戶輸入? 如何使用HTML5表單驗證屬性來驗證用戶輸入? Mar 17, 2025 pm 12:27 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;和前

視口元標籤是什麼?為什麼對響應式設計很重要? 視口元標籤是什麼?為什麼對響應式設計很重要? Mar 20, 2025 pm 05:56 PM

本文討論了視口元標籤,這對於移動設備上的響應式Web設計至關重要。它解釋瞭如何正確使用確保最佳的內容縮放和用戶交互,而濫用可能會導致設計和可訪問性問題。

&lt; iframe&gt;的目的是什麼。 標籤?使用時的安全考慮是什麼? &lt; iframe&gt;的目的是什麼。 標籤?使用時的安全考慮是什麼? Mar 20, 2025 pm 06:05 PM

本文討論了&lt; iframe&gt;將外部內容嵌入網頁,其常見用途,安全風險以及諸如對象標籤和API等替代方案的目的。

HTML容易為初學者學習嗎? HTML容易為初學者學習嗎? Apr 07, 2025 am 12:11 AM

HTML適合初學者學習,因為它簡單易學且能快速看到成果。 1)HTML的學習曲線平緩,易於上手。 2)只需掌握基本標籤即可開始創建網頁。 3)靈活性高,可與CSS和JavaScript結合使用。 4)豐富的學習資源和現代工具支持學習過程。

See all articles