Flex布局语法教程分享:telnet端口云服务器失败

時間:2024-01-15 04:50:33 作者:telnet端口云服务器失败 熱度:telnet端口云服务器失败
telnet端口云服务器失败描述::

2009年,W3C 提出了一种新的方案----Flex 布局,可以简易、完整、响应式地实现各种页面布局。目前,它已经得到了所有阅读器的支持,这意味着,现在就能很安全地采用这项性能。

网页布局(layout)是 CSS 的一个重点利用。

布局的传统解决方案,基于盒状模型,依靠display属性 +position属性 +float属性。它对于那些不同凡响布局非常不便捷,比如,垂直居中就不容易实现。

一、Flex 布局是什么?

Flex 是 Flexible Box 的缩写,意为弹性布局,用来为盒状模型提供最大的敏捷性。

任何一个容器都可以指定为 Flex 布局。

box{
displayflex;
}

行内元素也可以采用 Flex 布局。

box{
displayinline-flex;
}

Webkit 内核的阅读器,必要加上-ebkit前缀。

box{
display-ebkit-flex;*Safari*
displayflex;
}

留心,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

二、根本概念

使用 Flex 布局的元素,称为 Flex 容器(flex container),简称容器。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称项目。

容器默认存在两根轴:程度的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开端位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开端位置叫做cross start,结束位置叫做cross end。

项目默认沿主轴排列。单个项目盘踞的主轴空间叫做main size,盘踞的交叉轴空间叫做cross size。

三、容器的属性

以下6个属性设置在容器上。

  • flex-direction
    flex-rap
    flex-flo
    justify-content
    align-items
    align-conten
    • 31 flex-direction属性

      flex-direction属性决择主轴的方向(即项目标排列方向)。

      box{
      flex-directionro|ro-reverse|column|column-reverse;
      }

      它可能有4个值。

      • ro(默认值):主轴为程度方向,起点在左端。
        ro-reverse:主轴为程度方向,起点在右端。
        column:主轴为垂直方向,起点在上沿。
        column-reverse:主轴为垂直方向,起点在下沿
        • 32 flex-rap属性

          默认场合下,项目都排在一条线(又称轴线)上。flex-rap属性定义,假如一条轴线排不下,如何换行。

          box{
          flex-rapnorap|rap|rap-reverse;
          }

          它可能取三个值。

          (1)norap(默认):不换行。

          (2)rap:换行,第一行在上方。

          (3)rap-reverse:换行,第一行在下方。

          33 flex-flo

          flex-flo属性是flex-direction属性和flex-rap属性的简写格式,默认值为ro norap。

          box{
          flex-floflex-direction||flex-rap;
          }

          34 justify-content属性

          justify-content属性定义了项目在主轴上的对齐方式。

          box{
          justify-contentflex-start|flex-end|center|space-beteen|space-around;
          }

          它可能取5个值,具体对齐方式与轴的方向有关。下面假设主轴为从左到右。

          • flex-start(默认值):左对齐
            flex-end:右对齐
            center:居中
            space-beteen:两端对齐,项目之间的距离都相等。
            space-around:每个项目两侧的距离相等。所以,项目之间的距离比项目与边框的距离大一倍
            • 35 align-items属性

              align-items属性定义项目在交叉轴上如何对齐。

              box{
              align-itemsflex-start|flex-end|center|baseline|stretch;
              }

              它可能取5个值。具体的对齐方式与交叉轴的方向有关,下面假设交叉轴从上到下。

              • flex-start:交叉轴的起点对齐。
                flex-end:交叉轴的尽头对齐。
                center:交叉轴的中点对齐。
                baseline项目标第一行文字的基线对齐。
                stretch(默认值):假如项目未设置高度或设为auto,将占满整个容器的高度
                • 36 align-content属性

                  align-content属性定义了多根轴线的对齐方式。假如项目只有一根轴线,该属性不起作用。

                  box{
                  align-contentflex-start|flex-end|center|space-beteen|space-around|stretch;
                  }

                  该属性可能取6个值。

                  • flex-start:与交叉轴的起点对齐。
                    flex-end:与交叉轴的尽头对齐。
                    center:与交叉轴的中点对齐。
                    space-beteen:与交叉轴两端对齐,轴线之间的距离平均分布。
                    space-around:每根轴线两侧的距离都相等。所以,轴线之间的距离比轴线与边框的距离大一倍。
                    stretch(默认值):轴线占满整个交叉轴。
                    • 四、项目标属性

                      以下6个属性设置在项目上。

                      • order
                        flex-gro
                        flex-shrink
                        flex-basis
                        flex
                        align-sel
                        • 41 order属性

                          order属性定义项目标排列次序。数值越小,排列越靠前,默以为0。

                          item{
                          orderinteger;
                          }

                          42 flex-gro属性

                          flex-gro属性定义项目标放大比例,默以为0,即假如存在剩余空间,也不放大。

                          item{
                          flex-gronumber;*default0*
                          }

                          假如所有项目标flex-gro属性都为1,则它们将等分剩余空间(假如有的话)。假如一个项目标flex-gro属性为2,其他项目都为1,则前者盘踞的剩余空间将比其他项多一倍。

                          43 flex-shrink属性

                          flex-shrink属性定义了项目标缩小比例,默以为1,即假如空间缺陷,该项目将缩小。

                          item{
                          flex-shrinknumber;*default1*
                          }

                          假如所有项目标flex-shrink属性都为1,当空间缺陷时,都将等比例缩小。假如一个项目标flex-shrink属性为0,其他项目都为1,则空间缺陷时,前者不缩小。

                          负值对该属性无效。

                          44 flex-basis属性

                          flex-basis属性定义了在分配过剩空间之前,项目盘踞的主轴空间(main size)。阅读器依据这个属性,计算主轴是否有过剩空间。它的默认值为auto,即项目标本来大小。

                          item{
                          flex-basislength|auto;*defaultauto*
                          }

                          它可以设为跟th或height属性一样的值(比如350px),则项目将盘踞固定空间。

                          45 flex属性

                          flex属性是flex-gro,flex-shrink和flex-basis的简写,默认值为0 1 auto。后两个属性可选。

                          item{
                          flexnone|[flex-groflex-shrink?||flex-basis]
                          }

                          该属性有两个快捷值:auto(1 1 auto) 和 none (0 0 auto)。

                          建议优先采用这个属性,而不是单独写三个分解的属性,由于阅读器会推算相关值。

                          46 align-self属性

                          align-self属性许可单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示接管父元素的align-items属性,假如没有父元素,则等同于stretch。

                          item{
                          align-selfauto|flex-start|flex-end|center|baseline|stretch;
                          }

                          该属性可能取6个值,除了auto,其他都与align-items属性彻底一致。

站長聲明:以上關於【Flex布局语法教程分享-telnet端口云服务器失败】的內容是由各互聯網用戶貢獻並自行上傳的,我們新聞網站並不擁有所有權的故也不會承擔相關法律責任。如您發現具有涉嫌版權及其它版權的內容,歡迎發送至:1@qq.com 進行相關的舉報,本站人員會在2~3個工作日內親自聯繫您,一經查實我們將立刻刪除相關的涉嫌侵權內容。