• 技术文章 >web前端 >css教程

    css相对定位和绝对定位有什么区别?css相对定位和绝对定位对比分析

    不言不言2018-09-13 15:11:30原创7592
    css定位中有相对定位和绝对定位,那么css相对定位和绝对定位之间有什么不同呢?接下来的这篇文章将给大家分别介绍关于css相对定位和绝对定位的内容以及css相对定位和绝对定位的区别。

    一、首先我们来看一看css相对定位

    position: relative(相对定位):相对定位是相对于元素在文档中的初始位置。

    首先它出现在它所在的位置上(即不设置position时的位置,然后通过设置垂直或水平位置,让这个元素“相对于”它的原始起点进行移动。

    需要注意的是:在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。

    #box_relative {
      position: relative;
      left: 30px;
      top: 20px;
    }

    2345截图20180913120022.png

    大前端零基础入门到就业:进入学习

    二、再来看一下css绝对定位:

    position: absolute(绝对定位):绝对定位是相对于元素最近的已定位的祖先元素(即是设置了绝对定位或者相对定位的祖先元素)。如果元素没有已定位的祖先元素,那么它的位置则是相对于最初的包含块(body)。

    #box_relative {
      position: absolute;
      left: 30px;
      top: 20px;
    }

    说明:绝对定位本身与文档流无关,因此不占空间,普通文档流中的元素的布局就当绝对定位的元素不存时一样,所以 它们可以覆盖页面上其他的元素,且可以通过z-index属性来控制这些层的对方顺序。

    2345截图20180913102528.png

    三、最后我们总结一下css相对定位和绝对定位的区别

    position:absolute(绝对定位)float会隐式地改变display的类型(display:none除外)。

    即是当元素设置position:absolute、float:left、float:right中任意一个时,都会让元素以display:inline-block的方式显示(特点是:可以设置长宽,默认宽度不占满父元素)。这时,即使故意设置display:inline; display:block都是无效的。
    但是float在IE6下的双边距bug就是用display:inline; 来解决的。

    position:relative(相对定位)不会隐式改变display的类型。

    在默认情况下,相对定位是相对于元素本身所在的位置去定位;绝对定位是相对于左上角坐标原点去定位。

    本篇文章到这里就结束了,想了解更多关于定位的知识请参考css手册

    相关推荐:

    详解CSS的相对定位和绝对定位

    CSS定位:相对定位、绝对定位和固定定位

    以上就是css相对定位和绝对定位有什么区别?css相对定位和绝对定位对比分析的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:css浮动是什么意思?css为什么要清除浮动? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 跨浏览器的实践:position:fixed 层的固定定位_经验交流• CSS定位中Positoin、absolute、Relative的一些研究_经验交流• 推荐深入理解css中的position定位和z-index属性_经验交流• div+css详解定位与定位应用• css元素定位_CSS/HTML• CSS关于相对定位和绝对定位的说明实例_CSS/HTML
    1/1

    PHP中文网