Tim Titus
Tim Titus

Reputation: 394

css grid responsive cards are not expanding horizontally

I've followed the CSS grid guidelines for making a responsive card grid, but the grid only displays cards vertically on the page and doesn't expand horizontally to match the browser's width.

Any help would really be appreciated~!

Check out the code pen here: https://codepen.io/synapse709/pen/aLdbPP

.card_wrapper {
  display: grid;
  padding: 30px 28px;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  grid-gap: 60px;
  align-items: stretch;
}

.site_card {
  display: grid;
  background-color: grey;
  border-radius: 4px;
  box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.10);
  width: auto;
  max-width: 340px;
  height: 340px;
}
<div class="card_wrapper">
  <div class="site_card"></div>
  <div class="site_card"></div>
  <div class="site_card"></div>
</div>

Upvotes: 2

Views: 853

Answers (1)

kukkuz
kukkuz

Reputation: 42362

You have max-width set on your grid items - remove that and it works good:

.card_wrapper {
  display: grid;
  padding: 30px 28px;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  grid-gap: 60px;
  align-items: stretch;
}

.site_card {
  display: grid;
  background-color: grey;
  border-radius: 4px;
  box-shadow: 0 2px 2px 1px rgba(0, 0, 0, 0.1);
  width: auto;
  /*max-width: 340px;*/
  height: 340px;
}
.site_card .card__site_preview {
  position: fixed;
  top: 0;
  height: 260px;
  width: auto;
}
.site_card .card__site_preview .card__title {
  color: black;
  font-size: 16px;
  padding: 10px 20px 15px;
  text-align: left;
}
.site_card .card__site_preview .card__title .card__subtext {
  color: light-grey;
  padding: 10px 20px 15px;
  text-align: left;
}
<div class="card_wrapper">
  <div class="site_card"></div>
  <div class="site_card"></div>
  <div class="site_card"></div>
</div>

Upvotes: 2

Related Questions