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

    要实现如下图所示的布局,可利用圣杯布局或双飞翼布局(紫色部分可伸缩)

    圣杯布局

     /*css代码*/
            #head{
                height: 200px;
                background: red;
            }
            #foot{
                height:200px;
                background: pink;
            }
            #content{
                padding: 0px 200px 0px 150px;
                overflow: hidden;
            }
            #main{
                100%;
                background: purple;
                float: left;
            }
            #left{
                 150px;
                background: yellow;
                float: left;
                position: relative;
                margin-left: -100%;
                left: -150px;
            }
            #right{
                 200px;
                background: green;
                float: left;
                margin-right: -200px;
            }
            #left,#right,#main{
                padding-bottom: 10000px;
                margin-bottom:-10000px;
            }
    
    
    <!--html代码-->
       <div id="head">head</div>
       <div id="content">
           <div id="main">
               <p>内容内容内容内容内容内容内容</p>
               <p>内容内容内容内容内容内容内容</p>
               <p>内容内容内容内容内容内容内容</p>
               <p>内容内容内容内容内容内容内容</p>
           </div>
           <div id="left">
               <ul>
                   <li>左菜单一</li>
                   <li>左菜单二</li>
                   <li>左菜单三</li>
               </ul>
           </div>
           <div id="right">
               <ul>
                   <li>右菜单一</li>
                   <li>右菜单二</li>
                   <li>右菜单三</li>
               </ul>
           </div>
       </div>
       <div id="foot">foot</div>

    布局的关键在id为content,main,left,right的四个div,在圣杯布局中,content的左右内边距分别为left和right的宽度,main,left,left均向左浮动,利用margin把left和right分别放到main左右两边的空白处。

    双飞翼布局

     /*css代码*/
            #head{
                height: 200px;
                background: red;
            }
            #foot{
                height:200px;
                background: pink;
            }
            #content{
                overflow: hidden;
            }
            #text{
                margin-right: 200px;
    margin-left: 150px; } #main{ 100%; background: purple; float: left; } #left{ 150px; background: yellow; float: left; position: relative; margin-left: -100%; } #right{ 200px; background: green; float: left; margin-left: -200px; } #left,#right,#main{ padding-bottom: 10000px; margin-bottom:-10000px; } <!--HTML代码--> <div id="head">head</div> <div id="content"> <div id="main"> <div id="text"> <p>内容内容内容内容内容内容内容</p> <p>内容内容内容内容内容内容内容</p> <p>内容内容内容内容内容内容内容</p> <p>内容内容内容内容内容内容内容</p> </div> </div> <div id="left"> <ul> <li>左菜单一</li> <li>左菜单二</li> <li>左菜单三</li> </ul> </div> <div id="right"> <ul> <li>右菜单一</li> <li>右菜单二</li> <li>右菜单三</li> </ul> </div> </div> <div id="foot">foot</div>

    双飞翼是由圣杯布局演变而来的,对比两种布局的html可知,在双飞翼中,main中的内容外面还嵌套了一个id为text的div,这就决定了css的不同。双飞翼布局中,content并没有设置左右内边距,而设置了text的左右外边距,左右边距分别为left和right的宽度。

  • 相关阅读:
    LeetCode506-相对名次
    LeetCode496-下一个更大的元素(遍历)
    Redis查询超时问题排查及原因分析
    SQL Server 输出消息
    SQL Server按时间分段统计数据
    C# 数据保存到Excel
    查看SQL Server数据库恢复进度
    输入百度网址地址后面有tn小尾巴解决办法
    SQL Server 查询数据大小
    Sping Boot + Spring Security + Mybaits + Logback +JWT验证 项目开发框架搭建
  • 原文地址:https://www.cnblogs.com/yddlvo/p/4678603.html
Copyright © 2011-2022 走看看