• 圣杯布局和双飞翼布局


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

    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;
            }
  • 相关阅读:
    qt QTimer 计时器
    qt DateTime 计算时间
    c++ win32 关机 注销 重启
    uniapp 修改meta:viewport
    初次使用 VUX
    移动端web app自适应布局探索与总结
    前端js模版 预编译工具Tmod js使用入门
    谷歌 Uncaught SecurityError: Failed to execute 'replaceState' on 'History 错误
    H5 前端页面适配响应式
    微信video标签全屏无法退出bug 本文系转载
  • 原文地址:https://www.cnblogs.com/yinping/p/11246759.html
Copyright © 2020-2023  润新知