麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > WEB開發 > 正文

圖文并茂!8 張 Gif 圖學會 Flexbox

2024-04-27 15:18:09
字體:
來源:轉載
供稿:網友

這里寫圖片描述

Flexbox 實現了幫助我們脫離 CSS 苦海(例如垂直居中)的目標,但想精通它卻需要你應對一些挑戰。所以,我們將通過一些動畫讓你直觀地了解 Flexbox 的工作原理,并使用它來構建靈活的布局。

為了達成這一目標,它讓容器決定如何分配容器成員的大小以及空間。這聽起來相當不錯,那么,讓我們來看看實踐中它是如何工作的。

在本文中,我們將深入的探討 Flexbox 中 5 個常見的屬性。看看它們能做什么,如何使用它們,以及使用它們構建的布局是什么樣的。


屬性 1: display: Flex

以下是示例頁面: 這里寫圖片描述

我們可以看到,在灰色的容器中,包含了 4 種不同顏色與大小的 div 元素。每個 div 元素都默認display: block,因此,每個四方體都占據了一行的整個寬度。

為了開始使用 Flexbox 布局,你需要將你的容器變為 Flex 容器。這很容易實現:

#container { display: flex;}

這里寫圖片描述

你會發現,你的 div 元素已經內行顯示了。雖然,看似你只是稍微做了些改變,但是你已經為四方體添加了名為 flex context 的環境。于是,你就可以利用它來定位元素了,這比傳統的 CSS 寫法要簡單了很多。


屬性 2: Flex Direction

Flexbox 容器有兩根軸:主軸和垂直的交叉軸,默認情況如下:

這里寫圖片描述

項目默認是由主軸(從左到右)排列的,這就是你使用display: flex后,四方體以水平線排列的原因。 而Flex-direction決定了主軸的方向。

#container { display: flex; flex-direction: column;}

這里寫圖片描述

這里有一個重要的區別:flex-direction: column所指的是四方體將沿主軸的垂直方向對齊。它使主軸自身從水平到垂直。

flex-direction還有一些其他的值供你設置,例如:row-reversecolumn-reverse. 這里寫圖片描述


屬性 3: Justify Content

justify-content屬性定義了項目在主軸上的對齊方式。

在這里,你將更多的了解主軸與交叉軸的區別。首先,讓我們回到flex-direction: row值上。

#container { display: flex; flex-direction: row; justify-content: flex-start;}

justify-content屬性包含了 5 個值供你使用:

1. Flex-start 2. Flex-end 3. Center 4. Space-between 5. Space-around

這里寫圖片描述

Space-aroundSpace-between是兩個不容易直觀理解的值。Space-between實現了兩端對齊,而四方體之間的間隔都是相等的。

Space-around使四方體兩側的間隔相等,這意味著四方體之間的間隔比最外邊四方體與邊框的間隔要大一倍。(每個四方體貢獻了不重疊的等量余量,從而使空間翻倍)

最后一點:請記住 justify-content沿主軸對齊,而flex-direction決定了主軸的方向。它將決定你移動的方向。


屬性 4: Align Items

當你理解了justify-content屬性,理解align-items屬性就變得輕而易舉了。

justify-content定義了項目在主軸的對齊方式,而align-items屬性則定義了項目在交叉軸上是如何對齊的。 這里寫圖片描述

當我們將flex-direction屬性值重置為row后,我們的軸看上去就與上圖一致。

那么,讓我們深入的了解下Align Items屬性有哪些值:

1. flex-start 2. flex-end 3. center 4. stretch 5. baseline

前三個值與justify-content屬性中的值完全一致,沒有太多需要解釋的地方。

但是,接下來兩個值卻有些不同。

Stretch指的是如果項目未設置高度或設為auto,項目將占滿整個容器。而baseline是指項目將與段落標簽的底部對齊。 這里寫圖片描述

(請注意,對于align-items:stretch,我不得不將四方體的高度設置為auto,否則height屬性將覆蓋該stretch

對于baseline,如果你去掉段落標簽,它則會對齊四方形的底部,如下圖所示: 這里寫圖片描述

為了更好地演示主軸和交叉軸的表現,在基于justify-content屬性和align-items屬性的值為center的情況下,讓我們看看賦予flex-direction屬性兩個不同值后,它的表現如何: 這里寫圖片描述

我們可以看到,對于row值,四方體沿著與主軸水平方向排列,而對于column值,它們則沿著與主軸垂直的方向排列。

即使出現了同時保持水平與垂直居中的情況,兩者也不可互換!


屬性 5: Align Self

align-self屬性允許你對特定的項目有與其他項目不一樣的對齊方式,它可覆蓋align-items屬性。雖然它的默認值為auto,但它繼承了父元素align-items的屬性。除了auto外,其他都與align-items屬性完全一致。

#container { align-items: flex-start;}.square#one { align-self: center;}// Only this square will be centered.

我們將在兩個四方體上應用align-self屬性,而其余的四方體則應用align-items: centerflex-direction: row,讓我們看看會發生什么: 這里寫圖片描述


結論

雖然,我們僅僅是了解 Flexbox 的一些淺層的使用方法,但這些方法足以讓你利用 Flexbox 應對大多數水平與垂直對齊的問題。如果你想觀看更多的 GIF Flexbox 教程,或者如果本教程對你有所幫助,你可以留下評論。

注:

本文版權歸原作者所有,僅用于學習與交流。如需轉載譯文,煩請按下方注明出處信息,謝謝!英文原文:How Flexbox works?—?explained with big, colorful, animated gifs作者:Scott Domes譯者:IT程序獅譯文地址:http://www.jianshu.com/p/cd69906d7703
上一篇:32.提示框

下一篇:操作json數據

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 草久影视| 草草影院地址 | 羞羞视频免费网站男男 | 亚洲网站一区 | 毛片福利 | 亚洲精品日韩色噜噜久久五月 | 国产精品久久久久久模特 | 泰剧19禁啪啪无遮挡 | 天天夜干 | av亚洲在线观看 | 国产亚洲精品成人 | 成人精品一区二区 | 欧美a∨一区二区三区久久黄 | 色淫网站免费视频 | 国产成人精品免费视频大全最热 | 国产一区二区在线免费 | 亚洲一级片免费观看 | 精选久久 | 久久久99精品视频 | 亚洲精品午夜在线 | 亚洲欧美在线视频免费 | 天堂福利电影 | 激情av在线| 成人在线视频免费观看 | 国产成人在线免费观看视频 | 天天曰夜夜操 | 日本a在线观看 | 18欧美性xxxx极品hd | 亚洲3atv精品一区二区三区 | 欧美不卡三区 | 久久久久久久久淑女av国产精品 | 久国久产久精永久网页 | 九九视频在线观看6 | 天天夜碰日日摸日日澡性色av | 亚洲精品有限 | 国产精品视频一区二区三区四 | 成人羞羞在线观看网站 | 欧洲黄色一级视频 | 蜜桃视频最新网址 | 草人人 | 密室逃脱第一季免费观看完整在线 |