zoukankan      html  css  js  c++  java
  • web页面与多页应用(布局之浮动)

    1.使用浮动来设置二列布局
    利用浮动和块级元素实现的左侧宽度固定,右侧自适应宽度的布局方式

    <div class="left">left</div>
    <div class="right">right</div>
    /* css */
    .left {
      float: left;
       100px;
      background-color: red;
    }
    .right {
      margin-left: 100px;
      background-color: green;
    }

    2.使用浮动

    著名的有“圣杯布局”和“双飞翼布局”,他们都是左侧,右侧宽度固定。中间自适应的三列布局。

    圣杯布局:“圣杯布局”中每列都用了浮动,不同的是元素顺序并没有与布局顺序一致(先写中间列而不是左边列),同时左侧元素还借助了标准文档流的相对定位。元素顺序与我们直觉不一致的目的在于让浏览器优先解析和显示中间部分内容,但带来的问题就是左侧元素的偏移值无法很好的计算

        左侧元素距离左边的偏移量 = 左侧元素宽度 + 中间元素宽度

      左侧元素宽度是固定的,这里是200px,中间元素是撑满父容器内容区域的,是相对值100%,所以无法使用单纯地做外边距来实现,需要应用兼容性更好的解决方案——相对定位

    <!-- html -->
    <div class="container">
      <div class="center column">center</div>
      <div class="left column">left</div>
      <div class="right column">right</div>
    </div>
    /*css*/
    .container .column {
      float: left;
      position: relative;
    }
    .container {
      padding-left: 200px;
      padding-right: 150px;
    }
    .left {
       200px;     
      margin-left: -100%;  
      right: 200px; 
      background-color: red;
    }
    .center {
       100%;
      background-color: yellow;
    }
    .right {
       150px; 
      margin-right: -150px; 
      background-color: green;
    }

      “双飞翼布局”就是针对以上问题提出的,该布局不使用相对定位的方式来使左边的元素进行偏移,而是在中间的元素上加了一层父容器,并留出相应的边距让左右两边元素能顺利填充进来

    <!--html-->
    <div class="container">
      <div class="center-wrap column">
        <div class="center">center</div>
      </div>
      <div class="left column">left</div>
      <div class="right column">right</div>
    </div>
    /*css*/
    .container {
      position: relative;
    }
    .column {
      float: left;
    }
    .center-wrap {
       100%;
    }
    .center-wrap .center {
      margin-left: 200px;
      margin-right: 150px;
      background-color: yellow;
    }
    .left {
       200px;
      margin-left: -100%;
      background-color: red;
    }
    .right {
       150px;
      margin-left: -150px;
      background-color: green;
    }
  • 相关阅读:
    加入页面切换动画, 避免冷启动
    Spark Shuffle模块——Suffle Read过程分析
    java使用线程请求訪问每次间隔10分钟连续5次,之后停止请求
    二叉排序树(BST)构造与应用
    L贪心基础
    leetcode笔记:Ugly Number II
    Android API Guides---Layouts
    红外目标图像中阈值切割方法的比較与研究
    IOS开发证书变成“此证书的签发者无效”解决方法
    Web前端开发规范收集
  • 原文地址:https://www.cnblogs.com/chorkiu/p/13284980.html
Copyright © 2011-2022 走看看