• 圣杯布局和双飞翼布局


    圣杯布局跟双飞翼布局的实现,目的都是左右两栏固定宽度,中间部分自适应。
    圣杯布局实现的思路是:
    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步骤中完成位置设置。

  • 相关阅读:
    ios8消息快捷处理——暂无输入框
    animateWithDuration 动画的速度选择
    对网页进行修改js代码
    如何对网页进行长截图
    centos快速配置yum源
    No module named 'Crypto.PublicKey' 完美解决办法
    Virtualenv 环境配置
    Python逻辑运算符的本质
    Django 使用Contenttype组件创建多关联数据库表
    Django Rest Framework url注册器组件 | 响应器组件 | 分页器组件
  • 原文地址:https://www.cnblogs.com/Jomsou/p/9161813.html
Copyright © 2020-2023  润新知