摘要:布局也叫彈性盒子,是由提出的一種新的布局方式,目前兼容以上的瀏覽器,任何一個(gè)盒子包括行內(nèi)元素都可以指定為布局,只需要在它的父元素設(shè)置即可注意,在設(shè)置了布局以后,其所有的子元素的,和屬性都將失效父元素設(shè)置后,會(huì)成為容器,它的所有子元素默認(rèn)稱
flex布局也叫彈性盒子,是由W3C提出的一種新的布局方式,目前兼容IE10+以上的瀏覽器,任何一個(gè)盒子包括行內(nèi)元素都可以指定為Flex布局,只需要在它的父元素設(shè)置display:flex;即可
.box{ display:flex; }
注意,在設(shè)置了flex布局以后,其所有的子元素的float,clear和vertical- align屬性都將失效
父元素設(shè)置flex后,會(huì)成為flex容器(box),它的所有子元素默認(rèn)稱為容器成員(item),容器默認(rèn)存在兩根軸線,水平的主軸線和垂直的交叉軸線
在父元素(box)設(shè)置flex后,會(huì)有6個(gè)屬性
boxflex- directionflex-wrap
flex-flow
justify- content
align-items
align-content
下面我們來依次分析這幾個(gè)屬性
fiex-direction該屬性決定主軸的方向,也就是項(xiàng)目的排列方向,它有4個(gè)參數(shù) ,主軸方向改變后交叉軸的方向也會(huì)改變
flex-direction:row;這個(gè)是默認(rèn)值,默認(rèn)主軸為水平方向,起點(diǎn)在左端
flex-direction:row-reverse;主軸為水平方向,起點(diǎn)在右端
flex-direction:column;主軸在垂直方向,起點(diǎn)在上端
fiex-direction:column-reverse;主軸在垂直方向,起點(diǎn)在下端
flex-wrap該屬性決定子元素如果不在一條軸線上如何換行
nowrap:該屬性是默認(rèn)屬性,不換行,如果我們?cè)O(shè)定的item大小在一行上回超出box,那么不會(huì)溢出也不會(huì)換行,而是item會(huì)變形,從而適配當(dāng)前box
wrap:正常換行,在第一行正下方
wrap-reverse:在第一行正上方換行,第一行會(huì)默認(rèn)從底部開始
flex-flow該屬性是flex-direction和flex-wrap屬性的簡寫,默認(rèn)值是row nowrap;
.box{ display:flex; flex-flow:row nowrap; }justify-content
該屬性定義了項(xiàng)目在主軸上的對(duì)齊方式
flex-start:該屬性是默認(rèn)值,從左端對(duì)齊
flex-end:該屬性規(guī)定從右端對(duì)齊
center:該屬性規(guī)定居中對(duì)齊
space- between:該屬性規(guī)定兩端對(duì)齊,子元素之間的間隔都相等
space- around:該屬性規(guī)定每個(gè)子元素的兩側(cè)的間隔相等,所以子元素之間的間隔比子元素與邊框之間的間隔大一倍
align-items該屬性定義項(xiàng)目在交叉軸上如何對(duì)齊
flex-start:交叉軸的起點(diǎn)對(duì)齊
flex-end:交叉軸的終點(diǎn)對(duì)齊
center:交叉軸的中點(diǎn)對(duì)齊
baseline:子元素的第一行文字的基線對(duì)齊
stretch:默認(rèn)值,如果子元素未設(shè)置高度或auto,將占滿整個(gè)父容器的高度
align-content定義了多根軸線的對(duì)齊方式,如果父元素只有一根軸線,該屬性不起作用
flex-start:與交叉軸的起點(diǎn)對(duì)齊
flex-end:與交叉軸的終點(diǎn)對(duì)齊
cengter:與交叉軸的中點(diǎn)對(duì)齊
space- between:與交叉軸的兩端對(duì)齊,軸線之間的間隔平均分布
space-around:每跟軸線之間的距離相等所以軸線之間的間隔比與邊框線之間的間隔大一倍
st retch:默認(rèn)值,軸線占滿整個(gè)交叉線
item在父元素設(shè)置了flex屬性后,子元素會(huì)有以下6個(gè)屬性
orderflex-grow
flex-shrink
flex- basis
flex
aligr-self
以下面的代碼為例,我們來依次了解這些屬性
orderflex 1 2 3
該屬性定義項(xiàng)目的排列順序,數(shù)值越小,排列越靠前,默認(rèn)為0
div span:nth-of-type(2) { order: 1; } div span:nth-of-type(1) { order: 2; }flex-grow
該屬性定義項(xiàng)目的放大比例,默認(rèn)為0,即使存在剩余空間,也不放大,如果所有子元素都設(shè)置該屬性為1,那么他們將會(huì)等分剩余的空間,如果一個(gè)其中一個(gè)子元素的flex-grow屬性設(shè)置為2,那么它將會(huì)比其他的子元素多一倍
div span:nth-of-type(1) { flex-grow: 2; }flex-shrink
該屬性定義了項(xiàng)目的縮小比例,默認(rèn)為1,也就是說,如果空間不足,該項(xiàng)目將會(huì)縮小,如果所有項(xiàng)目的縮小比例都為1,那么如果空間不足,所有項(xiàng)目都將會(huì)等比例縮小,如果其中一個(gè)設(shè)置為0,那么在空間不足的情況下,其它項(xiàng)目會(huì)縮小, 該項(xiàng)目不會(huì)縮小,該屬性設(shè)置負(fù)值無效
flex- basis屬性定義在分配多余空間之前,項(xiàng)目占據(jù)的主軸空間,瀏覽器根據(jù)這個(gè)屬性,計(jì)算主軸是否有多余的空間,它的默認(rèn)值為auto,即項(xiàng)目本來的大小,該屬性可以設(shè)置和width或length屬性一樣的值,那么項(xiàng)目將占據(jù)固定的空間
flex該屬性是flex- grow,flex-shrink和flex- basis的簡寫,默認(rèn)值為0 1 auto,后兩個(gè)屬性可選
align-self該屬性允許單個(gè)項(xiàng)目有與其他項(xiàng)目不一樣的對(duì)齊方式,可覆蓋 align-items屬性,默認(rèn)值為auto,表示繼承父元素的 align-items屬性,如果沒有父元素,那么等同于stretch,該屬性可能取6個(gè)值,除了auto,其他都與align-items屬性完全一致。
.item { align-self: auto | flex-start | flex-end | center | baseline | stretch; }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/117367.html
摘要:主要用來做橫向的布局。元素的布局學(xué)習(xí)我分成兩個(gè)部分,第一個(gè)部分是元素布局。以下幾個(gè)屬性影響著元素的布局。詳細(xì)還是看分鐘徹底弄懂布局講的非常明白。的時(shí)候,伸縮時(shí)需要考慮,按照進(jìn)行等比例伸縮。布局套路學(xué)習(xí)布局教程實(shí)例篇 前言:這是我看過最好的flex布局教程:30分鐘徹底弄懂flex布局 傳統(tǒng)的布局方法與flex屬性通覽 showImg(https://segmentfault.com/i...
摘要:案例圖片來自騰訊年的一道前段筆試題,有興趣的同學(xué)可以去看一下。騰訊前端面試稿布局布局指頁面布局像一張宣傳海報(bào),以一張精美圖片作為頁面的設(shè)計(jì)中心。 寫在前面最近看到《圖解CSS3》的布局部分,結(jié)合自己以前閱讀過的一些布局方面的知識(shí),這里進(jìn)行一次基于CSS2、3的各種布局的方法總結(jié)。 常見的頁面布局 在拿到設(shè)計(jì)稿時(shí),作為一個(gè)前端人員,我們首先會(huì)做的應(yīng)該是為設(shè)計(jì)圖大致地劃分區(qū)域,然后選擇一...
摘要:案例圖片來自騰訊年的一道前段筆試題,有興趣的同學(xué)可以去看一下。騰訊前端面試稿布局布局指頁面布局像一張宣傳海報(bào),以一張精美圖片作為頁面的設(shè)計(jì)中心。 寫在前面最近看到《圖解CSS3》的布局部分,結(jié)合自己以前閱讀過的一些布局方面的知識(shí),這里進(jìn)行一次基于CSS2、3的各種布局的方法總結(jié)。 常見的頁面布局 在拿到設(shè)計(jì)稿時(shí),作為一個(gè)前端人員,我們首先會(huì)做的應(yīng)該是為設(shè)計(jì)圖大致地劃分區(qū)域,然后選擇一...
摘要:幾種常見布局的寫法首先要對(duì)父元素設(shè)置布局方式,同時(shí)在本案例中,利用媒體查詢,當(dāng)屏幕分辨率小于的時(shí)候,布局變成縱向排列。兩列布局定寬是的簡寫方式。 flex布局目前基本上兼容主流的瀏覽器,且實(shí)現(xiàn)方式簡單。我整理了flex的一些知識(shí)點(diǎn),并且總結(jié)歸納了幾種常見布局的flex寫法 ?flex基礎(chǔ)知識(shí)點(diǎn) flex-grow和flex-shrink相關(guān)計(jì)算公式 公式1:子元素空間 < 父容器 父...
摘要:布局也經(jīng)歷了一段演變歷史。不同于將要出現(xiàn)的網(wǎng)格布局針對(duì)目標(biāo)為大比例布局,彈性盒布局更適用于應(yīng)用組件和小比例布局。常規(guī)布局是基于塊和內(nèi)聯(lián)流方向,而布局是基于流。 前言 你還在用display+position+float來進(jìn)行css布局嗎?有沒有覺得用傳統(tǒng)的這種布局方法來實(shí)現(xiàn)特殊布局特別麻煩困難,例如:垂直居中。今天來記錄一下自己對(duì)flex布局的了解(雖然不算神馬新東西了都可以說是舊東西...
摘要:布局是年提出的,目前已經(jīng)被所有瀏覽器支持,也是我現(xiàn)在布局的首選方案。實(shí)踐用來實(shí)現(xiàn)圣杯布局圣杯布局指的是一種最常見的網(wǎng)站布局。一般情況下,這種布局要求固定高度,固定寬度,自適應(yīng)。 Flex 布局是 W3C 2009年提出的,目前已經(jīng)被所有瀏覽器支持,也是我現(xiàn)在布局的首選方案。Flex 布局使用起來是非常簡單的,本文談一談平時(shí)使用可能需要注意的問題。 align-content 平時(shí)使用 ...
閱讀 1811·2021-10-09 09:44
閱讀 3382·2021-09-28 09:35
閱讀 1372·2021-09-01 10:31
閱讀 1658·2019-08-30 15:55
閱讀 2696·2019-08-30 15:54
閱讀 922·2019-08-29 17:07
閱讀 1371·2019-08-29 15:04
閱讀 2001·2019-08-26 13:56