不要使用 CSS position:absolute 来覆盖两个元素

假设您有以下 HTML 结构来将图像与标题叠加:

Title

Title of card

With some short teaser text

你可能会想将标题定位为绝对位置:

.card {
    position: relative;
    width: 300px;
}
.card > * {
    margin: 0;
}
.card header {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #fff3;
}

...但是这样你就失去了标题的布局。改用网格:

.card {
    display: grid;
    width: 300px;
}
.card > * {
    grid-area: 1/1;
    margin: 0;
}
.card header {
    background-color: #fff3;
}

这是包含完整示例的 codepen 链接。

**编码愉快!**