flex布局全解(一看就懂)

2021-10-11 14:45:15 字數 2581 閱讀 9968

對flex container的設定

flex-direction(設定flex items的排序方向)

flex-direction:row

main-axis(主軸)是row,cross-axis(交叉軸)是column

flex-direction:column

main-axis(主軸)是column,cross-axis(交叉軸)是row

justify-content

設定主軸的排序方向

align-items

設定交叉軸的排序方向

flex-wrap

設定要不要分行

flex-flow

flex-directionflex-wrap的縮寫,如:flex-flow: row wrapalign-content

flex-wrap的值為wrap時,即是有多於一行flex items時才會生效,用於設定多於一行的flex items的時候,行與行之間的對齊方式

對flex items的設定

order

用於調整flex items的位置,排序是根據order由小至大排列,預設值為0,當設定flex items的order為1時,該flex items會被移到最後,為-1時則會被移到最開始的位置

align-self

用來重寫flex container的align-items值,如flex container的align-items:center,當我們設定flex items的align-self:flex-end,則該flex items在flex container中則會按照flex-end來排列

flex-basis

用來設定flex items在主軸方向的基礎大小。如flex container的flex-direction: row;,主軸為row,當我們設定flex items的flex-basis: 100px;,則該flex items的width則為100px,若flex-direction: column;,主軸為cloumn,則該flex items的height則為100px,flex-basis:auto則表示按照本身的大小去計算

注:需要flex container在主軸方向上的大小足夠容得下:如flex container主軸方向上的大小為設定了為200px,包含三個寬高都為50px的flex items,我們設定其中乙個flex items的flex-basis:150px,由於三個flex items在主軸方向上的大小為50+50+150=250大於200,所以該flex items在主軸方向的最大值為100

flex-grow

用來設定flex items的擴大比例。當flex container主軸方向上的有剩餘空間時,flex items沿主軸方向擴大。如:flex container主軸方向的大小為200px,包含三個寬高為50px的flex items,設定其中乙個flex itemsflex-grow:1,則其餘兩個flex items大小不變,該flex items主軸方向大小佔滿flex container的剩餘空間。flex-grow:num代表分擔多少份擴大的值、num越大,代表擴大的份數越多flex-grow:0表示按照原有的大小不做改變

flex-shrink

用來設定flex items的縮小比例。與flex-grow相反,是指flex items主軸方向的大小總和超出了flex container的時候,flex items沿主軸方向縮小的設定。flex-shrink:num代表分擔多少份縮小的值、num越大,代表縮小的份數越多,同樣flex-grow:0表示按照原有的大小不做改變

flex

flexflex-grow + flex-shrink + flex-basis的集合(按順序)

例如:flex: 1 1 auto;,表示flex items會按照flex container的寬度去平均分配空間去擴大或者縮小,flex container有剩餘空間就同步擴大,沒有足夠空間時就同步縮小

例如:flex: 0 1 150px;,表示flex items的主軸方向最大值為150px,只會根據flex container空間不足時同步縮小,不會根據flex container有剩餘空間時同步擴大

例如:flex: 0 1 200px;,表示flex items的主軸方向大小固定為200px,不擴大也不縮小

一看就懂的SwitchHosts

switchhosts 是乙個管理 切換多個 hosts 方案的工具。它是乙個免費開源軟體。日常開發工作中,我們可能經常需要切換各種 hosts 繫結,比如在本地開發時可能需要乙個開發環境的 hosts 繫結方案,發布到測試環境後又有乙個測試環境的 hosts 繫結方案,然後可能還有乙個預發布環境,...

一看就懂TCP 連線

我們先來看乙個定義。這樣理解比較抽象。我們換個角度。它的本質還是傳輸控制。如果讓我們自己設計這個傳輸,我們會怎麼想呢。tcp 協議它會先建立連線。三次握手目的是保證雙方都有傳送和接收的能力 首要原因是為了防止舊的重複連線初始化造成混亂。同步雙方初始序列號客戶端和服務端都處於 closed 狀態。先是...

資訊熵 一看就懂

先給出資訊熵的公式 首先了解一下資訊量 資訊量是對資訊的度量,就跟時間的度量是秒一樣,當我們考慮乙個離散的隨機變數 x 的時候,當我們觀察到的這個變數的乙個具體值的時候,我們接收到了多少資訊呢?多少資訊用資訊量來衡量,我們接受到的資訊量跟具體發生的事件有關。資訊的大小跟隨機事件的概率有關。越小概率的...