zoukankan      html  css  js  c++  java
  • 简明HTML+CSS实现圣杯布局方法及要点(浮动实现)

    圣杯布局这道大家都说面试会问的,涉及float 负margin position的知识点。

    圣杯布局效果图:

     我的方案:

    头部、底部直接div,主要处理在中间的的区域,这里我采用的实现方法是:先将三个部分用一个main包裹,然后三个部分使用float,进行浮动,再结合绝对定位relative将三个部分按要求排列(左右的两个分别定位到main的左右内边距中),最后再处理一些浮动、撑开的问题。

     实现代码:

    html代码:

      <div class="wrap">
        <div class="top">top</div>
        <div class="main">
          <div class="left">left</div>
          <div class="content">
            content<br>
            content<br>
            content<br>
            content<br>
            content<br>
          </div>
          <div class="right">right</div>
        </div>
        <div class="foot">foot</div>
      </div>

    完整CSS代码:

        .clearfix::after{
          clear:both;
          content:"";
          display: block;
        }
        .wrap{
          margin: 0 auto;
        }
        .top,.foot{
          height: 50px;
          background-color: orange;
        }
        .main .left,.main .right,.main .content{
          float:left;
          background-color: olive;
          position: relative;
          margin-bottom: -2000px;
          padding-bottom: 2000px;
        }
        .main .content{
          background-color: orchid;
          width: 100%;
          margin-left: -100px;  /* */
        }
    
        .main{
          padding: 0 100px;
          overflow: hidden;
        }
        .main .left{
          width: 100px;
          left:-100px; /* -100px将left藏在main的padding里面, 相对布局,将相对正常位置左挪100px,原位置*/
        }
        .main .right{
          width: 100px;
          left:100px;         /* -???  */
          margin-left: -100px;/* -???  */
        }

    效果图:

    其他问题:

    要点1:

    /* -???  */      content结点为什么是margin-left:-100px?

     要点2:margin-bottom: -2000px;  padding-bottom: 2000px;作用是什么?

    将三个部分撑开,同时它们的父节点main使用overflow:hidden,将无内容部分切掉了

    要点3:为何main需要相对布局?

    为了将左右的两个分别定位到main的左右内边距中,和要点1相联系。

    参考:https://sunra.top/2021/04/26/css-layout-grail/

  • 相关阅读:
    PHP比较操作符
    一个给图片加水印的程序
    PHP开发人员:充实您的XML工具箱
    PHP时间函数
    (Oralce)Web翻页优化实例
    PHP文件操作函数
    PHP图象函数
    PHP逻辑操作符
    PHP位操作符
    PHP目录遍历函数
  • 原文地址:https://www.cnblogs.com/liqiujiong/p/14856948.html
Copyright © 2011-2022 走看看