zoukankan      html  css  js  c++  java
  • position--absolute与普通元素之间的关系

    一,普通元素与绝对定位

    情况一:满足条件:

    1,父元素不做任何设置

    1,普通元素与绝对定位元素是兄弟关系

    2.普通元素在上面,绝对定位元素在下面

    3,绝对定位元素,不设置任何top,bottom,left,right值

    html结构:

    <div class="parent">
        <div class="header"></div>
        <div class="content"></div>
    </div>

    css清单:

     .parent{
                border:1px solid blueviolet;
                position:relative;
             } .header{ height:100px; width:200px; background-color: #f26123; } .content{ height:400px; width:200px; position:absolute; background-color: #F7B824; }

    表现情况就是:

    1.表现就是绝对定位元素依然在普通元素的下面,没有相互遮盖

    2,父元素的高度就是普通元素的高度,绝对定位元素的高度对父元素不起作用

      

    情况二,给绝对定位元素设置值

    css样式:

     .content{
                height:150px;
                width:200px;
                position:absolute;
                top:20px;
                left:80px;
                background-color: #F7B824;
            }

    表现就是:

    1,绝对定位元素会覆盖在普通元素上

    2,绝对定位元素会相对父元素进行偏移

    3,父元素高度,不会起变化

    情况三,当绝对定位元素在上,普通元素在下

    html结构:

    <div class="parent">
        <div class="content"></div>
        <div class="header"></div>
    </div>

    css清单依旧保持不变:

     .parent{
                position:relative;
                border:1px solid blueviolet;
                width:500px;
            }
            .header{
                height:100px;
                width:200px;
                background-color: #f26123;
            }
            .content{
                height:150px;
                width:200px;
                position:absolute;
                background-color: #F7B824;
            }

    表现就是:

    1,绝对定位元素完全覆盖在了普通元素上(这是因为绝对定位元素脱离了文档流,普通元素上去占据了它原本的位置)

    情况四:设置绝对定位元素偏移量,其它均保持不变:

    css样式:
    
     .content{
                height:150px;
                width:200px;
                position:absolute;
                top:20px;
                left:80px;
                background-color: #F7B824;
            }

    1,表现,这里依旧相对父元素进行偏移,跟情况二没有任何差别。

     二,绝对定位元素与绝对定位元素之间

    初始情况 :

    <div class="parent">
        <div class="header"></div>
        <div class="content"></div>
    </div>

    css清单:

     .parent{
               position:relative;
               border: 1px solid #7081ff;
               width:400px;
           }
            .header{
                height:100px;
                width:200px;
                background-color: #f26123;
            }
            .content{
                height:180px;
                width:200px;
                position:absolute;
                background-color: #F7B824;
            }

    表现形式:

    此时呢,我们来给header普通元素,也让它变成绝对定位元素

    header元素加上position:absoulte仅此而已

    设置css:

     .header{
                height:100px;
                width:200px;
                position:absolute;
                background-color: #f26123;
            }

    此时表现:

    1,父元素高度塌陷

    2,下面的content元素覆盖在了header元素上面,(这个我们可以通过层级来改变或者改变header与content,HTML结构的先后顺序)

    因为,同时都是绝对定位的话,又没有设置层级关系,是后面的元素覆盖在前面的元素上,所以content覆盖了header

    颠倒一下HTML结构:(跟设置层级效果一样)

    <div class="parent">
        <div class="content"></div>
        <div class="header"></div>
    </div>

    此时就是:

  • 相关阅读:
    gauss消元
    POJ1229 域名匹配
    HDU3487 play with chain
    POJ1185 炮兵阵地
    POJ2411
    sgu233 little kings
    树形DP初步-真树1662
    树形DP初步-二叉树1661
    c++——string类用法
    UVa1354 ——天平难题
  • 原文地址:https://www.cnblogs.com/qianxunpu/p/9584703.html
Copyright © 2011-2022 走看看