网格模板区域不适用于长文本

凤凰城

我敢肯定我只是在用错它,但这是我的代码:

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

迈克尔·本杰明

当您使用放置网格区域时grid-template-areas,但不同时定义grid-template-columns,则后者会保留auto每列的默认值这意味着将根据内容的长度调整列的大小,这就是您所看到的。

将此添加到您的网格容器:

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

现在,所有空间将均匀分布在行中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章