侧边栏壁纸
博主头像
三生石博主等级

梦想还是有的,就算做咸鱼,也要做最咸的。|

  • 累计撰写 31 篇文章
  • 累计创建 55 个标签
  • 累计收到 7 条评论
css

CSS3中的flex布局

三生石
2020-10-12 / 0 评论 / 0 点赞 / 16 阅读 / 1,752 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-04-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

flex是Flexible Box的缩写,意思为“弹性布局”,在使用过程中简单、易用、代码较少,在制作网页的时候经常使用这种方法来进行布局。

容器设置为flex以后,子元素的float、clear和vertcal-align的属性将失效。

.box{display:flex;}

容器的六个属性

flex-direction

决定主轴的方向(即项目的排列方向)

.box{
      display:flex;
      flex-direction:row;  //默认值,主轴为水平方向,起点在左端。
      flex-direction:row-reverse;  //主轴为水平方向,起点在右端。
      flex-direction:column;  //主轴为垂直方向,起点在上沿。
      flex-direction:column-reverse;  //主轴为垂直方向,起点在下沿。}

flex-wrap

定义如果一条轴线排不下,如何换行

.box{
      display:flex;
      flex-wrap:nowrap;  //默认值,不换行。
      flex-wrap:wrap;   //换行,第一行在上方。
      flex-wrap:wrap-reverse;  //换行,第一行在下方。
}

flex-flow

是flex-direction属性和flex-wrap属性的简写形式

.box{
      display:flex;
      flex-flow:row nowrap;  //默认值,不换行。
}

justify-content

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

.box{
      display:flex;
      justify-content:flex-start;  //默认值,左对齐。
      justify-content:flex-end;  //右对齐。
      justify-content:center;  //水平居中。     
      justify-content:space-between;  //两队对齐,项目之间间隔相等。      
      justify-content:space-around;  //每个项目两侧间隔相等。
}

align-items

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

.box{
      display:flex;
      align-items:flex-start;  //交叉轴的起点对齐。
      align-items:flex-end;  //交叉轴的终点对齐。
      align-items:center;  //垂直居中,交叉轴的中点对齐。     
      align-items:baseline;  //项目第一行文字的基线对齐。      
      align-items:stretch; //默认值,项目未设置高度或设为auto,将占满整个容器的高度。
}

align-content

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

.box{
      display:flex;
      align-content:flex-start;  //与交叉轴的起点对齐。
      align-content:flex-end;  //与交叉轴的终点对齐。
      align-content:center;  //与交叉轴的中点对齐。     
      align-content:space-between;  //与交叉轴两端对齐,轴线之间间隔平均分布。    
      align-content:space-between;  //每根轴线两侧间隔相等。  
      align-content:stretch; //默认值,轴线占满交叉轴。
}
容器内元素6个属性

flex-grow定义元素的放大比例,默认为0,即如果存在剩余空间,也不放大。

   .box.item{
     flex-grow:number(数字);    //默认为0
}

flex-shrink定义元素的缩小比例,默认为1,即如果空间不足,该项目将缩小。

.item{
     flex-shrink:number(数字);    //默认为0
}

flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间。

.item{
      flex-basis:length | auto;  
}

align-self允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。

.item{
      align-self:auto;
      align-self:flex-start;
      align-self:flex-end;
      align-self:center;
      align-self:baseline;
      align-self:stretch;
}

弹性布局复习思维导图.PNG

0

评论区