<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 后端人員如何快速上手css(flex布局

    2019-6-21    seo達人

    如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點這里

    網(wǎng)頁布局(layout)是 CSS 的一個重點應用。畢竟簡單的樣式不能總依賴前端人員。
    布局的傳統(tǒng)解決方案,基于盒狀模型,依賴 display 屬性 + position屬性 + float屬性。它對于那些特殊布局非常不方便,比如,垂直居中就不容易實現(xiàn)。

    2009年,W3C 提出了一種新的方案----Flex 布局,可以簡便、完整、響應式地實現(xiàn)各種頁面布局。目前,它已經(jīng)得到了所有瀏覽器的支持,這意味著,現(xiàn)在就能很安全地使用這項功能。

    Flex 是 Flexible Box 的縮寫,意為"彈性布局",用來為盒狀模型提供最大的靈活性。

    采用 Flex 布局的元素,稱為 Flex 容器(flex container),簡稱"容器"。它的所有子元素自動成為容器成員,稱為 Flex 項目(flex item),簡稱"項目"。


    容器默認存在兩根軸:水平的主軸(main axis)和垂直的交叉軸(cross axis)。主軸的開始位置(與邊框的交叉點)叫做main start,結(jié)束位置叫做main end;交叉軸的開始位置叫做cross start,結(jié)束位置叫做cross end。

    項目默認沿主軸排列。單個項目占據(jù)的主軸空間叫做main size,占據(jù)的交叉軸空間叫做cross size。

    先說第一個屬性flex-direction 屬性決定主軸的方向(即項目的排列方向)。
    .box {
    flex-direction: row | row-reverse | column | column-reverse;
    }
    row(默認值):主軸為水平方向,起點在左端。
    row-reverse:主軸為水平方向,起點在右端。
    column:主軸為垂直方向,起點在上沿。
    column-reverse:主軸為垂直方向,起點在下沿。
    廢話少說,立刻上代碼,驗證下。

    row:

    眾所周知,h1和p都是塊級元素,都會縱向排列,一旦采用 Flex 布局,就以x和y軸為基礎(chǔ)排序,
    column:

    不但模糊了塊級元素和行內(nèi)元素的區(qū)別,而且左右的排序也很靈活。
    row-reverse:

    flex-wrap屬性
    默認情況下,項目都排在一條線(又稱"軸線")上。flex-wrap屬性定義,如果一條軸線排不下,就會換行。
    .box{
    flex-wrap: nowrap | wrap | wrap-reverse;
    }
    (1)nowrap(默認):不換行。
    (2)wrap:換行,第一行在上方。
    (3)wrap-reverse:換行,第一行在下方。
    wrap:

    雖然他換行了,但是每行的元素是不是靠的太近了
    在這時候就能用到
    justify-content屬性
    justify-content屬性定義了項目在主軸上的對齊方式。
    .box {
    justify-content: flex-start | flex-end | center | space-between | space-around;
    }
    它可能取5個值,具體對齊方式與軸的方向有關(guān)。下面假設(shè)主軸為從左到右。

    flex-start:(默認值):左對齊
    flex-end:右對齊
    center: 居中
    space-between:兩端對齊,項目之間的間隔都相等。
    space-around:每個項目兩側(cè)的間隔相等。所以,項目之間的間隔比項目與邊框的間隔大一倍。

    space-between:

    但是還是有點不對勁,原來沒有垂直居中。
    align-items屬性就出來了
    align-items屬性定義項目在交叉軸上如何對齊。
    .box {
    align-items: flex-start | flex-end | center | baseline | stretch;
    }
    它可能取5個值。具體的對齊方式與交叉軸的方向有關(guān),下面假設(shè)交叉軸從上到下。
    flex-start:交叉軸的起點對齊。
    flex-end:交叉軸的終點對齊。
    center:交叉軸的中點對齊。
    baseline: 項目的第一行文字的基線對齊。
    stretch(默認值):如果項目未設(shè)置高度或設(shè)為auto,將占滿整個容器的高度。

    還有很多屬性可以靈活的調(diào)整頁面的排版,我只舉例最簡單的幾種排版。
    沒有float,沒有position,也沒有行和塊。只要知道x軸和y軸就能輕松布局。
    如果想了解flex布局,可以看一下這位大佬的博客:
    語法篇:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
    實戰(zhàn)篇:http://www.ruanyifeng.com/blog/2015/07/flex-examples.html


    日歷

    鏈接

    個人資料

    藍藍設(shè)計的小編 http://m.skdbbs.com

    存檔

    主站蜘蛛池模板: 亚洲精品宾馆在线精品酒店| 四虎影视永久在线观看精品| 亚洲精品国产美女久久久| 亚洲精品自产拍在线观看动漫| 无码人妻精品一区二区三区夜夜嗨| 国产精品秘入口福利姬网站| 精品视频在线v| 成人无码精品1区2区3区免费看| 在线精品自拍无码| 久久99精品久久久久久野外| 亚洲午夜精品一区二区| 2048亚洲精品国产| 国产精品午睡沙发系列| 日韩人妻无码精品久久久不卡 | 久久乐国产精品亚洲综合| 欧美日韩精品一区二区在线播放| 国产在线精品一区二区中文| 亚洲动漫精品无码av天堂| 四虎国产精品永久在线看| 狠狠精品久久久无码中文字幕| 四虎4hu永久免费国产精品| www.亚洲精品.com| 国产成人精品日本亚洲专| 国产成人精品日本亚洲专| 亚洲一区爱区精品无码| 亚洲精品国产综合久久一线| 久久精品国产72国产精福利| 国产精品无码一区二区在线观一| 91精品国产自产在线老师啪| 中文字幕精品视频| 2021年精品国产福利在线| 911亚洲精品国产自产| 日韩精品一区二三区中文| mm1313亚洲国产精品无码试看| 国产精品亚洲欧美一区麻豆| 精品国偷自产在线| 无码国产精品一区二区免费3p| 中文字幕在线亚洲精品| 欧美精品亚洲日韩aⅴ| 久久se精品一区精品二区国产| 国产精品偷伦视频免费观看了|