области шаблона сетки не работают с длинным текстом - PullRequest
0 голосов
/ 27 ноября 2018

Я уверен, что я просто использую это неправильно, но вот мой код:

.item1 {
  grid-area: myArea;
}

.grid-container {
  display: grid;
  grid-template-areas: 'myArea myArea . . .';
  grid-gap: 10px;
  background-color: #2196F3;
  padding: 10px;
}

.grid-container>div {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 20px 0;
  font-size: 30px;
}
<h1>The grid-template-areas Property</h1>

<p>You can use the <em>grid-template-areas</em> property to set up a grid layout.</p>

<p>Item1, is called "myArea" and will take up the place of two columns (out of five):</p>

<div class="grid-container">
  <div class="item1">
    <div>div with some very long text in it</div>
  </div>
  <div class="item2">2</div>
  <div class="item3">3</div>
  <div class="item4">4</div>
  <div class="item5">5</div>
  <div class="item6">6</div>
  <div class="item7">7</div>
  <div class="item8">8</div>
  <div class="item9">9</div>
</div>

https://jsfiddle.net/danielhoang/w4ydmf3k/1/

Это означает, что item1 должен занимать 40% пространства, но в коде он занимает более половины пространства.

Если я изменю item1 на короткий текст, тогда он работает нормально.

Есть ли способ сделать item1 еще 40% даже с длинным текстом?

1 Ответ

0 голосов
/ 28 ноября 2018

Когда вы размещаете области сетки, используя grid-template-areas, но не определяете также grid-template-columns, последний сохраняет значение по умолчанию auto для каждого столбца.Это означает, что размер столбцов будет определяться в зависимости от длины содержимого, что вы и видите.

Добавьте это в свой контейнер сетки:

grid-template-columns: repeat(5, 1fr)

Теперь все пространство будетраспределяться равномерно в ряду.

...