好,本文屬于技術類文章,建議有本領域的技術基礎者閱讀,以便更好地理解。
這篇文章分兩個步驟講解,如下:
第一步:什么是 flex + div 呢?
flex 是CSS的一套布局方案,一個一維布局模型;是Flexible Box的縮寫,意思就算“彈性布局”,理解flex概念使用,記住下面兩點即可:
div 其就是一個普通HTML元素標簽,大部分內容都是可以基于這個元素標簽封裝的,形成一個復用性大,共用性好的新元素標簽。
第二步:如何使用 flex + div 來繪制作品,哪些場景的作品可以使用?
首先如何使用,下面我們直接看一個封裝好的例子元素標簽,給拆解出來講解如何使用,其他舉一反三即可:
圖-1-1
這是一個普通貨品上架的卡片信息內容,它就是一個flex+div結構繪制,被紅線圈出來,都是一個個的flex+div內容布局,外層定義flex容器,內部就是該flex容器子元素內容,這些內容子元素,都flex布局排列x-y軸方向的信息,簡單吧!所以幾乎大部分的頁面內容都可以使用這flex+div方式可以封裝你的業務標簽組件,以便復用,flex布局元素排列好,設置每個元素的內外邊距、樣式、字體、顏色這些標簽屬性,就看到這樣一個通用的普通組件標簽場景了。
簡單吧!這就是一個flex+div繪制互聯網作品,商品上架的貨品卡片,多個就復用該標簽組件形成一個列表展示了。
如下代碼標簽,就是這個貨品使用flex + div方式繪制的,只有你確定了頁面內容flex結構層級,即可快速繪制出來:
圖-1-2
哪些場景會用到了,網站、小程序、管理系統等這些互聯網作品基本都會用它的,按業務需求場景去封裝你的作品輸出服務。
簡單吧!學會flex + div,在你的互聯網產品繪制之路,快速便捷的實戰,無論是自由原創、還是看圖仿制都是可以的,不限制你的想象空間,就像我們畫家一樣,可以自由創作作品,也可看圖,看景創景作品,實際工作是會溝通好場景需求,在去創作,才服務滿足顧客需求意向,以更好去交付獲得收益。
拜拜!下期再見!
lex布局(Flexible Box Layout)是一種CSS3中的新型布局模式,旨在提供更加靈活和響應式的布局解決方案,以滿足現代網頁設計的需求。以下是關于Flex布局的詳細介紹和示例:
一、Flex布局概述
在傳統的布局模式中,元素的排列通常是基于塊或行,這使得在某些場景下很難實現靈活的布局。例如,要使元素在容器中均勻分布或控制元素之間的對齊方式,這往往是非常困難的。因此,CSS3引入了Flex布局,以解決這些問題。
Flex布局是由兩部分組成的:flex容器(flex container)和flex項目(flex items)。flex容器是包含flex項目的元素,而flex項目是容器中的子元素。
在Flex布局中,flex容器可以設置一系列屬性來控制flex項目的布局和對齊方式。這些屬性包括:
除了以上屬性,還有許多其他屬性可以用于控制Flex布局的細節,如flex-grow(用于控制元素的放大比例)、flex-shrink(用于控制元素的縮小比例)和flex-basis(用于設置元素的基本尺寸)。
二、Flex布局示例
下面是一個簡單的Flex布局示例,展示了如何創建一個具有均勻分布的元素的容器。
<!DOCTYPE html>
<html>
<head>
<style>
.container {
display: flex;
justify-content: space-between;
align-items: center;
background-color: lightblue;
padding: 20px;
}
.item {
width: 200px;
height: 100px;
background-color: lightgreen;
}
</style>
</head>
<body>
<div class="container">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
</body>
</html>
在上面的示例中,我們首先定義了一個名為.container的類,它設置了display: flex;屬性,這使得該元素成為一個flex容器。然后,我們使用justify-content: space-between;屬性將子元素在主軸上均勻分布。align-items: center;屬性將子元素在交叉軸上居中對齊。最后,我們為子元素定義了寬度、高度和背景顏色。
在這個例子中,三個子元素在容器中均勻分布,并且位于交叉軸的中央。通過這個簡單的示例,我們可以看到Flex布局可以非常容易地實現靈活的布局和對齊方式。
篇系統介紹了flex的語法及基本知識,如果您還不熟悉flex知識,點擊這里先看看《 前端入門——彈性布局(Flex)》。本篇將結合flex基本知識去實現常見的網頁布局效果,常見的經典網頁布局有:
上下結構
html:
<main>
<header>header</header>
<section>content</section>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
flex-direction: column;
}
main > header{
height: 100px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
}
左右結構
html:
<main>
<nav>left nav</nav>
<section>content</section>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
}
main > nav{
width:150px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
}
上中下結構
html:
<main>
<header>header</header>
<section>content</section>
<footer>footer</footer>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
flex-direction: column;
}
main > header,
main > footer{
height: 100px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
}
左中右結構
html:
<main>
<nav>left nav</nav>
<section>content</section>
<aside>right aside</aside>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
}
main > nav,
main > aside{
width:150px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
}
1、上中下結構里,中間區域嵌套左中右結構
圣杯布局1
html:
<main>
<header>header</header>
<section>
<!--嵌套左中右結構-->
<nav>left nav</nav>
<section>content</section>
<aside>right aside</aside>
</section>
<footer>footer</footer>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
flex-direction: column;
}
main > header,
main > footer{
height: 100px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
display:flex;
}
/*嵌套的左中右結構*/
main > section > nav,
main > section > aside{
width:150px;
background: #fdcdcd;
}
main > section > section{
width:100%;
flex-grow:1;
}
2、左中右結構里,中間區域嵌套上中下結構
圣杯布局2
html:
<main>
<nav>left nav</nav>
<section>
<!--嵌套上中下結構-->
<header>header</header>
<section>content</section>
<footer>footer</footer>
</section>
<aside>right aside</aside>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
}
main > nav,
main > aside{
width:150px;
background: #cdf0fd;
}
main > section{
flex-grow:1;
width:100%;
display:flex;
flex-direction: column;
}
/*嵌套的上中下結構*/
main > section > header,
main > section > footer{
height: 100px;
background: #fdcdcd;
}
main > section > section{
flex-grow:1;
}
9宮格
html:
<main>
<section>content 1 </section>
<section>content 2 </section>
<section>content 3 </section>
<section>content 4 </section>
<section>content 5 </section>
<section>content 6 </section>
<section>content 7 </section>
<section>content 8 </section>
<section>content 9 </section>
</main>
css:
main{
width:100%;
height:100vh;
display:flex;
flex-wrap: wrap;
}
main > section{
width: 30%;
background:#55ff00;
margin: 1.5%;
}
以上是常見的經典布局,在這些布局的基礎上可以組合、拆分制作各種各樣的布局,如果結合position:fixed定位還可以實現頭部或側邊欄固定的布局效果。
以上布局使用傳統的float、position也可以實現,只是相對來說比較麻煩一些,已不建議使用,所以了解下就可以了。
雖然flex可以滿足大部分布局,但是flex并不擅長柵格布局,后面會介紹display:grid(網格布局),網格是一組相交的水平線和垂直線,它定義了網格的列和行。所以使用網格布局能夠構建更加復雜的網頁設計。
感謝關注,希望能夠給你有所幫助,歡迎提出錯誤,補充。
上篇:前端入門——彈性布局(Flex)
下篇:前端入門 —— 網格布局(Grid)
源碼鏈接: https://pan.baidu.com/s/1bdZM8ZcdU3FdSCp2u0sx8A?pwd=9ub2
提取碼: 9ub2
*請認真填寫需求信息,我們會在24小時內與您取得聯系。