zoukankan      html  css  js  c++  java
  • 双飞翼布局以及圣杯布局 H


    双飞翼布局和圣杯布局其实结果是一样的,都是实现三栏布局,中间宽度自适应,两端宽度固定,只是实现的方法不一样

    圣杯布局

      三栏是独立的,利用外层container的padding 以及 两端的margin以及定位left,right值实现

      

     <!-- HTML -->
    
    <div class="container">
        <div class="middle">我是位于中间</div>
        <div class="left">左边</div>
        <div class="right">右边</div>
    </div>
    /*CSS*/
        /* 先让所有的元素浮动 */
        .left,.right,.middle {
          float: left;
          height: 200px;
        }
    
        /* 中间的宽度100% */
        .middle {
          width: 100%;
          background-color: #9999994f;
        }
    
        /* 两边给一个定宽 可以自己定 */
        .left,.right {
          background-color: #e4d8d6bf;
          width: 200px;
        }
    
        /* 让三栏位于同一行 */
        .left {
          margin-left: -100%;
        }
        
        .right {
          margin-left: -200px;/* right的宽度 */
        }
    
        /* 给两边留位置 */
        .container {
          padding: 0 200px;
          text-align: center;
        }
        
        /* 让两侧与内容区域分开 */
        .left {
          position: relative;
          left: -200px;
        }
        
        .right {
          position: relative;
          right: -200px;
        }

    双飞翼布局

    和圣杯类似但是让两侧与内容区域分开使用的是middle内的div 的maring值实现

     <!-- HTML -->
    <div class="container">
        <div class="middle">
          <div class="outer">
            我是位于中间
          </div>
        </div>
        <div class="left">左边的</div>
        <div class="right">右边</div>
      </div>
    /*css*/
        /* 先让所有的元素浮动 */
        
        .left,.right,.middle {
          float: left;
          height: 200px;
        }
        /* 中间的宽度100% */
        
        .middle {
          width: 100%;
          background-color: #9999994f;
        }
        /* 两边给一个定宽 可以自己定 */
        
        .left,.right {
          background-color: #e4d8d6bf;
          width: 200px;
        }
    
        /* 让三栏位于同一行 */
        .left {
          margin-left: -100%;
        }
        
        .right {
          margin-left: -200px;/* right的宽度 */
        }
    
        /* 给两边留位置 */
        
        .container {
          text-align: center;
        }
    
        /* 让两侧与内容区域分开 */
        .outer {
          margin: 0 200px;
        }

    末尾讲一下flex 其实我觉得这个还是挺好用的

    dispaly:flex;

     <div class="container">
        <div class="left">左边的</div>
        <div class="middle">我是位于中间</div>
        <div class="right">右边</div>
      </div>
     .container {
          display: flex;
        }
        
        .right,
        .left {
          width: 200px;
          background-color: blue;
          flex: 0 1 200px;
        }
        
        .middle {
          flex: 1;
        }

     

  • 相关阅读:
    Mysql有什么办法解决主备延迟的引起的过期读问题?
    jdk 8 交集 差集
    【立flag】_(:з」∠)_
    Linux基础01 虚拟机安装操作系统,网络类型(网口),网段, 分区,分配网络, KDUMP,网络配置, 快照, 克隆, Xshell优化, Linux历史
    oracle(enquences & latches )lock (oracle 锁大全)
    oracle 密码详解以及破解
    oracle 大表在线删除列操作(alter table table_name set unused )
    MacOs 使用 github 个人令牌(Personal access token)
    web网站在线安全扫描
    vue 实现快捷键录入功能
  • 原文地址:https://www.cnblogs.com/hongll/p/9506406.html
Copyright © 2011-2022 走看看