覆盖元素的实用程序类

Avatar of Chris Coyier
Chris Coyier on

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费积分!

Michelle Barker 这里 也提到了这一点。

以下是我在 CSS 中反复需要执行的操作:用另一个元素完全覆盖一个元素。每次使用的 CSS 都一样:第一个元素(需要覆盖的元素)应用了 position: relative 。第二个元素具有 position: absolute ,并且定位方式使所有四个边都与第一个元素的边缘对齐。

.original-element {
  position: relative;
}

.covering-element {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

我不知为何一直认为使用 bottomright“不可靠”,使用 topleft 然后设置 width: 100%height: 100% 更安全。但我已经记不清原因了——也许是旧版浏览器的问题?

但说到现代化,我最喜欢 Michelle 文章中的这部分

.overlay {
  position: absolute;
  inset: 0;
}

inset 属性是逻辑属性,在这里非常方便!阅读这篇文章,了解更多关于 CSS 网格的技巧。

直接链接 →