zoukankan      html  css  js  c++  java
  • 左右两栏div布局,高度自适应

    页面结构如下:

    <div class="container">
        <div class="left">
            left
        </div>
        <div class="right">
            right
        </div>
    </div>
    

      需要这样的效果:左右两边高度有内容多少,自适应

    下面提供三种方式:

    第一种: 使用display:table;

    .container {
    				display: table;
    				 80%;
    			}
    			
    			.container .left,
    			.container .right {
    				display: table-cell;
    			}
    			
    			.container .left {
    				 20%;
    				background: pink;
    			}
    			
    			.container .right {
    				 80%;
    				background: deeppink;
    			}
    

      利用的table本身的自适应特性,兼容性好,容易使用

    方法2:利用margin和padding

    .container {
    				overflow: hidden;
    				 400px;
    			}
    			.container .left,
    			.container .right {
    				float: left;
    				margin-bottom: -10000px;
    				padding-bottom: 10000px;
    			}
    			.container .left {
    				 20%;
    				background: pink;
    			}
    			.container .right {
    				 80%;
    				background: deeppink;
    			}
    

      这个原理是,左右的内容高度并没有跟着变化,只是由margin和padding撑出了一些地方,然后被隐藏了,当有一边的高度由内容撑起来之后,另一边的看似也跟着起来了,实际上那部分是padding

    方法3:flex,兼容性IE10下面不能使用,手机端也有些兼容

    .container {
    				display: flex;
    				 400px;
    			}
    			
    			.container .left {
    				 20%;
    				background: pink;
    			}
    			
    			.container .right {
    				 80%;
    				background: deeppink;
    			}
    

      

  • 相关阅读:
    libTIFF 图像读取与保存
    MarkDown写作之嵌入LaTeX和HTML
    R语言学习(一)前言
    Multi-Byte Character Set & Unicode Character Set
    C/C++ ShellExecuteEx调用exe可执行文件
    C/C++中相对路径与绝对路径以及斜杠与反斜杠的区别
    观察者模式
    责任链模式
    桥接模式
    void及void指针含义的深刻解析
  • 原文地址:https://www.cnblogs.com/muamaker/p/8078516.html
Copyright © 2011-2022 走看看