摘要:負(fù)值對(duì)該屬性無效。我們通常用到的就是這個(gè)屬性,在布局的時(shí)候會(huì)很有用。對(duì)于這個(gè)屬性,最好是手動(dòng)敲一下,嘗試一下各種值出現(xiàn)的效果。三圣杯布局布局一直是很重要的知識(shí)點(diǎn),在面試中也會(huì)經(jīng)常遇到,這里就用做一個(gè)圣杯布局。
一,為什么寫這篇文章
在很早之前就接觸display:flex布局,尤其是不考慮低版本瀏覽器兼容之后,就開始肆無忌憚的使用了。之前做pc端的時(shí)候,要求兼容到ie8,也不會(huì)注意到它。后來做移動(dòng)端,第一次看到display:flex,還是從一個(gè)實(shí)習(xí)生的代碼里,然后查了查資料,居然是這么方便。
簡(jiǎn)單的使用及原理請(qǐng)查看阮一峰大神的講解。
二.基本使用父元素
{ display:flex; }
flex-direction
flex-wrap
flex-flow
justify-content
align-items
align-content
可以有6個(gè)屬性可以設(shè)置,具體不再細(xì)說。
子元素
{ flex:none | auto; /* default auto */ } /* 1表示該元素?fù)螡M剩余空間 */ { flex:1 }
我主要想說的是子元素的flex屬性,剛接觸時(shí)確實(shí)不好理解。理解了這個(gè)就可以實(shí)現(xiàn)左固定右自適應(yīng)的這種布局,通常出現(xiàn)在列表顯示的時(shí)候。網(wǎng)上還通常見到flex:1 |none|auto 的這種寫法,就是下面這幾個(gè)屬性在作祟。
每個(gè)子元素也稱為 “項(xiàng)目”,屬性值有:
1、order ?//定義各個(gè)子元素的排列順序,數(shù)值越小,排列越靠前,默認(rèn)為0,可為負(fù)數(shù)
? ? ?
? ? ?.item{ ? ? ? order:-1;/* 任意數(shù)字 */ ? ? ?}
2、flex-grow ?//定義子元素的放大比例,默認(rèn)為0(不放大),前提是父容器有空余空間
.item{ ? ? ? flex-grow:; /* default 0 */ ? ? ?}
3、flex-shrink? //如果所有項(xiàng)目的flex-shrink屬性都為1,當(dāng)空間不足時(shí),都將等比例縮小。如果一個(gè)項(xiàng)目的flex-shrink屬性為0,其他項(xiàng)目都為1,則空間不足時(shí),前者不縮小。
負(fù)值對(duì)該屬性無效。
.item{ ? ? ? flex-shrink:; /* default 1 */ ? ? ?}
4、flex-basis ?//在子元素分配空余空間前,設(shè)定指定的子元素的空間大小,默認(rèn)auto(原值)
.item{ ? ? ? flex-basis:| auto; /* default auto */ ? ? ?} /* 可以設(shè)置60% 或者 200px */
5、flex ?//是flex-grow、flex-shrink、flex-basis的組合,默認(rèn)值flex:0 1 auto;
.item{ ? ? ? flex: none | [ <"flex-grow"> <"flex-shrink">? || <"flex-basis"> ] ? ? ?} ? ? ?/* 該屬性有兩個(gè)快捷值:auto (1 1 auto) 和 none (0 0 auto) */ ? ? ?/* 建議優(yōu)先使用這個(gè)屬性,而不是多帶帶寫三個(gè)分離的屬性,因?yàn)闉g覽器會(huì)推算相關(guān)值 */
6、align-self ?//允許單個(gè)子元素與其他子元素不一樣的對(duì)齊方式,可以覆蓋父元素設(shè)定的align-items屬性。默認(rèn)值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同stretch(填充滿)。
.item{ ? ? ? align-self: auto | flex-start | flex-end | center | baseline | stretch; ? ? ?}
我們通常用到的就是這個(gè)flex屬性,在布局的時(shí)候會(huì)很有用。
對(duì)于這個(gè)屬性,最好是手動(dòng)敲一下,嘗試一下各種值出現(xiàn)的效果。
三.圣杯布局layout布局一直是css很重要的知識(shí)點(diǎn),在面試中也會(huì)經(jīng)常遇到,這里就用flex做一個(gè)圣杯布局。
css
*{ margin: 0; padding: 0; } html,body{ width: 100%; height: 100%; } body{ display: flex; flex-direction:column; } .header,.footer{ flex: 0 0 80px; background-color: #7dbcea; } .container{ flex: auto; background-color: #145d9c; display: flex; } .container .left,.container .right{ flex: 0 0 200px; background-color: #3a90ce; } .container .main{ flex: auto; background-color: #145d9c; }
html
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/113392.html
摘要:案例圖片來自騰訊年的一道前段筆試題,有興趣的同學(xué)可以去看一下。騰訊前端面試稿布局布局指頁(yè)面布局像一張宣傳海報(bào),以一張精美圖片作為頁(yè)面的設(shè)計(jì)中心。 寫在前面最近看到《圖解CSS3》的布局部分,結(jié)合自己以前閱讀過的一些布局方面的知識(shí),這里進(jìn)行一次基于CSS2、3的各種布局的方法總結(jié)。 常見的頁(yè)面布局 在拿到設(shè)計(jì)稿時(shí),作為一個(gè)前端人員,我們首先會(huì)做的應(yīng)該是為設(shè)計(jì)圖大致地劃分區(qū)域,然后選擇一...
摘要:案例圖片來自騰訊年的一道前段筆試題,有興趣的同學(xué)可以去看一下。騰訊前端面試稿布局布局指頁(yè)面布局像一張宣傳海報(bào),以一張精美圖片作為頁(yè)面的設(shè)計(jì)中心。 寫在前面最近看到《圖解CSS3》的布局部分,結(jié)合自己以前閱讀過的一些布局方面的知識(shí),這里進(jìn)行一次基于CSS2、3的各種布局的方法總結(jié)。 常見的頁(yè)面布局 在拿到設(shè)計(jì)稿時(shí),作為一個(gè)前端人員,我們首先會(huì)做的應(yīng)該是為設(shè)計(jì)圖大致地劃分區(qū)域,然后選擇一...
摘要:本文由云社區(qū)發(fā)表本文將通過三個(gè)簡(jiǎn)單的實(shí)例,實(shí)際應(yīng)用上篇文章的基礎(chǔ)理論知識(shí),展示下布局是如何解決布局問題。通過對(duì)比其他的實(shí)現(xiàn)方式,可以看出使用布局可以優(yōu)雅地實(shí)現(xiàn)相同的布局問題。 本文由云+社區(qū)發(fā)表 本文將通過三個(gè)簡(jiǎn)單的實(shí)例,實(shí)際應(yīng)用上篇文章的基礎(chǔ)理論知識(shí),展示下Flex布局是如何解決CSS布局問題。 一.垂直居中 這里同時(shí)用非flex布局和flex布局兩種方式來實(shí)現(xiàn),可以對(duì)比兩種實(shí)現(xiàn)方式...
摘要:本文由云社區(qū)發(fā)表本文將通過三個(gè)簡(jiǎn)單的實(shí)例,實(shí)際應(yīng)用上篇文章的基礎(chǔ)理論知識(shí),展示下布局是如何解決布局問題。通過對(duì)比其他的實(shí)現(xiàn)方式,可以看出使用布局可以優(yōu)雅地實(shí)現(xiàn)相同的布局問題。 本文由云+社區(qū)發(fā)表 本文將通過三個(gè)簡(jiǎn)單的實(shí)例,實(shí)際應(yīng)用上篇文章的基礎(chǔ)理論知識(shí),展示下Flex布局是如何解決CSS布局問題。 一.垂直居中 這里同時(shí)用非flex布局和flex布局兩種方式來實(shí)現(xiàn),可...
摘要:本文由云社區(qū)發(fā)表本文將通過三個(gè)簡(jiǎn)單的實(shí)例,實(shí)際應(yīng)用上篇文章的基礎(chǔ)理論知識(shí),展示下布局是如何解決布局問題。通過對(duì)比其他的實(shí)現(xiàn)方式,可以看出使用布局可以優(yōu)雅地實(shí)現(xiàn)相同的布局問題。 本文由云+社區(qū)發(fā)表 本文將通過三個(gè)簡(jiǎn)單的實(shí)例,實(shí)際應(yīng)用上篇文章的基礎(chǔ)理論知識(shí),展示下Flex布局是如何解決CSS布局問題。 一.垂直居中 這里同時(shí)用非flex布局和flex布局兩種方式來實(shí)現(xiàn),可以對(duì)比兩種實(shí)現(xiàn)方式...
閱讀 2058·2021-11-08 13:14
閱讀 2961·2021-10-18 13:34
閱讀 2061·2021-09-23 11:21
閱讀 3618·2019-08-30 15:54
閱讀 1792·2019-08-30 15:54
閱讀 2953·2019-08-29 15:33
閱讀 2619·2019-08-29 14:01
閱讀 1979·2019-08-29 13:52