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;
        }

     

  • 相关阅读:
    Java核心技术 卷一 笔记四 库类的直接使用
    Java核心技术 卷一 笔记三 大数值及数组
    Java核心技术 卷一 笔记2 字符串的复制
    Java核心技术 卷一 笔记1
    修改css 样式后, hover事件 不生效
    修改 element ui input 输入框 样式不生效问题
    css3 计算属性
    Vue3 改动系列
    浏览器实现,向下滑动 鼠标滚轮,页面横向移动
    linux ceont0s7 vue 打包压缩图片 一直报错
  • 原文地址:https://www.cnblogs.com/hongll/p/9506406.html
Copyright © 2011-2022 走看看