【发布时间】:2019-01-31 03:36:29
【问题描述】:
我有一个带有两个子容器的 flex-box 容器,在较小的屏幕上右侧应该折叠在左侧下方。但是,这似乎只在父容器宽度为 100% 时才有效,而不是在设置为固定宽度时有效。它需要基于设计的固定宽度,我尝试将固定宽度的容器包装在 100% 宽度的父容器中,但这并不有效。
如何将容器设置为固定宽度,以便项目在较小的屏幕尺寸下正确包装?
.call-out-container {
width: 1172px;
display: flex;
-webkit-flex-flow: row wrap;
justify-content: space-around;
flex-wrap: wrap;
}
.call-out-box {
color: #eee;
font-weight: bold;
font-size: 3em;
text-align: center;
}
.call-out-box {
width: auto;
height: 200px;
color: #eee;
font-weight: bold;
font-size: 3em;
text-align: center;
}
.call-out-box h1 {
font-family: 'Helvetica';
color: #00477B;
font-weight: 400;
font-size: 56px;
}
.call-out-box p {
color: #333;
font-size: 12px;
}
<div class="call-out-container">
<div class="call-out-box">
<div style="width: 540px; height: 365px; margin: 0px 0px 0px 80px; display: flex; border: 2px solid orange; justify-content: center;">
<div style="width: 445px; height: 445px; background-color: rgb(255, 255, 255); box-shadow: rgb(221, 221, 221) 0px 3px 11px 4px; position: relative; right: -30px; top: 20px; text-align: center; vertical-align: middle;">
<p>CONTENT</p>
</div>
</div>
</div>
<div class="call-out-list">
<h1>10.5k</h1>
<p>Line 1</p>
<p>Line 2</p>
</div>
</div>
<div class="call-out-container">
<div class="call-out-list">
<h1>10.5k</h1>
<p>Line 1</p>
<p>Line 2</p>
</div>
<div class="call-out-box">
<div style="width: 540px; height: 365px; margin: 0px 0px 0px 80px; display: flex; border: 2px solid orange; justify-content: center;">
<div style="width: 445px; height: 445px; background-color: rgb(255, 255, 255); box-shadow: rgb(221, 221, 221) 0px 3px 11px 4px; position: relative; right: -30px; top: 20px; text-align: center; vertical-align: middle;">
<p>CONTENT</p>
</div>
</div>
</div>
</div>
JSFIDDLE 链接:LINK
【问题讨论】:
-
如果你不打算使用 flex,那么 flexbox 没有多大用处 :)。我想说设计需要改变。
-
将
call-out-container设置为width: 100%会隐藏左侧下方的右侧框。有没有我可以用来隐藏它的 flexbox 属性? -
这样做是因为您在第一个
call-out-box的内联样式中设置了高度。将第一个call-out-box的高度设置为大于您的内联样式中的高度,或者使用答案中提到的grid。 -
这个问题不清楚,但是如果你把它改成
max-width: 1172px;会有帮助吗? -
我用固定代码更新了我的问题,但折叠时行之间的间距仍然不正常。我添加了一个 jsfiddle 链接,因为它很难看到上面的代码 sn-p 发生了什么。