Flex wrap не работает с контейнером фиксированной ширины - PullRequest
0 голосов
/ 24 августа 2018

У меня есть контейнер 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: LINK

Ответы [ 2 ]

0 голосов
/ 24 августа 2018

если размеры фиксированы, используйте сетку иди сюда сюда jsfiddle

.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>
0 голосов
/ 24 августа 2018

Вместо использования flexbox используйте сетку, если эти размеры фиксированы.

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

просто удалите атрибуты width и height в стиле in-line.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...