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

    圣杯布局和双飞翼布局的几点区别:

    1. 圣杯布局的center,left和right是写在一个共同的父元素中的,双飞翼的左中右是分开写的
    2. 圣杯布局要使用position定位。
    1. 圣杯布局:center的width设置100%,此时,left和right被挤到了下一行,设置left的margin-left为-100%,相当于相对left的border-left向左移动100%的父元素单位,因为突破了紧挨浮动元素的下边缘,所以left向上移动,然后利用position将left的位置放置在左边。设置left的margin-right为-150px,设置的右边缘线突破了center元素下边缘的限制,因此向上移动至最右边
    <div id="header">header</div>
        <div id="container">
            <div id="center" class="colomu"></div>
            <div id="left" class="colomu"></div>
            <div id="right" class="colomu"></div>
    </div>
     <div id="footer">footer</div>
    body{
                min- 550px;
            }
            #header,#footer{
                height: 50px;
                background-color: aqua;
                text-align: center;
            }
            #container {
                padding-left: 200px;
                padding-right: 150px;
                height: 100px;
            }
            #container .colomu{
                float: left;
            }
            #center{
                /* left被挤到了下一行 */
                 100%;
                background-color: blueviolet;
                height: 100px;
            }
            #left{
                /* margin的百分比是相对于父元素说的,margin-left=-100%相当于距离conter元素的右边框200px */
                 200px;
                height: 100px;
                margin-left: -100%;
                background-color: aquamarine;
                position: relative;
                right: 200px;
            }
            #right{
                 150px;
                height: 100px;
                background-color: aquamarine;
                margin-right: -150px;
            }
            #footer{
                clear: both;
            }

                   2.双飞翼布局: 双飞翼布局不再使用position来定位left的位置,直接使用margin-left: -100%

     <div id="header">header</div>
        <div id="container" class="column">
            <div id="center">center</div>
        </div>
        <div id="left" class="column">left</div>
        <div id="right" class="column">right</div>
        <div id="footer">footer</div>
     body {
                min- 500px;
            }
    
            div {
                height: 100px;
            }
    
            #header,
            #footer {
                background-color: aquamarine;
            }
    
            #container {
                 100%;
            }
    
            .column {
                float: left;
            }
    
            #center {
                margin-left: 200px;
                margin-right: 150px;
                background-color: blueviolet;
            }
    
            #left {
                 200px;
                background-color: aqua;
                margin-left: -100%;
            }
    
            #right {
                 150px;
                background-color: aqua;
                margin-left: -150px;
            }
    
    
            #footer {
                clear: both;
            }
  • 相关阅读:
    JavaScript教程——JavaScript 的基本语法(标识符)
    ECMAScript 6 入门——ES6 声明变量的六种方法
    JavaScript教程——数据类型概述
    对称机密算法与非对称机密算法
    C语言提高 (2) 第二天 用指针对字符串进行操作
    C语言提高 (1) 第一天 数据类型本质与内存四区
    关于内存地址和内存空间的理解(转)
    为什么对数组处理的函数需要传递数组长度
    Unicode编码,解释UCS、UTF、BMP、BOM等名词
    上海
  • 原文地址:https://www.cnblogs.com/yinping/p/11246759.html
Copyright © 2011-2022 走看看