position 有三个值,static(静态)、relative(相对)、absolute(绝对);由于static是所有页面元素的默认值,因此设置元素的定位类型时几乎不用这个值,除非用于覆盖之前的定义。
对于后两者,一般应用:在一个相对定位的元素里面放置一个绝对定位的元素,如图:

子元素B可以通过top、right、bottom、left来精确定位,定位的参考目标就是其具有相对定位属性的父级元素A;并且设置这些偏移后,产生的空隙会被后面的元素填充(如果后面的元素足够尺寸的话)。由于B元素具有absolute定位属性,相当于从文档流中抽取出来,浮动在原平面排版上,形成“层”,如果有多个“层”,层与层之间就必然会有谁覆盖谁,谁在上谁在下的竞争关系,因此,为解决这个竞争,就产生了 z-index(空间坐标系的Z轴) 属性,谁的值大,谁就在上面。另外,如果父级元素A没有设置relative,那么B元素就会以body标签当作参考点。

对于具有position:relative属性的元素A,其top、right、bottom、left四个方向的位置偏移就会以该元素的原来位置作为参考点,而不是像上面说的,以具有relative定位属性的父级元素或body作为参考点。在设置了偏移后产生了空隙,其周围的元素并不会填充这些空隙,即使它们足够尺寸(演示)。值得注意的是,此时元素A的margin,margin将作用于该元素的原来位置,由于原位置产生偏移,该元素的最终位置将是margin与top、right、bottom、left共同作用后的位置,并且其周围元素的位置也将产生影响。

回过头来再看看 relative 里面的 absolute,比如上面的A、B两个元素,如果两个元素都设置了top、right、bottom、left,对于元素B来说,其位置偏移的参考点是元素A偏移后的位置,不是元素A的原位置,同样,如果元素B有margin,其参考点也是元素A偏移后的位置,这点很重要,这才是absolute的概念(演示)。

转载于:https://www.cnblogs.com/gzhnan/articles/1145502.html

理解 position:relative 与 position:absolute相关推荐

  1. 深入理解position:relative 与 position:absolute(divb相对于diva进行绝对定位)

    position 有三个值,static(静态).relative(相对).absolute(绝对):由于static是所有页面元素的默认值,因此设置元素的定位类型时几乎不用这个值,除非用于覆盖之前的 ...

  2. {转摘}理解 position:relative 与 position:absolute

    转载:<a href="http://www.happyshow.org/article/125.html" target="_blank"> po ...

  3. 区分position:relative; position:absolute; position:fixed

    区分position:relative; position:absolute; position:fixed 对于position:relative; position:absolute; posit ...

  4. position:relative 与 position:absolute

    position 有三个值,static(静态).relative(相对).absolute(绝对):由于static是所有页面元素的默认值,因此设置元素的定位类型时几乎不用这个值,除非用于覆盖之前的 ...

  5. position:relative与position:absolute的定位区别

    CSS2.0 HandBook上的解释: 设置此属性值为 absolute 会将对象拖离出正常的文档流绝对定位而不考虑它周围内容的布局.假如其他具有不同 z-index 属性的对象已经占据了给定的位置 ...

  6. position:ablosute和position:relative的简单理解

    ##position:ablosute和position:relative的简单理解 ## 先看一下两者的定义: relative(相对定位) 对象不可层叠.不脱离文档流,参考自身静态位置通过 top ...

  7. 微信小程序 位置定位position详解,相对定位relative,绝对定位absolute相关问题

    一.位置position[定位属性:static,relative,absolute,fixed,inherit,-ms-page,initial,unset] 1.static:元素框正常生成,块级 ...

  8. position属性:绝对定位position: absolute;相对定位 position: relative;固定定位 position: fixed;

    position 属性: position常见的定位模式: 定位模式 描述 是否脱离文档流 移动模式 定位偏移属性 static 默认属性 对象遵循常规流 不移动 不移动 relative 相对定位 ...

  9. CSS中的position:relative理解

    今晚来说说CSS中的position属性,其实在实际开发页面过程中,记录一下这个让我迷茫的relative,我将它分为三种情况进行说明 包含关系:父级absolute,子级relative: 包含关系 ...

  10. CSS 元素的定位之相对定位 position: relative

    在CSS中,通过 position属性来对元素进行定位,可选的定位类型有 static | relative | absolute | fixed,默认值为 static,表示没有定位,元素保持在它原 ...

最新文章

  1. 微软发布全新多核心操作系统原型:Barrelfish
  2. 多个不同的app应用间应该如何进行消息推送呢?
  3. (Kubernetes)k8s和docker的关系
  4. ruby1.8.6 安装watir是出现问题记录
  5. idea破解,Maven配置web步骤
  6. (五)HTML5本地存储——Web Storage
  7. 前端_网页编程 Form表单与模板引擎(上)
  8. 【Java】矩阵乘法的朴素算法
  9. rtt面向对象oopc——5.IO设备管理之快速查看设备父类调用设备子类的方法
  10. 还原对于服务器失败 备份集中的数据库备份与现有数据库不同
  11. 关于 Appium 各种版本的安装,都在这里
  12. maven配置(myeclipse版)
  13. SecureCRT 64位 破解版v8.1.4
  14. linux定时执行脚本
  15. 计算机知识中h表达什么意思,计算机地基础知识hzh.ppt
  16. 求一个网页设计作业——个人博客(HTML+CSS)
  17. Appium+python自动化(三十二)- 代码写死一时爽,框架重构火葬场 - PageObject+unittest(超详解)...
  18. matlab生成随机矩阵
  19. 爬虫——动作链、xpath、打码平台使用
  20. jmeter操作数据库,jmeter之beanshell

热门文章

  1. 面试官问:MySQL的自增 ID 用完了,怎么办?
  2. 重装 IDEA 再也不怕了,一招搞定配置同步!
  3. 最新!2020中国高校毕业生薪资排行出炉!好过双一流的高校原来这么多
  4. 还不会回答Spring Boot和Spring MVC的关系?大厂Java高级面试官告诉你答案!
  5. 从 0 编写自己的第一款 IDEA 插件!
  6. 蚂蚁金服CTO程立:金融级分布式交易的技术路径
  7. 重磅 | 阿里云启动AliSQL邀测,性能比MySQL提升70%,秒杀场景提升百倍
  8. 疑似 B 站后台源码泄露,ikun 潜入?
  9. 推荐一份 Google 面试指南
  10. java.lang.ClassNotFoundException: javax.servlet.SessionCookieConfig