zoukankan      html  css  js  c++  java
  • Html中的position:absolute的意思

    html中的“position:absolute”是绝对定位,一般配合“top”和“left”属性同时使用。

    1、新建html文档,在body标签中添加一个div,然后在这个div中再添加一个div,这时默认情况下内div在外div的左上角:

    2、为内div添加“position”属性,属性值为“absolute”,外div添加“position”属性,属性值为“relative”,这时内div会向外div绝对定位:

    3、为内div设置距离顶部距离属性“top”和距离左侧属性“left”,这时内div会向外div做指定距离的定位:


    1、“position:absolute”是绝对定位的意思,单纯的使用absolute属性并不会其效果,需要配合“top bottom left right ”属性才能看到效果。首先需要新建一个html文件,这里定义了10个换行符,换行符的下面定义一个div:

    2、此时保存文件,打开浏览器可以看到div在浏览器的下方位置,接下来来设置绝对定位,让div显示在任意位置:

    3、给divc的class使用absolute属性, 并使用上下左右位置属性,设置向上和向左分别50px,接着保存文件:

    4、再次打开浏览器,可以看到div的位置在浏览器上方,覆盖了换行符的位置:


    position:absolute
    日常开发中经常涉及元素的定位,我们都知道,绝对定位相对于最近position不为static的父级元素来定位,但其中定位的位置还是有细微的差别的。

    绝对定位根据left和top属性来规定绝对定位元素的位置。
    但这个位置实际上与padding和父级相对定位的box-sizing有关的。

    * 默认盒子的box-sizing为content-box(即盒子所占据的宽度=width+padding

    情况一: 正常盒模型box-sizing:content-box; 同时没有top和left的情况

    上图:盒模型,在left和top没有定义时,相对于父级定位元素的content(内容区width)定位

    情况二: 正常盒模型box-sizing:content-box; 规定top和left的值

    效果图:

    上图:在定义了top和left属性时,相对于父级元素的占位区定位(包含padding区域)

    情况三:盒模型box-sizing:border-box; 没有top和left的值

    情况四:盒模型box-sizing:border-box; 同时规定top和left的值

    综上所述:
    无论父级盒子是正常显示还是以border-box显示,在没有规定left和top的属性值时,都呈现在父级盒子的内容区(不包含padding)左上角
    若规定了left:0;top:0;则统一相对父级盒子的左上角显示(包含padding)

  • 相关阅读:
    利用角色简化playbook
    lamp
    playbook部署lamp
    ansible-playbook配置不同系统yum源
    66. 加一
    628. 三个数的最大乘积
    977. 有序数组的平方
    383. 赎金信
    203. 移除链表元素
    83. 删除排序链表中的重复元素
  • 原文地址:https://www.cnblogs.com/wfy680/p/15085142.html
Copyright © 2011-2022 走看看