【发布时间】:2019-06-29 20:47:31
【问题描述】:
不幸的是,我正在使用 flexbox 创建网格,我对如何使 div 堆叠在一起有点困惑。这就是当我隐藏溢出:自动并添加相对于 carddiv 的位置时的样子。我相信 div 堆叠在顶部,但它们看起来不正确。
这就是它的样子:
图片链接 https://imgur.com/a/1KsJDh7
我希望它看起来像这样:
除了 positon:absolute 使一切都消失。 我是 css/html 的新手,所以我不确定我做错了什么。
App.css
* {
/*overflow:auto*/
}
.App {
/*display: flex;*/
/*flex-wrap: wrap;*/
}
卡片.css
.container{
background-color: yellow;
display: flex;
flex-flow: column;
text-align: center;
position: relative;
margin: 10% 10% 10%;
}
.cardDiv {
height: 100vh;
position: absolute;
}
.cardPicture {
background-color: blue;
height: 50vh;
}
.cardDescription {
background-color: green;
height: 50vh;
}
但是,如果没有 position:absolute,它看起来像这样,这就是我希望它看起来的样子,只是它不会堆叠。我假设第一个版本是堆叠的,这就是为什么它只显示一个 div?
以下代码用于第二个图片链接: https://imgur.com/a/mrLsTdX
App.css
* {
overflow:auto
}
.App {
/*display: flex;*/
/*flex-wrap: wrap;*/
}
卡片.css
.container{
background-color: yellow;
display: flex;
flex-flow: column;
text-align: center;
position: relative;
margin: 10% 10% 10%;
}
.cardDiv {
height: 100vh;
}
.cardPicture {
background-color: blue;
height: 50vh;
}
.cardDescription {
background-color: green;
height: 50vh;
}
cardDiv 是通过插入 div 的 map 函数生成的。
html 看起来像这样:
<div className='container'>
<div className="cardDiv">
<div className="cardPicture"></div>
<div className="cardDescription"></div>
</div>
</div>
有没有人知道我可以做些什么让 div 堆叠起来而不消失?
【问题讨论】:
-
尝试使用 display: block 代替。
-
所以如果我隐藏溢出:自动,删除 flexbox 并添加 display:block 并添加 position:absolute 到 cardDiv,它的结果与这里的第一张图片相同:imgur.com/a/1KsJDh7。跨度>