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.参考资料

  • 相关阅读:
    vue项目搭建步骤
    文件的操作总结
    WPF 使用皮肤影响按钮自定义
    WPF中:未找到可以 register Name“XXX”的 NameScope
    WPF Label或者其他控件(以Content显示内容的)单个下划线不显示的问题。
    wpf 中GridControl后面总是多一空白列
    WPF设置控件层次问题(最顶层,最底层)
    WPF中设置TreeView的高度随着窗口改变
    C# 检测文件是否被其他进程占用
    XML文件的操作
  • 原文地址:https://www.cnblogs.com/lijie33402/p/4778417.html
Copyright © 2011-2022 走看看