zoukankan      html  css  js  c++  java
  • [css layout][01] three percentage columns

    三列宽度值为百分比的浮动布局, 来源: http://blog.html.it/layoutgala/LayoutGala01.html

    效果如图

    方法1: 全部元素向右浮动,  通过设置负margin和position:relative移动元素位置,  注意:  

    1. 负边距方向与浮动方向相同时会让元素在浮动的位置上向浮动方向继续移动对应负边距的值,  此时会覆盖前面的元素,  移动的空间会空出来由后续元素填补.  
    2. 负边距方向与浮动方向相反时不会移动元素位置,   但是会在负边距方向产生对应大小的可用区域,  后续浮动元素会占据此区域并且与该元素重合,  此时需要使用position:relative结合left, right移动对应负边距值,  保证位置按照需求移动.
    3.  1 #wrapper {
       2   float: right;
       3   width: 50%;
       4   margin-left: -25%;
       5   position: relative;
       6   left: -25%;
       7 }
       8 #navigation {
       9   float: right;
      10   width: 25%;
      11   margin-right: -50%;
      12   position: relative;
      13   left: -100%;
      14 }
      15 #extra {
      16   float: right;
      17   width: 25%;
      18   margin-right: -25%;
      19 }
      20 #footer {
      21   clear: both;
      22 }

    方法2: right right none,  还是负边距和position:relative定位

     1 #wrapper {
     2   float: right;
     3   width: 50%;
     4   margin-left: -25%;
     5   position: relative;
     6   left: -25%;
     7 }
     8 #navigation {
     9   float: right;
    10   width: 25%;
    11   position: relative;
    12   left: -50%;
    13 }
    14 #extra {
    15   width: 25%;
    16   position: relative;
    17   left: 75%;
    18 }
    19 #footer {
    20   clear: both;
    21 }

    方法3: right right left

     1 #wrapper {
     2   float: right;
     3   width: 50%;
     4   margin-left: -25%;
     5   position: relative;
     6   left: -25%;
     7 }
     8 #navigation {
     9   float: right;
    10   width: 25%;
    11   margin-left: -50%;
    12   position: relative;
    13   left: -50%;
    14 }
    15 #extra {
    16   float: left;
    17   width: 25%;
    18   position: relative;
    19   left: 75%;
    20 }
    21 #footer {
    22   clear: both;
    23 }

    方法4: right left right

     1 #wrapper {
     2   float: right;
     3   width: 50%;
     4   position: relative;
     5   left: -25%;
     6 }
     7 #navigation {
     8   float: left;
     9   width: 25%;
    10 }
    11 #extra {
    12   float: right;
    13   width: 25%;
    14   position: relative;
    15   left: 50%;
    16 }
    17 #footer {
    18   clear: both;
    19 }

    思路: #wrapper 和#navigation必须float,  #extra可能有3种取值.  然后一个个凑....

    作者的方法:

     1 div#wrapper{
     2   float:left;
     3   width:100%
     4 }
     5 div#content {
     6   margin: 0 25%
     7 }
     8 div#navigation{
     9   float:left;
    10   width:25%;
    11   margin-left:-100%
    12 }
    13 div#extra{
    14   float:left;
    15   width:25%;
    16   margin-left:-25%
    17 }
    18 div#footer{
    19   clear:left;
    20   width:100%
    21 }

    只用了负边界.  比我的好多了..

  • 相关阅读:
    LeetCode90.子集 ||
    Ubuntu下的Matlab安装
    FAQ
    青石板
    交叉熵损失函数
    tf常用函数
    激活函数
    SGD和GD的区别
    卷积神经网络
    Ubuntu安装Matlab2016b
  • 原文地址:https://www.cnblogs.com/qiudeqing/p/3412376.html
Copyright © 2011-2022 走看看