<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://www.skdbbs.com

    存檔

    主站蜘蛛池模板: 国产精品视频第一页| 99爱在线视频这里只有精品| 99麻豆久久久国产精品免费| 精品偷自拍另类在线观看丰满白嫩大屁股ass| 日韩精品久久久久久久电影蜜臀| 欧美精品hdvideosex4k| 国产亚洲精品拍拍拍拍拍| 亚州日韩精品专区久久久| 久久91综合国产91久久精品| 精品国产午夜理论片不卡| 欧美精品三区| 国产综合精品蜜芽| 青青青国产精品国产精品久久久久| 欧美精品黑人粗大免费| 亚洲精品一级无码鲁丝片| 欧美激情视频精品一区二区 | 久久久九九有精品国产| 国产成人精品优优av| 日韩欧国产精品一区综合无码| 国产乱子伦精品无码专区| 97精品国产手机| 国产精品夜色视频一级区| 久久99热精品| 国产精品亚洲精品| 精品999在线| 久久精品中文字幕久久| 精品一区二区久久| 2020国产精品| 99国产精品久久久久久久成人热| 国产精品视频永久免费播放| 精品日韩亚洲AV无码一区二区三区| 老汉精品免费AV在线播放| 亚洲av成人无码久久精品| 无码精品A∨在线观看中文| 中文字幕日本精品一区二区三区| 亚洲精品无码高潮喷水在线| 亚洲一区精品无码| 无码精品A∨在线观看中文| 国产精品va无码一区二区| 99精品免费视频| 久久se精品一区精品二区|