zoukankan      html  css  js  c++  java
  • 实用的两列等高布局

    做后台模板的时候会遇到左侧随着右侧高度增加而增加的两列等高布局,查阅资料和总结了一下有以下几种方法:

    HTML代码

     <div id="header">头部</div>
            <div id ="container">
                <div class="mainbox">
                    主内容区域
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                    1<br/>
                </div>
                <div class="sidebox">侧边栏</div>
            </div>
            <div id="footer">页脚</div>

    一:负边距的实现

    *{
        margin:0;
        padding:0;
    }
    #header,#footer{
        width:960px;
        height:30px;
        background-color:#E8E8E8;
    }
    #container{
        width:960px;
        overflow:hidden;/重点!将父级元素多余部分切除掉/
        margin:10px 0;
    }
    .mainbox{
        float:left;
        width:650px;
        background-color:#333333;
    }
    .sidebox{
        float:right;
        width:280px;
        background-color:#AAAAAA;
    }
    .mainbox,.sidebox{
        padding:0 5px;
        color:#FF0000;
        margin-bottom:-9999px;/*将容器背景色拉伸*/
        padding-bottom:9999px;/*将容器背景色拉伸*/
    }
    #container:after{
        display:block;
        visibility:hidden;
        font-size:0;
        line-height:0;
        clear:both;
        content:"";
    }

    二:背景模拟

    *{
        margin:0;
        padding:0;
    }
    #header,#footer{
        width:960px;/*设置头部,页脚宽度*/
        height:30px;/*设置头部,页脚高度*/
        background-color:#6CF;/*设置头部,页脚背景颜色*/
    }
    #container{
        width:960px;/*设置元素宽度*/
        background:url(images/bg.png) repeat-y 0 0; /*将背景图片以y轴重复*/
    }
    .mainbox{
        float:left;/*元素左浮动*/
        width:650px;/*元素宽度*/
    }
    .sidebox{
        float:right;/*元素右浮动*/
        width:280px;/*元素宽度*/
    }
    .mainbox,.sidebox{
         padding:0 5px;
         color:#FF0000;
    }/*设置mainbox,sidebox共同属性*/
    #container:after{
         display:block;
         visibility:hidden;
         font-size:0;
         line-height:0;
         clear:both;
         content:"";
    }/*清楚浮动*/

    三:使用border实现等高

    *{
      margin:0;
      padding:0;
    }
    #header,#footer{
      width:970px;
      height:30px;
      background-color:#9CF;
    }
    #container{
      position:relative;/*将子元素的定位到具体的参照对象*/
      width:970px;
      margin:10px 0;
    }
    .mainbox{
      width:650px;
      background-color:#FC9;
      border-right:320px solid #F63;/*设置左边框宽度为320px像素,同等于sidebox的宽度*/
    }
    .sidebox{
      width:320px;
      position:absolute;
      top:0;
      right:0;/*使元素靠右*/
    }

    另外还有几种CSS3和JS实现的参考以下教程

    http://www.csssea.com/?p=230

    http://www.w3cplus.com/css/creaet-equal-height-columns

  • 相关阅读:
    软件测试面试题及答案【史上最全】
    Loadrunner参数(摘)
    Linux系统的目录结构
    关于梦想(七)
    Mysql基于Linux上的安装
    走进MySQL
    关于梦想(六)
    Jmeter的实例应用
    十种社会中最真实的人际关系
    有些人走了就走了,该在的还在就好
  • 原文地址:https://www.cnblogs.com/leejersey/p/4399139.html
Copyright © 2011-2022 走看看