• 真香的flex弹性布局


    如何实现一个左中右的布局

    在flex出现之前

    #box{
       color: white;
    }
    #left{
       float: left;
        30%;
       background-color: red;
    }
    #right{
       float: right;
        20%;
       background-color: green;
    }
    #center{
       background-color: blue;
       overflow:hidden;  /* 去除浮动换成 margin: 0 20% 0 30%; 效果一样 */
    }
    
    <div id="box">
       <div id="left">左</div>
       <div id="right">右</div>
       <!-- 浮动的元素一定要写在没浮动的样式前面 -->
       <div id="center">中间</div>
    </div>
    

    使用flex

    #box{
       display: flex;
       color: white;
    }
    #left{
        30%;
       background-color: red;
    }
    #right{
        20%;
       background-color: green;
    }
    #center{
       background-color: blue;
       flex: 1;
    }
    
    <div id="box">
       <div id="left">左</div>
       <div id="center">中间</div>
       <div id="right">右</div>  
    </div>
    

    上面看起来flex也没什么牛逼的地方啊

    但是当你试着去#left里放上一张不知道高度的图片时,你会知道中间和右边的字要做到垂直居中是多么的困难,而flex只需要在#box里加上一句align-items:center;就行,flex真香了,这个属性是最常用的,而flex还有大量的功能,下面粗略列出来,具体使用看具体情况

    #aa{
      /* flex的排列方向: 横向(默认), 横向反方向 , 纵向 , 纵向反方向 */
      flex-direction: row(default) | row-reverse | column | column-reverse;
    
      /* 横向使用时,当容器中的项目一行放不下的时候,是挤一挤还是换行,横向使用 */
      flex-wrap: nowrap(default) | wrap;
    
      /* 横向排列并且有空余位置时排列方式是,从左边开始 , 右边开始 , 中间 , 两端对齐 , 间隔等分 */
      justify-content: flex-start(default) | flex-end | center | space-between | space-around;
    
      /* 横向排列并且开启不换行nowrap时, 当同行的div高度不一样怎么排列Y轴, 一般是用center */
      align-items: flex-start(default) | flex-end | center | baseline;
    
      /* 横向排列并且开启换行wrap时, 换行的规则是,换行后Y轴怎么排列,常用是center和space-around */
      align-content: flex-start(default) | flex-end | center | space-between | space-around;
    }
    
  • 相关阅读:
    java接口变量问题
    FileInputStream与BufferedInputStream的对比
    eclipse使用javaFX写一个HelloWorkld
    Windows 安装Java与配置环境变量
    asp.net core处理中文的指南
    修改release management client对应的服务器的地址
    在server2012安装tfs遇到的问题:KB2919355
    release management客户端无法连接到release management server的问题解决
    如何升级PowerShell
    VS2010下调试.NET源码
  • 原文地址:https://www.cnblogs.com/pengdt/p/12037507.html
Copyright © 2020-2023  润新知