Как правильно складывать изгибаемые элементы с помощью сетки (flex: 9999 hack) - PullRequest
0 голосов
/ 12 мая 2018

Я хочу сложить два flex-элемента, когда это необходимо, используя flex-grow: 9999 «hack», я могу добиться этого, установив «description» для максимальной ширины, следуя правильному дизайну, но не хочучтобы сделать это, так как я хочу, чтобы его контейнер следовал за потоком сетки, а его дочерние элементы имели полную ширину (без ограничений по максимальной ширине или фиксированным значениям, т. е. динамический поток), затем прерывались при необходимости и избегали медиазапроса.Следующий фрагмент работает, как и ожидалось, , но с .description max-width, установленным с фиксированным значением:

*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
}

section.content-wrapper {
  margin: 0 auto;
  max-width: 975px;
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  grid-column-gap: 30px;
  grid-row-gap: 44px;
}

section.content-wrapper .news.with-preview figure {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

section.content-wrapper .news.with-preview figure img {
  width: 100%;
}

section.content-wrapper .news.with-preview {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

section.content-wrapper .news.with-preview .description {
  -webkit-box-flex: 9999;
  -ms-flex-positive: 9999;
  flex-grow: 9999;
  max-width: 228px;
}

section.content-wrapper .news {
  border-top: 3px solid #dbdbdb;
  grid-column: span 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 19px;
}
<section class="content-wrapper noticias">
  <article class="news with-preview">
    <figure>
      <img src="https://placehold.it/200x200" alt="">
    </figure>
    <div class="description">
      <h1>Aliquam erat volutpat. Morbi nunc dolor, tempus eu congue id, fringilla</h1>
      <span>Amazonas</span>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam nec ex libero. Aliquam tristique egestas convallis. Vivamus ut sodales ligula…</p>
    </div>
  </article>
  <article class="news with-preview">
    <figure>
      <img src="https://placehold.it/200x200" alt="">
    </figure>
    <div class="description">
      <h1>Aliquam erat volutpat. Morbi nunc dolor, tempus eu congue id, fringilla</h1>
      <span>Amazonas</span>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam nec ex libero. Aliquam tristique egestas convallis. Vivamus ut sodales ligula…</p>
    </div>
  </article>
</section>

Возможно, это неправильное представление о том, как работает flex + grid (или один flex).

Fiddle: https://jsfiddle.net/rhn8d20b/

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