JSFiddle - React, Tailwind, and code Playground

by skanehira

HTML

<div class="wrapper">
  <div class="card card-skin">
    <div class="card__imgframe"></div>
    <div class="card__textbox">
      <div class="card__titletext">
        タイトルがはいります。タイトルがはいります。
      </div>
      <div class="card__overviewtext">
        概要がはいります。概要がはいります。概要がはいります。概要がはいります。
      </div>
    </div>
  </div>
  <div class="card card-skin">
    <div class="card__imgframe"></div>
    <div class="card__textbox">
      <div class="card__titletext">
        タイトルがはいります。タイトルがはいります。
      </div>
      <div class="card__overviewtext">
        概要がはいります。概要がはいります。概要がはいります。概要がはいります。
      </div>
    </div>
  </div>
  <div class="card card-skin">
    <div class="card__imgframe"></div>
    <div class="card__textbox">
      <div class="card__titletext">
        タイトルがはいります。タイトルがはいります。
      </div>
      <div class="card__overviewtext">
        概要がはいります。概要がはいります。概要がはいります。概要がはいります。
      </div>
    </div>
  </div>
  <div class="card card-skin">
    <div class="card__imgframe"></div>
    <div class="card__textbox">
      <div class="card__titletext">
        タイトルがはいります。タイトルがはいります。
      </div>
      <div class="card__overviewtext">
        概要がはいります。概要がはいります。概要がはいります。概要がはいります。
      </div>
    </div>
  </div>
  <div class="card card-skin">
    <div class="card__imgframe"></div>
    <div class="card__textbox">
      <div class="card__titletext">
        タイトルがはいります。タイトルがはいります。
      </div>
      <div class="card__overviewtext">
        概要がはいります。概要がはいります。概要がはいります。概要がはいります。
      </div>
    </div>
  </div>
</div>

CSS

@media (min-width: 200px) {
  .wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-gap: 16px;
  }
}

.card {
  width: 200px;
  height: auto;
}

.card__imgframe {
  width: 100%;
  height: auto;
  padding-top: 56.25%;
  background: url(https://placehold.jp/640x360.png) no-repeat center;
  background-size: cover;
  box-sizing: border-box;
}

.card__textbox {
  width: 100%;
  height: auto;
  padding: 20px 18px;
  background: #ffffff;
  box-sizing: border-box;
}

.card__textbox>*+* {
  margin-top: 10px;
}

.card__titletext {
  font-size: 20px;
  font-weight: bold;
  line-height: 125%;
}

.card__overviewtext {
  font-size: 12px;
  line-height: 150%;
}

.card-skin{
  box-shadow: 2px 2px 6px rgba(0,0,0,.4);
}