绝对定位

  • 当元素的position设置为absolute时,则开启了元素的绝对定位

  • 用法: position: absolute;

  • 绝对定位的特点:

    • 与相对定位一样.开启了绝对定位以后,如果不设置偏移量,元素的位置不会发生任何改变

    • 开启绝对定位之后,元素会从原有的文档流中脱离.只是相对于它的包含块定位,包含块可能是文档流中的另一个元素或者是初始包含块

    • 绝对定位会改变元素的性质.行内元素变为块元素,块元素的宽度被内容撑开(即块元素中原有内容有多宽,开启绝对定位之后的块元素就有多宽)

    • 绝对定位会使元素提升一个层级

  • 下面我们来看一个栗子,实际体验一下使用绝对定位:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style>
                .box1{
                    width: 200px;
                    height: 200px;
                    background-color: #27A9E3;
                }
                .box2{
                    width: 200px;
                    height: 200px;
                    background-color: orange;
                    position: relative;
                    top: 50px;
                }
                .box3{
                    width: 200px;
                    height: 200px;
                    background-color: #7FFF00;
                    position: absolute;
                    top: 100px;
                    left: 100px;
                }
            </style>
        </head>
        <body>
            <div class="box1"></div>
            <div class="box2"></div>
            <div class="box3"></div>
        </body>
    </html>
    ​
    • 在上述代码中我们设置了3个块元素box1,2,3.且我们设置了box2为相对定位,其背景色为橙色;box3为绝对定位,其背景色为绿色;

      • 我们可以看到,当我们设置了position: absolute;之后,如果不设置偏移量,那么就不会有任何改变.上述示例中设置了 top: 100px; left: 100px表示使box3相较于初始包含块向下偏移100个像素,向右移动100个像素

      • 我们设置了box3的偏移量之后,可以看到元素脱离了原有的文档流,它的包含块变为了初始包含块(document)

      • 相较于没有设置定位的box1,和设置了定位类型为相对定位(relative)的box2,box3更加上升了一个层级,处于另外两个块元素之上

    • 运行结果图如下:

       

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐