zoukankan      html  css  js  c++  java
  • [css]等高列的简单实现

    又碰到css等高布局的问题,发现以前没有总结,这里再把基本原理写一下吧。

    1.负边距控制法。

    <div id="content">
        <div class="left">左边,无高度属性,自适应于最高一栏的高度</div>
        <div class="right">右边,无高度属性,自适应于最高一栏的高度</div>
        <div class="center">中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应中间,宽度自适应</div>
    </div>
    

    把容器的overflow设为hidden,给每列都设置大的底部内边距,再用数值相似的负外边距消除这个高度。

    #content{
      overflow:hidden;
    }
    .left,.right,.center{
      padding-bottom:9999px;
      margin-bottom:-9989px;
      padding-top:10px;
      padding-left:10px;
      padding-right:10px;
    }
    .left{
      float:left;
      200px;
      background-color:#eee;
    }
    .right{
      float:right;
      300px;
      background-color:#ddd;
    
    }
    .center{
      margin-left:230px;
      margin-right:330px;
      background-color:#999;
    }
    

    2.flex布局

    同样的html结构。如果是三等分的话,用flex非常简单,align-items的属性默认值是stretch,所以就是等高的,上css代码:

    #content {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      overflow: hidden;
    }
    .left,.right,.center {
      flex: 1;
    }
    .left {
      order: 0;
      background-color: #eee;
    }
    .center {
      order: 1;
       margin: 0 10px;
      background-color: #999;
    }
    .right {
      order: 2;
     
      background-color: #ddd;
    }
    

    3.参考资料

  • 相关阅读:
    实验一
    BZOJ 2564
    P4557 [JSOI2018]战争
    移动自动化-Mac-IOS-appium环境搭建
    Node安装mac版本
    删除N天前文件和空文件
    Python之jsonpath模块
    性能学习
    参数化
    查找测试用例
  • 原文地址:https://www.cnblogs.com/lijie33402/p/4778417.html
Copyright © 2011-2022 走看看