使用网格将 3 张卡片保持在同一行

Keeping 3 cards in same row using grid

我使用网格创建了卡片列表。 CSS:

body {
  padding: 40px 0;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  grid-gap: 20px;
  align-items: stretch;
}

.grid > article {
  border: 1px solid #ccc;
  box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.3);
}

.grid > article img {
  max-width: 100%;
}

.grid .text {
  padding: 20px;
}

HTML:

<div id="app" class="container">
    <div class="grid">
        <article v-for="tool in tools">
            <div class="title">
                <h3>{{capitalizeFirstLetter(tool.name)}}</h3>
            </div>
            <div class="description">
                {{tool.description}}
            </div>
        </article>
    </div>
</div>

如何让每行最多保留 3 张卡片?我似乎不明白我应该如何处理网格,所以每行最多保留 3 张卡片。比如我有8个元素,那么它将是:

card card card
card card card
card card

grid-template-columns属性auto-fill更改为3

body {
  padding: 40px 0;
}

.grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(280px, 1fr));
  grid-gap: 20px;
  align-items: stretch;
}

.grid>article {
  border: 1px solid #ccc;
  box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.3);
}

.grid>article img {
  max-width: 100%;
}

.grid .text {
  padding: 20px;
}
<div id="app" class="container">
  <div class="grid">
    <article>
      <div class="title">
        <h3>Title</h3>
      </div>
      <div class="description">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
      </div>
    </article>
    <article>
      <div class="title">
        <h3>Title</h3>
      </div>
      <div class="description">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
      </div>
    </article>
    <article>
      <div class="title">
        <h3>Title</h3>
      </div>
      <div class="description">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
      </div>
    </article>
    <article>
      <div class="title">
        <h3>Title</h3>
      </div>
      <div class="description">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
      </div>
    </article>
    <article>
      <div class="title">
        <h3>Title</h3>
      </div>
      <div class="description">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
      </div>
    </article>
    <article>
      <div class="title">
        <h3>Title</h3>
      </div>
      <div class="description">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
      </div>
    </article>
    <article>
      <div class="title">
        <h3>Title</h3>
      </div>
      <div class="description">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
      </div>
    </article>
    <article>
      <div class="title">
        <h3>Title</h3>
      </div>
      <div class="description">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
      </div>
    </article>
  </div>
</div>