• Flex布局


    弹性布局,css3中的flex属性,在布局中做了非常大的改进,使得我们对多个元素之间的布局排列变得十分灵活,其强大的伸缩性和自适应性,在网页开中可以发挥极大的作用。

    1.flex 布局的子元素不会脱离文档流

    相比float来做布局,float属性的元素会脱离文档流,而且会涉及到各种BFC、清除浮动的问题
    

    2.弹性盒子 子元素

    ** 弹性盒子:指的是使用 display:flex 或 display:inline-flex 声明的父容器**。

    子元素/弹性元素:指的是父容器里面的子元素们(父容器被声明为 flex 盒子的情况下)。

    3.主轴和侧轴

    主轴默认是水平方向,弹性盒子的子元素默认从左到右排列,子元素在没有宽度的情况下,会坍缩到内容的大小

    可以通过flex-direction: 改变主轴方向

    row

    row-reverse

    column

    column-reverse

    3.主轴的对齐方式

      /* 向起始位置对齐
    
      justify-content: flex-start; */
    
               /*  向结束位置对齐
    
            justify-content: flex-end; 
    
            /*     向行中间位置对齐
    
            justify-content: center; */
    
              /*   平均的分配到行里
    
            justify-content: space-around; */
    
            /* 第一个贴左边,最后一个贴右边,其他盒子均分,保证每个盒子之间的空隙是相等的。(常用)
    
            justify-content: space-between; */
    
           /*  子元素于子元素的距离完全相等
    
            justify-content: space-evenly; */
    

    4 侧轴单行元素的对齐方式

     /* align-items(重点 针对的是单行) */
    
          /*   元素在侧轴的起始位置对齐。 
    
            align-items: flex-start; */
    
            /* flex-end: 元素在侧轴的结束位置对齐。
    
            align-items: flex-end;
    
           */
    
          /*  center: 元素在侧轴上居中对齐。(常用)
    
           align-items: center; */
    
           /* 当没有设置宽度的情况下,将元素宽度拉伸至侧轴大小 */
    

    5.侧轴单多行元素的对齐方式

            /* 多行文本充满主轴,没法设置对齐方式
    
    	比如子元素设置成百分形式,充满轴 */
    
    
    
            /* align-content是多行文本在侧轴的对齐方式 */
    
            /* 各行向侧轴的起始位置堆叠。 
    
            align-content:flex-start ; */
    
           
    
           /* 全部 各行向弹性盒容器的结束位置堆叠。
    
            align-content: flex-end; */
    
           /* 全部各行向弹性盒容器的中间位置堆叠。
    
          align-content: center;
    

    */

          /* 第一行贴上边,最后一个行贴下边,其他行在弹性盒容器中平均分布。 
    
          align-content: space-between;
    

    */

         /* 在侧轴平均分布
    
         align-content: space-around; 
    
          */
    
    6.元素换行
    
       flex-direction: row; /* 元素装不下会自动坍缩,不会换行 */
    
            flex-wrap: nowrap;/* 不换行 */
    
           /*  flex-wrap: wrap; 换行*/
    
    7.flex属性
    
    flex: 1(份数)
    
    子元素通过设置flex属性达到分配弹性盒子空间的效果
    
    实现自适应效果:
    
    左边固定,右边自适应  左边盒子写宽高,右边盒子设置flex:1
    
    右边固定,左边自适应   右边盒子写宽高,左边盒子设置flex:1
    
    左右固定,中间自适应    左、右边盒子写宽高,中间盒子设置flex:1
    
    
    
    补充1:让容器里的文字垂直水平对齐,
    
    		先flex父盒子,在设置justify-content:center;
    
    		align-items:center(单行) / align-content:center
    
    补充2:骰子的四点制作
    
           	<div class="item">
    
               		 <div class="info"></div>
    
                	 <div class="info"></div>
    
          	 </div>
    
           	<div class="item">
    
                	 <div class="info"></div>
    
                	 <div class="info"></div>
    
          	 </div>     
    
    </div>
    

    先给类four主轴为竖直方向,两个item两端对齐

    .four {

            border: 1px solid black;
    
            display: flex;
    

    flex-direction: column;

            /*  在竖直主轴上两端对齐 */
    
             justify-content: space-between;   
    
        }
    
    再让item弹性,并且两端对齐
    

    .four .item {

            display: flex;
    
            /* item里主轴仍是水平方向 */
    
             /*  在水平主轴上两端对齐 */
    
            justify-content: space-between;
    
        }
  • 相关阅读:
    RabbitMQ学习之:(一)初识、概念及心得
    给Eclipse_Android添加智能提示功能
    C#异步编程之:(三)使用TaskScheduler.UnobservedTaskException
    类设计技巧
    初始化块
    子类构造器
    静态域与静态方法
    构造器中调用另一个构造器
    重载
    无参数的构造器
  • 原文地址:https://www.cnblogs.com/zdy4396/p/14025131.html
Copyright © 2020-2023  润新知