zoukankan      html  css  js  c++  java
  • 圣杯布局和双飞翼布局

    圣杯布局跟双飞翼布局的实现,目的都是左右两栏固定宽度,中间部分自适应。
    圣杯布局实现的思路是:
    1、将最外层的container的padding设置为 padding: 0 220px 0 200px;为左右两块让出空间;
    2、将#middle, #left, #right三者设为浮动;
    3、将middle的width设置为100%;
    4、分别给#left设置margin-left,#right设置margin-right,将left和right拉到与middle同一水平;
    5、再用定位将左右位置设置好。
    html代码:

    <div id="container">
            <div id="middle"></div>
            <div id="left"></div> 
            <div id="right"></div>   
        </div>  
    

    css代码:

    *, body {
                margin: 0;
                padding: 0;
            }
            #container {
                padding: 0 220px 0 200px;
                background: gray;
                height: 400px;
                overflow: hidden;
            }
            #middle, #left, #right {
                height: 400px;
                min-height: 130px;
                float: left;
                position: relative;
            }
            #middle {
                 100%;
            }
            #left {
                 200px;
                background: red;
                margin-left: -100%;
                left: -200px;
            }
            #right {
                 220px;
                background: orange;
                margin-right: -220px;
            }
    

    6

    双飞翼布局实现的思路是:
    1、将#main, #sub, #extra三者设为浮动;
    2、分别给#sub设置margin-left,#extra设置margin-left,将sub和extra拉到与main同一水平
    3、将main的width设为100%;
    4、在main里加一个main-inner,设置其margin-left、margin-right,为sub、extra腾出位置;
    html代码:

    <div id="main">
            <div id="main-inner">
    
            </div>
        </div>
        <div id="sub"></div>
        <div id="extra"></div>
    

    css代码:

    *, body {
                margin: 0;
                padding: 0;
            }
            #main, #main-inner, #sub, #extra {
                height: 400px;
                min-height: 130px;
                float: left;
            }
            #sub {
                 200px;
                margin-left: -100%;
                background: red;
            }
            #extra {
                 220px;
                margin-left: -220px;
                background: orange;
            }
            #main {
                 100%;
                background: green;
            }
            #main-inner {
                margin-left: 200px;
                margin-right: 220px;
                background: green;
            }
    

    7

    相同:
    1、都用了浮动
    2、都利用负的margin值,将两边拉到与中间同一水平
    3、将中间的width设置为100%
    区别:
    1、前者用最外层的container的padding为左右腾出空间。后者在中间main里加了一个main-inner,并为左右腾出空间。
    2、前者用到定位position,后者则在第2步骤中完成位置设置。

  • 相关阅读:
    让EditPlus支持SQL高亮提示
    SQL Server 触发器
    asp.net中使用Global.asax文件中添加应用出错代码,写入系统日志文件或数据库
    C#钩子类 几乎捕获键盘鼠标所有事件
    DataGridView一些常用操作
    在C#中实现串口通信的方法
    System.Diagnostics.Process.Start的妙用
    Byte[]、Image、Bitmap 之间的相互转换
    Dos命令打印文件以及Dos打印到USB打印端口
    Winform常用的一些功能收集(持续更新)
  • 原文地址:https://www.cnblogs.com/Jomsou/p/9161813.html
Copyright © 2011-2022 走看看