<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 后端人員如何快速上手css(flex布局

          2019-6-21    seo達人

          如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

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

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

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

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


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

          項目默認沿主軸排列。單個項目占據的主軸空間叫做main size,占據的交叉軸空間叫做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軸為基礎排序,
          column:

          不但模糊了塊級元素和行內元素的區別,而且左右的排序也很靈活。
          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個值,具體對齊方式與軸的方向有關。下面假設主軸為從左到右。

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

          space-between:

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

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


          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.sdgs6788.com

          存檔

          99久久这里只精品国产免费| 国产精品免费看久久久| 精品综合久久久久久88小说| 久久久久国产一级毛片高清版| 999久久久免费国产精品播放| 国产 亚洲 欧美 另类 久久| 久久久久这里只有精品| 亚洲va中文字幕无码久久不卡 | 久久午夜羞羞影院免费观看| 久久天天躁狠狠躁夜夜avapp| 韩国三级大全久久网站| 久久综合色区| 久久精品国产亚洲欧美| 亚洲人成无码网站久久99热国产| 97精品久久天干天天天按摩| 亚洲国产日韩欧美综合久久| 国产V亚洲V天堂无码久久久| 思思久久好好热精品国产| 国内精品久久国产大陆| 久久精品国产免费观看 | 无遮挡粉嫩小泬久久久久久久| 亚洲国产天堂久久综合网站| 亚洲级αV无码毛片久久精品 | 久久精品免费一区二区三区| 久久99精品久久久大学生| 精品久久人人做人人爽综合| 久久本道伊人久久| 精品无码久久久久久尤物| 国产99久久久国产精品小说| 久久91精品综合国产首页| 99re这里只有精品热久久| 亚洲国产精品无码久久98| 久久久久久久久久久久久久 | 久久久噜噜噜www成人网| 久久亚洲天堂| 伊人久久成人成综合网222| 久久AⅤ人妻少妇嫩草影院| 欧美久久精品一级c片片| 久久伊人精品青青草原高清| 日本精品久久久久中文字幕8| 精品久久久久久|