html - 为什么相对定位元素从窗口的顶 Angular 开始?

标签 html css

当父级或祖父级具有位置值时,我对这种相对和绝对 定位感到很困惑。有人可以帮我解决这两种情况吗:

案例 1:

  • 祖 parent - 绝对
  • parent -亲戚
  • child - 绝对

案例二:

  • 祖 parent - 绝对
  • parent -亲戚
  • child - 绝对

但是这里的 parent 是独立于祖 parent 的,如下所示:

<div class="grand-parent">

</div>

<div class="parent">
     <div class="child">

     </div> 
 </div>

下面是我研究过的 fiddle : https://jsfiddle.net/4KUWc/32/

问题:

  • 我看不出上述两种情况有什么区别。应该 案例 2,父级 div 不是在祖父级之后启动?为什么需要 (0,0)
  • 如果 relative 有一个 absolute 的 parent,它的行为是否相应 绝对 parent 或不依赖于它。
  • 我们可以有一个以绝对为 parent 的亲戚 child 吗?

最佳答案

position:absolute

...元素有它们的关系定位属性(即 topbottomright ,...)根据它们的最接近的祖先计算position static 以外的值(默认)。如果不存在这样的祖先,<body>将被使用。

position:fixed

...元素的关系定位属性是根据它们的最近视口(viewport)计算的(默认情况下:<body>,但 3d 转换元素充当其子元素的视口(viewport) - 请参阅 Unfixing fixed elements with transforms)。

以上两种方式都将元素(包括其所有子元素)放置在其父元素的内容流之外。 DOM 中的所有后续元素都将像该元素一样工作,并且它的子元素不存在于 DOM 中。

position:relative

...如果没有应用关系定位属性,元素的关系定位属性是根据它们在父内容流中通常占据的位置计算的。不像fixedabsolute , relative位置不会将元素置于其父内容流之外

关于html - 为什么相对定位元素从窗口的顶 Angular 开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47495962/

相关文章:

javascript - 使用 ionic 和 firebase 检索点击时的特定数据

javascript - 如何使用 Wikipedia 的 API 使用 JS 和/或 jQuery 搜索多篇文章

php - 为什么不同的 HTML id 具有相同的样式?

javascript - 如何使用 jQuery 显示新内容

python - 如何修复,TypeError : unsupported operand type(s) for %: 'NoneType' and 'int'

javascript - 在网页上自定义 Twitter 推文

javascript - 为什么我不能在 HTML 标签中插入评论?

html - 文本不会在标题中居中

jquery - 动画到顶部

css - 为什么当我更改标题以显示 : inline? 时 <h4> 高度会发生变化