当前位置: 首页 > 知识库问答 >
问题:

Flex wrap不适用于固定宽度容器

郜修雅
2023-03-14

我有一个带有两个子容器的flex-box容器,在屏幕较小的情况下,右边的容器应该折叠在左边的容器下面。然而,这似乎只在父容器宽度为100%时才起作用,而当它设置为固定宽度时则不起作用。它需要一个基于设计的固定宽度,我尝试将固定宽度的容器包装在具有100%宽度的父容器中,但这并不有效。

如何将容器设置为固定宽度,以便项目在较小屏幕尺寸下正确换行?

null

.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>

null

JSFIDDLE链接:链接

共有2个答案

万俟炯
2023-03-14

如果大小是固定的,那么使用网格也可以在这里使用jsfiddle

null

css lang-css prettyprint-override">.call-out-container {
  width: 100%;
  display: flex;
  -webkit-flex-flow: row wrap;
  justify-content: space-around;
  flex-wrap: wrap;
  margin-top: 200px;
}

.call-out-box {
  color: #eee;
  display:grid;
  grid-template-columns: 540px 445px;
  grid-template-rows: 365px 445px;
}

.call-out-list {
  color: #eee;
  font-weight: bold;
  font-size: 3em;
  text-align: center;
  padding-top: 100px;
}

.call-out-list h1{
  font-family: 'Helvetica';
  color: #00477B;
  font-weight: 400;
  font-size: 56px;
}
.call-out-list 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>
查学文
2023-03-14

如果这些尺寸是固定的,则使用网格,而不是使用flexbox。

.call-out-box{
/*other styles*/
  display:grid;
  grid-template-columns: 540px 445px;
  grid-template-rows: 365px 445px;
}

只需删除行内样式中的width和height属性。

 类似资料:
  • 将父flex容器宽度调整为子flex容器内容宽度时出现问题。 使用Bulma,我有以下HTML结构 但它最终应用于所有子flex容器,如您所见: http://codepen.io/anon/pen/mWqRxW 如何解决这个问题,并使父flex容器适合子flex容器的宽度(在本例中是输入的宽度)?

  • 问题内容: 总菜鸟问题,但在这里。 CSS HTML 基本上,我试图模拟一个按钮,使一个跨度(或某个范围)看起来像一个输入字段旁边的按钮,由于自动填充生成器会在onEnter上产生错误,因此实际上不需要是一个输入字段。认为这是目前的快速解决方案,但显然不是。 谢谢。 问题答案: 跨度是一个内联元素。它没有宽度或高度。 您可以将其转换为块级元素,然后它将接受您的维度指令。

  • 问题内容: 我正在制作一个移动响应页面,并且是第一次使用flexbox。 我的问题是,当内容div中有很多信息时,div会很宽地超出页面宽度。 我已经尝试过使用最大宽度样式,但是这消除了网站的响应能力。 CSS HTML 问题答案: 您需要做的2件事: 将 flex-shrink 值从更改为(),以便允许元素收缩 由于单词很长,还需要添加以在单词内插入换行符,以防止文本溢出 请注意,已重命名为,尽

  • 问题内容: 我是Java Swing的新手,对下一个代码感到困惑。 我的目标是制作带有 2个JTextPane的 垂直可滚动面板 。具有父面板固定宽度70%的第一个JTextPane和具有固定宽度30%的第二个JTextPane。因为这两个JTextPane具有固定的宽度,所以它们只能在垂直方向上扩展更多文本。 我使用此解决方案,因为我只想为此2个JTextPane使用一个滚动条。 我的初始化代码

  • 我是Java Swing的新手,我对下一个代码感到困惑。 null

  • 问题内容: 我有两个div容器。 虽然其中一个需要为特定宽度,但我需要对其进行调整,以便另一个div占用其余空间。有什么办法可以做到吗? 问题答案: HTML: CSS: 您也可以使用这样做,这通常是一种更好的方法:如何将输入元素与其标签放在同一行?