zoukankan      html  css  js  c++  java
  • CSS位置(一)---Position

    Position:

    absolute

    生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

    relative

    生成相对定位的元素,相对于其正常位置进行定位。

    fixed

    生成绝对定位的元素,相对于浏览器窗口进行定位。

    static 默认值。没有定位。
    inherit 规定应该从父元素继承 position 属性的值。

    1.relative,相对定位:

    (1)单模块从原点位置相对移动,从原来的位置移动对应的距离:如下,父元素从原来的位置向上和向右移动了100rpx的距离。

      <view class='father'>
      <view class='bro'>大儿子</view>
      <view class='son'>二儿子</view>
      </view>
    
    .father{
      background-color: yellow;
       300rpx;
      height: 300rpx;
      margin-top: 100rpx;
      margin-left: 100rpx;
      position: relative;
    }
    

      

    (2)两个模块从相对位置进行移动:

    两个模块从自己的相对位置进行移动,都是从之前自己原来的位置出发。

    .bro{
      background-color: red;
       100rpx;
      height: 100rpx;
     position: relative;
      top: 100rpx;
      right: 100rpx;
    }
    .son{
      background-color: blue;
       100rpx;
      height: 100rpx;
      position: relative;
      top: 20rpx;
      left: 20rpx; 
    }
    

      

    2.绝对定位:相对于 static 定位以外的第一个父元素进行定位。

    (1)如果大儿子变为绝对定位,那么二儿子的位置也会发生改变,变为从原点出发。

    可以看到,当大儿子变为绝对定位后,二儿子的位置从原来的地点变为了父元素的起点位置,大儿子采用绝对定位后,覆盖在二儿子上面,绝对定位存在着层级的关系。

    .bro{
      background-color: red;
       100rpx;
      height: 100rpx;
     position: absolute;
    }
    .son{
      background-color: blue;
       100rpx;
      height: 100rpx;
     
    }
    

      

    如果给二儿子加上一个绝对/相对定位,二儿子就会达到最上层:

    .bro{
      background-color: red;
       100rpx;
      height: 100rpx;
      position: absolute;
    }
    .son{
      background-color: blue;
       100rpx;
      height: 100rpx;
      position: absolute;
    }
    

      

    也可以通过相对定位将二儿子和大儿子一起放出来:

    .bro{
      background-color: red;
       100rpx;
      height: 100rpx;
      position: absolute;
    }
    .son{
      background-color: blue;
       100rpx;
      height: 100rpx;
      position: relative;
      top: 100rpx;
      left: 100rpx;
    }
    

      

    3.固定定位:生成绝对定位的元素,相对于浏览器窗口进行定位。

    .bro{
      background-color: red;
       100rpx;
      height: 100rpx;
      position: fixed;
      top: 10rpx;
      left: 10rpx;
    }
    .son{
      background-color: blue;
       100rpx;
      height: 100rpx;
      position: relative;
      top: 100rpx;
      left: 100rpx;
    }
    

      

      相对定位可以看作特殊的普通流定位,元素位置是相对于他在普通流中位置发生变化,而绝对定位使元素的位置与文档流无关,也不占据文档流空间,普通流中的元素布局就像绝对定位元素不存在一样。

      绝对定位的元素的位置是相对于距离他最近的非static祖先元素位置决定的。如果元素没有已定位的祖先元素,那么他的位置就相对于初始包含块儿(body或html神马的)元素。

    因为绝对定位与文档流无关,所以绝对定位的元素可以覆盖页面上的其他元素,可以通过z-index属性控制叠放顺序,z-index越高,元素位置越靠上。

  • 相关阅读:
    二分查找
    Uva11464 Even Parity
    Uva10881 Piotr's Ants
    POJ3154 Graveyard
    [NOIP2015] 提高组 洛谷P2680 运输计划
    [NOIP2015] 提高组 洛谷P2679 子串
    [NOIP2015] 提高组 洛谷P2678 跳石头
    [NOIP2015] 提高组 洛谷P2668 斗地主
    [NOIP2015] 提高组 洛谷P2661 信息传递
    [NOIP2015] 提高组 洛谷P2615 神奇的幻方
  • 原文地址:https://www.cnblogs.com/moxuexiaotong/p/10070049.html
Copyright © 2011-2022 走看看