绝对定位和相对定位的区别(整理)

绝对定位 absolute

设为absolute后元素框从文档流完全删除,所以元素框与文档流无关可以覆盖页面上的其他元素,并相对其包含块定位(包含块:从父包含元素开始往上找起第一个非static方式定位的祖先元素即'absolute', 'relative'or 'fixed'一般用relative因为元素框只设置relative是不会移动的),不设定left、right、top、bottom则一般处于包含块的左上角。

相对定位 relative (少用)

设为relative的元素,元素框会相对于原本位置偏移,元素仍保留其未定位前的形状,但是它原本所占有的空间仍然保留(注意:left、right、top、bottom不会使其原本占有的空间随元素框移动只有margin、padding才可以,这点处理不好的话会使页面混乱,所以应该少用相对定位)

区别:

  • absolute:

    1. 元素相对于包含块偏移
    2. 元素框脱离文档流不会影响文档流内元素的位置,可能会覆盖页面上的其他元素(z-index解决)
  • relative:

    1. 元素相对于本身位置偏移
    2. 元素框不会脱离文档流left/right/top/bottom不会使原所占位置随元素框偏移,padding、margin才会,容易使页面混乱,比如影响文档流其他元素的位置。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • CSS布局在整个前端开发中占据了大约50-70%的工作量,在遵循web规范的前提下,编写合乎规范的前端代码,实现结...
    FaithXiong阅读 801评论 0 0
  • 浮动 CSS允许浮动任何元素。 浮动元素 首先,会以某种方式将浮动元素从文档的正常流中删除,不过它还是会影响布局。...
    exialym阅读 1,251评论 0 6
  • 之前介绍过CSS浮动float详解,本篇介绍的绝对定位absolute和浮动float有部分相似性。如果能理解浮动...
    张歆琳阅读 96,750评论 39 192
  • CSS 定位 CSS有三种基本的定位机制:普通流,浮动,绝对定位(absolute, fixed):普通流是默认定...
    _空空阅读 5,825评论 0 15