flex布局-碼動未來

在我們常用的布局中有display + position + float進(jìn)行布局昂羡,但是這些布局或多或少都有些麻煩(雖然我最喜歡用position,哈哈啥都能干)堆巧。但是由于快應(yīng)用只能夠使用flex布局庐船,flex布局和position有沖突汤求,所以在快應(yīng)用中能夠使用的position只有fixed议慰,而float布局總是會出現(xiàn)各種各樣的問題速址,flex的優(yōu)勢就顯而易見龄糊,簡單好用逆粹。

快應(yīng)用使用的是Flex布局,每個盒子都是用有一個自帶屬性就是display: flex

所以在寫css代碼的過程中炫惩,不需要我們聲明這是一個flex盒子僻弹,這是一個flex盒子的示意圖。下面介紹有關(guān)flex的一些常用基本屬性:flex-direction;flex-wrap;justify-content;align-content;align-items;

flex-direction是定義主軸的方向他嚷,常用的有column蹋绽,row。


在上面示意圖中可以看到main-axis就是水平的筋蓖,flex-direction的默認(rèn)設(shè)置是row卸耘,也就是我們看到的情景,如果flex-direciton只需要把他翻轉(zhuǎn)90度扭勉,就可以理解鹊奖。

flex-wrap屬性默認(rèn)是nowrap,也就是當(dāng)內(nèi)容寬度超過容器的寬度的時(shí)候涂炎,他不會換行忠聚,會以等比例的縮小來適應(yīng)父元素的寬度,例如下:


.wrapper{width:100px;height:600px;display: flex;? ? }.content-one{width:200px;height:300px;? ? }.content-two{width:200px;height:300px;? ? }

可以看到父元素的寬度只有100px唱捣,但是子元素加起來的寬度為400px两蟀,實(shí)際顯示中兩個content會等比例縮小,在這里父元素是100px震缭,那么每個content的寬度就只有50px;如果設(shè)置為flex-wrap: wrap赂毯;那么由于父容器的寬度容不下并列的兩個子元素,那么這有一個子元素就需要換到下一行;

justify-content:

設(shè)置主軸方向上元素的對齊方式:常用的有flex-start, flex-end, center, space-between, space-around党涕。如前面flex盒子可以看到主軸的方向烦感,下面是他們在主軸上的對齊方式,一眼就能夠看明白膛堤。


align-items:

在flex的盒子示意圖上手趣,可以看到有主軸,也有交叉軸肥荔,align-items就是用于設(shè)置交叉軸上各項(xiàng)目的對齊方式绿渣,可以類比justify-content。

align-content:

這是用在多根軸線的問題上燕耿,在前面看flex-wrap中提到中符,如果使用flex-wrap: wrap那么這種情況,父元素如果包容不下子元素誉帅,那么就需要換行淀散,換行就會出現(xiàn)多根軸線,如果flex-wrap: nowrap堵第,或者就是默認(rèn)設(shè)置吧凉,那么align-content是不生效的,這里需要主要踏志,然后align-content能夠設(shè)置的屬性和justify-content是一樣的阀捅,只不過一個是單行,另外一個是多行针余。

flex: number;

在項(xiàng)目中我們經(jīng)常使用flex: 1這種屬性饲鄙,flex: number 是三種屬性的簡寫:分別是flex-grow, flex-shrink,flex-basis圆雁。平時(shí)我們很少單獨(dú)來寫他們分別是多少忍级,都基本寫flex: 0,或者1伪朽。flex-grow代表項(xiàng)目的放大比例轴咱,例如父元素的寬度是300,但是子元素的寬度加起來總共才200烈涮,子元素這時(shí)候填充不滿父元素朴肺,會留下一些空白,如果設(shè)置flex-grow為1坚洽,那么子元素就會等比例增大戈稿,將父元素的300px全部填充,如果設(shè)置0就是如果沒有充滿讶舰,也不會放大鞍盗。flex-shrink就和flex-grow正好相反需了,就是如果內(nèi)容寬度超過了父元素的寬度,那么內(nèi)容就會等比率縮小般甲。

flex-basis用來設(shè)置項(xiàng)目占據(jù)主軸的初始空間肋乍,瀏覽器通過這個來計(jì)算是否有額外的空間,一般設(shè)置為auto敷存,就代表它占據(jù)的主軸空間是項(xiàng)目本身的大小住拭。一般我們都會用到flex: 1,這就代表著flex: 1 1 0%; 那么0和auto的區(qū)別是哪里呢历帚,比如說一個div的寬度是100px,如果設(shè)置他的flex-basis為0,那么他的初始寬度就為0杠娱,如果是auto挽牢,那么他的初始寬度就是100px,請記住這并不是他的最終寬度摊求,例如在flex: 1中我們設(shè)置了flex-grow和flex-shrink那么他的最終寬度父容器減去剛才設(shè)置的初始寬度然后按等比率劃分禽拔,例如


.wrapper{display: flex;width:100px;? }.content{flex:1;? }

在上面例子中,wrapper的寬度為100px室叉,content的flex-basis為0睹栖,那么初始寬度就為0,但是他的最終長度不是0茧痕,因?yàn)槲覀冊O(shè)置了其他兩個屬性野来,需要完全占據(jù)父元素,那么content的最終寬度就為100px踪旷,是不是覺得豁然開朗了曼氛。

咱么下面進(jìn)入flex的應(yīng)用。

就直接講一個稍微難一點(diǎn)的例子:


如果需要實(shí)現(xiàn)上面的情況令野,那么代碼如下:


.wrapper{width:100px;height:100px;border:1pxsolid red;display: flex;align-items: flex-start;justify-content: space-between;? ? }.wrapperdiv{width:20px;height:20px;border-radius:50%;background-color: gainsboro;? ? }.placeholder{visibility: hidden;? ? }

更多的就需要自己去探索舀患,這里就不一一講解了。

快應(yīng)用之坑

1:標(biāo)簽使用受限

快應(yīng)用目前支持的標(biāo)簽特別少气破,比如說咱們要是想段落分行聊浅,不能使用

需要使用flex進(jìn)行布局,還有div標(biāo)簽中不能直接輸入文字现使,文字必須包含在span, text所支持的標(biāo)簽中低匙。

2:border使用

在以往寫style中,如果我們需要只讓元素下面有邊框朴下,直接使用border-bottom努咐。但是這里不行,我們需要這么寫:

? border:01px solid;? border-bottom:1px;

3:顏色支持

很多時(shí)候我們可以看到報(bào)警說這個顏色不支持殴胧,目前是支持16進(jìn)制的顏色渗稍,但是有時(shí)候就是說這個有錯佩迟,但是在官網(wǎng)顏色也是這么寫的。我碰到的情況:設(shè)置背景顏色竿屹,以往使用background: #fff;但是在快應(yīng)用中需要寫:

background-color:?#fff;

4: 自己支持的標(biāo)簽體驗(yàn)較差

tabs標(biāo)簽用于來切換頁面报强,支持這個確實(shí)節(jié)省了很多時(shí)間,但是用戶效果并不是很好拱燃,下拉有卡頓秉溉,并且不知道他樣式是怎么弄得,點(diǎn)擊的時(shí)候有陰影碗誉。

list效果不好召嘶,list用于用戶滑動,但是我遇到一個問題哮缺,如果在list和其他元素在同一個div下弄跌,并且div設(shè)置flex-direction,那么list的內(nèi)容無法顯示尝苇,原因是list的內(nèi)容高度變成了0铛只,需要css手動設(shè)置高度。

5:圖片無法顯示

在引入圖片的時(shí)候糠溜,如果使用桌面圖標(biāo)的圖片淳玩,就是icon地址的圖片,無論你改了名字非竿,還是放在組件目錄下蜕着,都無法顯示,必須引入icon地址的圖片汽馋。例如icon: './Common/logo.png'侮东,如果你需要使用這張圖片,必須使用Common目錄下的這張圖片豹芯,否則無法顯示悄雅。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市铁蹈,隨后出現(xiàn)的幾起案子宽闲,更是在濱河造成了極大的恐慌,老刑警劉巖握牧,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件容诬,死亡現(xiàn)場離奇詭異,居然都是意外死亡沿腰,警方通過查閱死者的電腦和手機(jī)览徒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颂龙,“玉大人习蓬,你說我怎么就攤上這事纽什。” “怎么了躲叼?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵芦缰,是天一觀的道長。 經(jīng)常有香客問我枫慷,道長让蕾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任或听,我火速辦了婚禮探孝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘誉裆。我一直安慰自己再姑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布找御。 她就那樣靜靜地躺著,像睡著了一般绍填。 火紅的嫁衣襯著肌膚如雪霎桅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天讨永,我揣著相機(jī)與錄音滔驶,去河邊找鬼。 笑死卿闹,一個胖子當(dāng)著我的面吹牛揭糕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锻霎,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼著角,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了旋恼?” 一聲冷哼從身側(cè)響起吏口,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎冰更,沒想到半個月后产徊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蜀细,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年舟铜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奠衔。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡谆刨,死狀恐怖塘娶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情痴荐,我是刑警寧澤血柳,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站生兆,受9級特大地震影響难捌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鸦难,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一根吁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧合蔽,春花似錦击敌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至刃宵,卻和暖如春衡瓶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背牲证。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工哮针, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坦袍。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓十厢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親捂齐。 傳聞我的和親對象是個殘疾皇子蛮放,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • H5移動端知識點(diǎn)總結(jié) 閱讀目錄 移動開發(fā)基本知識點(diǎn) calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,496評論 0 26
  • 移動開發(fā)基本知識點(diǎn) 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,472評論 0 6
  • 前言 溫馨提示:本文較長,圖片較多奠宜,本來是想寫一篇 CSS 布局方式的筛武,但是奈何 CSS 布局方式種類太多并且實(shí)現(xiàn)...
    sunshine小小倩閱讀 3,139評論 0 59
  • 1.背景 DeepWalk是一種學(xué)習(xí)網(wǎng)絡(luò)中節(jié)點(diǎn)的隱式表征的新穎方法。這些隱式表征把社會關(guān)系編碼到統(tǒng)計(jì)模型易于使用的...
    山的那邊是什么_閱讀 1,797評論 0 0
  • “我愛你”這三個字挎塌,有些人隨時(shí)可以說出口徘六,但是有些人一說出口就是一輩子,這就是愛吧榴都? 愛一個人不需要每...
    薄涼的貓閱讀 136評論 0 0