成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Flex布局部分屬性困惑解析

Gu_Yan / 1557人閱讀

摘要:開始最近研究一個(gè)框架,剛好里面也實(shí)現(xiàn)了布局的算法,雖然平時(shí)也用到做一些簡(jiǎn)單的布局,但是深入到算法實(shí)現(xiàn)的時(shí)候,發(fā)現(xiàn)自己對(duì)某些概念倒是沒那么清晰,立馬谷歌把幾個(gè)涉及的屬性都好好理清一下,權(quán)當(dāng)一個(gè)自我梳理。

開始

最近研究一個(gè)框架,剛好里面也實(shí)現(xiàn)了flex布局的算法,雖然平時(shí)也用到flex做一些簡(jiǎn)單的布局,但是深入到算法實(shí)現(xiàn)的時(shí)候,發(fā)現(xiàn)自己對(duì)flex某些概念倒是沒那么清晰,立馬谷歌把幾個(gè)flex涉及的屬性都好好理清一下,權(quán)當(dāng)一個(gè)自我梳理。

main-axis和cross-axis

main其實(shí)跟flex-direction這個(gè)屬性相當(dāng)有關(guān)系,關(guān)系如下圖:

根據(jù)flex-direction的值不同,main-axis方向相應(yīng)也不同。
既然有方向這個(gè)概念,這個(gè)時(shí)候justify-content屬性(justify-content主要負(fù)責(zé)調(diào)整main-axis上元素的布局),在取值為flex-start和flex-end時(shí)就要注意了。
而cross-axis是垂直于main-axis的。

當(dāng)flex-direction取值為row或者row-reverse時(shí)cross-axis方向是由下往上。

當(dāng)flex-direction取值為column或者column-reverse時(shí)cross-axis方向是由左往右。

align-items和align-content

首先align-item和align-content都是應(yīng)用在cross-axis上的元素。
flex布局默認(rèn)情況下元素是不會(huì)換行的,這個(gè)時(shí)候就是align-items起作用的時(shí)候,但是當(dāng)有多行的情況時(shí),align-items的表現(xiàn)就有點(diǎn)令人失望了。例如你期待是這樣一個(gè)網(wǎng)格的布局:

但是實(shí)際會(huì)是這樣的效果:

這個(gè)網(wǎng)格怎么看都怪怪的有木有。
這個(gè)時(shí)候就是align-content屬性大顯神威的時(shí)候了,align-content主要應(yīng)用在存在多行的場(chǎng)景下,但是只有單行的時(shí)候,它就失去作用了。

flex-basis

flex-basis可以說是一個(gè)并太起眼的屬性但是確有很大的意義。
flex-basis的作用,主要在與flex計(jì)算剩余空間時(shí)起作用,如果你設(shè)置flex-basis為一個(gè)明確的大小,在計(jì)算剩余空間時(shí)會(huì)先去減去這一部分,然后根據(jù)剩余空間為正或?yàn)樨?fù)去應(yīng)用flex-grow或flex-shrink進(jìn)行縮放。
當(dāng)flex-basis是默認(rèn)值auto時(shí),flex-basis等同于元素的自身寬度(例如你設(shè)置了width就是該設(shè)置的值,如果width也為auto,那就等同于元素內(nèi)容的寬度)。
當(dāng)flex-basis為0時(shí),就等同于完全依賴于flex-grow的比例和剩余空間的大小去分配。

額外點(diǎn)

計(jì)算剩余空間時(shí),padding, margin, border和flex-basis是事先扣除,再根據(jù)flex-grow去分配空間的。
justify-content為space-around時(shí),元素和父元素的間隙是元素與元素間的間隙的一半。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/51326.html

相關(guān)文章

  • 容易忽略的七個(gè)CSS知識(shí)點(diǎn)

    摘要:樣式聲明通過一個(gè)稱為級(jí)聯(lián)的過程來解釋和決定。級(jí)聯(lián)級(jí)聯(lián)可能是中最容易被弄錯(cuò)的屬性之一。因此很容易認(rèn)為元素的視覺邊界等于其寬度,但情況并非如此。 如果你在日常工作中使用CSS,那么你的主要目標(biāo)很可能集中在使事情看起來是正確的。最終得到的正確結(jié)果遠(yuǎn)比如何實(shí)現(xiàn)更重要。這意味著相比正確的語法和視覺效果我們更少關(guān)注CSS的實(shí)現(xiàn)原理。 你可能還沒有意識(shí)到,但CSS的視覺效果通常是操縱隱藏屬性的間接結(jié)...

    chanthuang 評(píng)論0 收藏0
  • 容易忽略的七個(gè)CSS知識(shí)點(diǎn)

    摘要:樣式聲明通過一個(gè)稱為級(jí)聯(lián)的過程來解釋和決定。級(jí)聯(lián)級(jí)聯(lián)可能是中最容易被弄錯(cuò)的屬性之一。因此很容易認(rèn)為元素的視覺邊界等于其寬度,但情況并非如此。 如果你在日常工作中使用CSS,那么你的主要目標(biāo)很可能集中在使事情看起來是正確的。最終得到的正確結(jié)果遠(yuǎn)比如何實(shí)現(xiàn)更重要。這意味著相比正確的語法和視覺效果我們更少關(guān)注CSS的實(shí)現(xiàn)原理。 你可能還沒有意識(shí)到,但CSS的視覺效果通常是操縱隱藏屬性的間接結(jié)...

    elina 評(píng)論0 收藏0
  • 移動(dòng)端布局與適配

    摘要:實(shí)戰(zhàn)之微信錢包騰訊服務(wù)界面網(wǎng)格布局是讓開發(fā)人員設(shè)計(jì)一個(gè)網(wǎng)格并將內(nèi)容放在這些網(wǎng)格內(nèi)。對(duì)于移動(dòng)端適配,不同的公司不同的團(tuán)隊(duì)有不同的解決方案。柵格系統(tǒng)用于處理頁面多終端適配的問題。 grid實(shí)戰(zhàn)之微信錢包 騰訊服務(wù)界面 CSS3網(wǎng)格布局是讓開發(fā)人員設(shè)計(jì)一個(gè)網(wǎng)格并將內(nèi)容放在這些網(wǎng)格內(nèi)。而不是使用浮動(dòng)制作一個(gè)網(wǎng)格,實(shí)際上是你將一個(gè)元素聲明為一個(gè)網(wǎng)格容器,并把元素內(nèi)容置于網(wǎng)格中。 移動(dòng)端頁面適配—...

    Clect 評(píng)論0 收藏0
  • 前端-CSS3&H5

    摘要:高度模型淺識(shí)為的簡(jiǎn)寫,簡(jiǎn)稱為塊級(jí)格式化上下文,為瀏覽器渲染某一區(qū)域的機(jī)制,中只有和中還增加了和。并非所有的布局都會(huì)在開發(fā)中使用,但是其中也會(huì)涉及一些知識(shí)點(diǎn)。然而在不同的純制作各種圖形純制作各種圖形多圖預(yù)警 一勞永逸的搞定 flex 布局 尋根溯源話布局 一切都始于這樣一個(gè)問題:怎樣通過 CSS 簡(jiǎn)單而優(yōu)雅的實(shí)現(xiàn)水平、垂直同時(shí)居中。記得剛開始學(xué)習(xí) CSS 的時(shí)候,看到 float 屬性不...

    xiaolinbang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<