不要使用 CSS position:absolute 来覆盖两个元素
假设您有以下 HTML 结构来将图像与标题叠加:
![]()
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 链接。
**编码愉快!**