小编ksp*_*par的帖子

如何在 HTML/CSS 中使用“container-type: inline-size”相对于视口而不是父元素定位绝对/固定元素?

我有一个父元素 ( #container) 和container-type: inline-size. 在这个元素内,我有一个带有 的子元素 ( #absolute) position: absolute。这会导致绝对元素相对于 定位#container。但是,我想将其相对于视口定位。

据我所知,这是由container-type: inline-size父元素作为绝对元素的包含块的规则引起的。

container-type: inline-sizeon#container是使用与容器维度相关的容器查询所必需的。在我的例子中,绝对元素呈现在内部#container并且不能轻易移出。

现实生活中的用例是主应用程序#container和全屏模式,它们在负责的组件(位于主容器内)内呈现。

#foo {
  width: 100px;
  height: 100px;
  background-color: lightgreen;
}

#container {
  container-type: inline-size;
  width: 200px;
  height: 100px;
  background-color: yellow;
}

#absolute {
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 50px;
  background-color: orange;
}
Run Code Online (Sandbox Code Playgroud)
<html>

<body>
  <div id="foo">foo</div>
  <div id="container">
    <div id="absolute">Absolute</div>
  </div>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

子元素(橙色)相对于父元素(黄色)定位。但我希望它相对于视口,这将使其出现在绿色元素的内部/顶部。 …

css css-contain container-queries

5
推荐指数
0
解决办法
785
查看次数

标签 统计

container-queries ×1

css ×1

css-contain ×1