首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相对定位元素和绝对定位元素

问相对定位元素和绝对定位元素
EN

Stack Overflow用户
提问于 2019-01-29 20:33:09
回答 2查看 109关注 0票数 0

相对定位的元素和绝对定位的元素协同工作,对吧?

绝对定位的元素是相对于最近的相对定位的父元素,如果没有相对定位的元素,那么默认情况下,绝对定位的元素是相对于浏览器视口的,对吧?

如果这是真的,如果最接近的相对定位的父元素位于绝对定位元素的父元素的上方和下方,那么绝对定位的元素将相对于哪个元素?

EN

回答 2

Stack Overflow用户

发布于 2019-01-29 20:52:47

“相对定位的元素保留在文档的正常流中。相反,绝对定位的元素会从流中删除;因此,其他元素的定位就好像它不存在一样。绝对定位的元素相对于其最近的定位祖先(即,不是静态的最近祖先)进行定位。如果定位的祖先不存在,它将相对于ICB (初始包含块)进行定位,ICB(初始包含块)是文档根元素的包含块。”- https://developer.mozilla.org/en-US/docs/Web/CSS/position

票数 0
EN

Stack Overflow用户

发布于 2019-01-29 21:15:30

根据定义,父元素总是在上面。每个元素只有一个最接近的父元素:<parent><child/><child/></parent>。

​

代码语言:javascript
复制
main {
  display: flex;
  flex-flow: row wrap;
  background-color: #00BCD4;
  padding-bottom: 3rem;
}

section {
  box-shadow: 0 0 20px black;
  min-height: 200px;
  flex: 1 0 200px;
  box-shadow: inset 0 0 20px 0px #ccc;
  background-color: #eee;
  border: 1px solid #aaa;
  margin: 3rem;
}

section > div {
  background-color: #E91E63;
  width: 40px;
  height: 40px;
}

h3 {
  color: #FFF;
  margin: 1rem 3rem 1.5rem 1rem;
  font-family: sans-serif;
  font-size: 2.5rem;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.tr {
  top: 0;
  right: 0;
}

.br {
  bottom: 0;
  right: 0;
}

.bl {
  bottom: 0;
  left: 0;
}
代码语言:javascript
复制
<main class="relative">

  <h3 class="absolute br">Child of main</h3>

  <section class="relative">
    <div class="absolute"> </div>
    <div class="absolute tr"> </div>
    <div class="absolute br"> </div>
    <div class="absolute bl"> </div>
  </section>

  <section class="relative">
    <div class="absolute"></div>
    <div class="absolute tr"> </div>
    <div class="absolute br"> </div>
    <div class="absolute bl"> </div>
  </section>

</main>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54421160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档