zoukankan      html  css  js  c++  java
  • 3种常见的CSS页面布局--双飞翼布局、粘连布局、左右两列布局

    一、左右两列布局

    1、代码如下,可先粘贴复制,自行运行

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>两列布局</title>
    <!--左边列固定,右边列自适应-->
    <style type="text/css">
    *{
    padding: 0;
    margin: 0;
    }
    body{
    min- 600px;
    }
    .lef{
    100px;
    height: 400px;
    background: hotpink;
    float: left;
    }
    .rig{
    height: 400px;
    background: yellowgreen;
    margin-left: 50px;
    /*给right开启BFC
    利用BFC的特性:
    bfc的区域不会与浮动的box重叠*/

    /* 溢出内容部分被切割,所以使用省略号表示 */
    overflow: hidden;
    /*出现省略号需要四个设置:
    * display: block;
    * overflow: hidden;
    * white-space: nowrap;
    * text-overflow: ellipsis
    * */
    /* white-space: nowrap; */
    /* text-overflow: ellipsis; */
    }
    .con{
    300px;
    margin: 0 auto;
    }
    </style>
    </head>
    <body>
    <div class="con">
    <div class="lef">left</div>
    <div class="rig">
    lzprightrightrightrightrightrightrightrightrightrightrightrightrightright <br />
    rightrightrightrightrightrightrightrightrightrightrightrightrightright <br />
    rightrightrightrightrightrightrightrightrightrightrightrightrightright <br />
    rightrightrightrightrightrightrightrightrightrightrightrightrightright <br />
    </div>
    </div>
    </body>
    </html>

    2、必要说明

    外层容器con如果为固定宽度,right元素的overflow: hidden;是必须的,否则会出现rig中的字体不在rig里面

    外层容器con宽度如果是100%,或者默认,此时right元素的overflow: hidden;可有可无,页面不会因此受到影响

    二、粘连布局

    1、代码如下:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"/>
    <title>粘连布局</title>
    <!--
    当页面中无内容或内容不足一屏时,footer在页面最底部显示
    当页面内容很多一屏装不下时,footer紧随内容其后显示
    -->
    <style type="text/css">
    *{
    padding: 0;
    margin: 0;
    }
    html, body{
    height: 100%;
    }
    .wrap{
    /* 设置wrap的最小高度,当main元素中的内容较少或者为空时,也能保持100%高度 */
    min-height: 100%;
    background: yellowgreen;
    text-align: center;
    }
    .main{
    /*main的height值由内容决定*/
    /*当内容不足一屏时,下面的设置不会撑开父元素wrap,此时wrap的min-height设置生效,
    * 当内容刚好一屏时,下面的设置开始撑开父容器,其height值为100%+50px。
    * 拉开这50px的原因是防止footer遮盖住main内容,这个值不是固定死的,由footer的高度值决定
    * 为footer向上填充margin-top: -50px;做准备
    * */
    padding-bottom: 50px;
    }
    .footer{
    height: 50px;
    line-height: 50px;
    background: deeppink;
    text-align: center;
    margin-top: -50px;
    }
    </style>
    </head>
    <body>
    <div class="wrap">
    <div class="main">
    main<br />main<br />main<br />main<br />
    main<br />main<br />main<br />main<br />
    main<br />main<br />main<br />main<br />
    main<br />main<br />main<br />main<br />
    main<br />main<br />main<br />main<br />
    main<br />main<br />main<br />main<br />
    main<br />main<br />main<br />main<br />
    main<br />main<br />main<br />main<br />
    main<br />main<br />main<br />main<br />
    main<br />main<br />main<br />main<br />
    main<br />main<br />main<br />main<br />
    mlzpain<br />
    </div>
    </div>
    <!--footer元素放在wrap外-->
    <div class="footer">
    footer
    </div>
    </body>
    </html>

    三、双飞翼布局

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>双飞翼三列布局</title>
    <style type="text/css">
    /*清除浏览器默认样式*/
    *{
    padding: 0;
    margin: 0;
    }
    /*设置body的最小宽度*/
    body{
    min- 600px;
    }
    /*左浮动*/
    .fl{
    float: left;
    }
    /*双飞翼三列布局*/
    .mid{
    100%;
    }
    .lef{
    200px;
    background: mediumpurple;
    margin-left: -100%;
    }
    .rig{
    200px;
    background: orangered;
    margin-left: -200px;
    }
    .inn_mid{
    margin: 0 200px;
    background: pink;
    }
    /*等高布局*/
    /* 先使子元素溢出父盒子范围,然后在父盒子中设置overflow:hidden;清除溢出部分,从而由原来的不等高达到等高效果 */
    .mid, .lef, .rig{
    padding-bottom: 10000px;
    margin-bottom: -10000px;
    }
    .con{
    border: 5px solid deepskyblue;
    overflow: hidden;
    }
    </style>
    </head>
    <body>
    <div class="con">
    <div class="mid fl">
    <div class="inn_mid">
    <h4>middle</h4>
    <h4>middle</h4>
    <h4>middle</h4>
    </div>
    </div>
    <div class="lef fl">left</div>
    <div class="rig fl">right</div>
    </div>
    </body>
    </html>

    end,至此三个常见布局介绍完毕,建议稍微花点时间琢磨一下,其中微妙之处只可意会不可言传

  • 相关阅读:
    了解下Mysql的间隙锁及产生的原因
    Mysql在InnoDB引擎下索引失效行级锁变表锁案例
    Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解
    Mysql优化_ORDER BY和GROUP BY 的优化讲解(单路排序和双路排序)
    Mysql优化原则_小表驱动大表IN和EXISTS的合理利用
    Mysql性能调优工具Explain结合语句讲解
    隐藏Apche、Nginx、PHP的版本号提高网站安全性
    Thinkphp在Lnmp环境下部署项目先后报错问题解决:_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/...Access denied.
    html中返回上一页
    ecshop网站建设手机版wap版出现lib.debug.php on line 303
  • 原文地址:https://www.cnblogs.com/alannever/p/13525741.html
Copyright © 2011-2022 走看看