【CSS3】 CSS3:彈性盒(Flex Box)
Flex版面是什麼
- flew-wrap
- align-self
- flex-flow
- 範例
- 骰子的佈局
- 聖杯的版面
- 參考文章
- 一, Flex佈局是什麼?它對於那些特殊佈局非常不方便,例如,垂直居中就不容易實現。 Flex佈局是W3C組織於2009年提出的佈局方案,可以簡單、完整、響應式地實現各種頁面佈局。目前,它已經得到了所有瀏覽器的支援。 Flex佈局將會成為未來佈局的首選方案。
只需要在容器中加入值為flex的display屬性。
-
.box{ display: flex; }
登入後複製 - 三,Flex的基本語法display
- 二,如何指定一個容器為Flex佈局
語法: 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: flex- baseline | stretch 設定彈性盒子元素在側軸(縱軸)方向上的對齊方式。 文法: flex-flow : nowrap | warp | warp-reverse align-content -end | center | space-between | space-around 設定各個行的對齊方式。 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元素(代表骰子的一个面)是Flex容器,span元素(代表一个点)是Flex项目。如果有多个项目,就要添加多个span元素,以此类推。 首先,只有左上角1个点的情况。Flex布局默认就是首行左对齐,所以一行代码就够了。 设置项目的对齐方式,就能实现居中对齐和右对齐。 设置交叉轴对齐方式,可以垂直移动主轴。 HTML代码如下。 CSS代码如下。 HTML代码如下。 CSS代码如下。 圣杯布局(Holy Grail Layout)指的是一种最常见的网站布局。页面从上到下,分成三个部分:头部(header),躯干(body),尾部(footer)。其中躯干又水平分成三栏,从左到右为:导航、主栏、副栏。 HTML代码如下: CSS代码入下: 以上就是【CSS3】 CSS3:弹性盒子(Flex Box)的内容,更多相关内容请关注PHP中文网(www.php.cn)!align-items
:
| flex
stretch🜎
<p class="box"> <span class="item">>>
1.1 单项目
.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;}
<p class="box"> <p class="column"><span class="item">><span class="item">> >
<p class="column"><span class="item">><span class="item">> >>
.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;
}
<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">> >>
.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,圣杯布局
<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>
.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;
}
}

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

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

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

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

本文討論了HTML&lt; meter&gt;元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了&lt; meter&gt;從&lt; progress&gt;和前

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

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

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