日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

CSS3的弹性盒子flex详解(1)

發布時間:2024/2/28 CSS 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CSS3的弹性盒子flex详解(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

彈性盒子的屬性分為盒子的屬性和子項的屬性,先介紹盒子的屬性吧,子項的屬性下一篇講


目錄

1.dislay

2.flex-direction

3.flex-wrap

4.align-items

5.?justify-content

6.align-content


1.dislay

表示盒子為彈性盒子的屬性值有flex,inline-flex

(1)flex:該彈性盒子為塊元素,如【例1-1】

(2)inline-flex:該彈性盒子為行級塊元素。如【例1-2】

【例1-1】flex

效果

?代碼

<!DOCTYPE html> <html lang="en"> <head><style>* {margin: 0;padding: 0;}.wrapper {margin: 20px;width: 150px;height: 150px;border: 1px solid #424242;display: flex;}.wrapper .content {text-align: center;width: 50px;height: 50px;line-height: 50px;background-color: #f88;border: 1px solid #88f;box-sizing: border-box;}</style> </head> <body><div class="wrapper"><div class="content">1</div><div class="content">2</div><div class="content">3</div></div><a href="">flex</a> </body> </html> </html>

【例1-2】inline-flex:上例代碼中display屬性值修改為inline-flex,a標簽文本內容修改為inline-flex,結果如下

2.flex-direction

該屬性可設置主軸的方向,交叉軸與主軸垂直,屬性值有row,row-reverse,column,column-reverse

【注】主軸方向確定了子項的排列方向

(1)row(默認值):主軸水平,方向從左向右【例2-1】

(2)row-reverse:主軸水平,方向從右向左【例2-2】

(3)column:主軸垂直,方向從上到下【例2-3】

(4)column-reverse:主軸垂直,方向從下到上【例2-4】

【例2-1】給【例1-1】中wrapper的樣式中添加屬性flex-direction: row,且刪除a標簽,CSS代碼如下

.wrapper {margin: 20px;width: 300px;height: 150px;border: 1px solid #424242;display: flex;flex-direction: row; }

結果

row

【例2-2】將上例中flex-direction屬性值設為row-reverse,結果如下

row-reverse

【例2-3】將上例中flex-direction屬性值設為column,結果如下

column

【例2-4】將上例中flex-direction屬性值設為column-reverse,結果如下

column-reverse

3.flex-wrap

該屬性可以設置flex盒子是多行還是單行,有三個屬性值nowrap,wrap,?wrap-reverse

(1)nowrap(默認值):單行,且對子項的寬度進行壓縮【例3-1】

(2)wrap:折成多行【例3-2】

(3)wrap-reverse:反轉wrap排列,注意反轉的效果【例3-3】

【例3-1】將例【2-1】中wrapper的樣式修改如下css代碼,并添加兩個content如下html代碼

html代碼

<div class="wrapper"><div class="content">1</div><div class="content">2</div><div class="content">3</div><div class="content">4</div><div class="content">5</div> </div>

css代碼?

.wrapper {margin: 20px;width: 150px;height: 150px;border: 1px solid #424242;display: inline-flex;flex-wrap: nowrap; }

結果

nowrap

?【例3-2】將上例中flex-wrap的屬性值設置為wrap,結果如下

wrap

??【例3-3】將上例中flex-wrap的屬性值設置為wrap-reverse,結果如下

wrap-reverse

4.align-items

設置交叉軸上的的對齊方式,五個屬性值flex-start,flex-end,center,baseline,stretch?

(1)flex-start(默認):子項在彈性盒子交叉軸的起始位置【例4-1】

(2)flex-end:子項在彈性盒子交叉軸的終止位置【例4-2】

(3)center:子項在交叉軸的中間位置【例4-3】

(4)baseline:子項相對于文本對齊【例4-4】

(5)stretch(默認值):當子項沒有在交叉軸上設置高?/ 寬(主軸水平 / 主軸垂直)時,該屬性值可以在使子項的高?/ 寬拉伸至充滿盒子,如【例4-5】

【例4-1】flex-start

代碼

<!DOCTYPE html> <html lang="en"> <head><style> .wrapper {margin: 20px;width: 150px;height: 150px;border: 1px solid #424242;display: flex;align-items: flex-start; } .wrapper .content {text-align: center;width: 50px;height: 50px;line-height: 50px;background-color: #f88;border: 1px solid #88f;box-sizing: border-box; }</style> </head> <body><div class="wrapper"><div class="content">1</div><div class="content">2</div><div class="content">3</div></div> </body> </html>

結果

flex-start

【例4-2】flex-end:將上例align-items的屬性值設置為flex-end,結果如下

flex-end

?【例4-3】center:將上例align-items的屬性值設置為center,結果如下

center

?【例4-4】baseline:修改上例html代碼中第一個content如下

<div class="content" style="margin-top: 5px;">1</div>

刪除align-center屬性,此時結果如下

然后添加align-items: baseline,此時結果如下

baseline

【例4-5】刪除【例4-1】中子項content的高度,且將align-items的屬性值設置為stretch,結果如下

stretch

5.?justify-content

當彈性盒里一行上的所有子元素都不能伸縮或已經達到其最大值時,這一屬性可協助對多余的空間進行分配。當元素溢出某行時,這一屬性同樣會在對齊上進行控制,有5個屬性值flex-start,flex-end,center,space-between,space-around

(1)flex-start(默認)【例5-1】

(2)flex-end【例5-2】

(3)center【例5-3】

(4)space-between:第一個和最后一個子項分別置于主軸的兩頭,中間部分自適應分配,相鄰子項間隔相等,如【例5-4】

(5)space-around:子項等間隔分布,且子項與子項之間的間隔是第一個或者最后一個子項距離盒子邊的二倍,如【例5-5】

【例5-1】flex-start

<!DOCTYPE html> <html lang="en"> <head><style> .wrapper {margin: 20px;width: 250px;height: 150px;border: 1px solid #424242;display: flex;justify-content: flex-start; } .wrapper .content {text-align: center;width: 50px;height: 50px;line-height: 50px;background-color: #f88;border: 1px solid #88f;box-sizing: border-box; }</style> </head> <body><div class="wrapper"><div class="content">1</div><div class="content">2</div><div class="content">3</div></div> </body> </html>

結果

flex-start

【例5-2】flex-end,修改上例justify-content屬性值為flex-end,結果如下

flex-end

?【例5-3】center,修改上例justify-content屬性值為center,結果如下

?

center

?【例5-4】space-between,修改上例justify-content屬性值為space-between,結果如下

space-between

?【例5-5】space-around,修改上例justify-content屬性值為space-around,結果如下

space-around

?

6.align-content

多行沿交叉軸的對其方向,五個屬性值flex-start,flex-end,center,space-between,space-around,stretch

【例6-1】center

<!DOCTYPE html> <html lang="en"> <head><style> .wrapper {margin: 20px;width: 250px;height: 250px;border: 1px solid #424242;display: flex;flex-wrap: wrap;align-content: center; } .wrapper .content {text-align: center;width: 50px;height: 50px;line-height: 50px;background-color: #f88;border: 1px solid #88f;box-sizing: border-box; }</style> </head> <body><div class="wrapper"><div class="content">1</div><div class="content">2</div><div class="content">3</div><div class="content">4</div><div class="content">5</div><div class="content">6</div><div class="content">7</div><div class="content">8</div><div class="content">9</div><div class="content">10</div></div> </body> </html>

結果

center

其他屬性不做贅述,可以自己試一試?

總結

以上是生活随笔為你收集整理的CSS3的弹性盒子flex详解(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。