HTML Layouts

Preview Source code Open standalone

Set width: full 320 480 640 768 1024 1920 custom

Source code

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Responsive Card Grid</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      margin: 0;
      padding: 2rem;
      background: #f7f7f7;
    }
    .card-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 2rem;
      max-width: 1200px;
      margin: 0 auto;
    }
    .card {
      background: #fff;
      border-radius: 10px;
      box-shadow: 0 4px 16px rgba(0,0,0,0.07);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      transition: box-shadow 0.2s;
    }
    .card:hover {
      box-shadow: 0 8px 32px rgba(0,0,0,0.13);
    }
    .card-img {
      width: 100%;
      height: 160px;
      object-fit: cover;
      background: #eee;
    }
    .card-body {
      padding: 1.2rem 1.2rem 1.5rem 1.2rem;
      flex: 1;
      display: flex;
      flex-direction: column;
    }
    .card-title {
      font-size: 1.2rem;
      font-weight: bold;
      margin-bottom: 0.5rem;
      color: #444;
    }
    .card-text {
      color: #444;
      margin-bottom: 1.2rem;
      flex: 1;
    }
    .card-action {
      align-self: flex-start;
      padding: 0.6rem 1.2rem;
      background: #444;
      color: #fff;
      border: none;
      border-radius: 4px;
      font-size: 1rem;
      cursor: pointer;
      transition: background 0.2s;
      text-decoration: none;
    }
    @media (max-width: 700px) {
      body { padding: 1rem; }
      .card-grid { gap: 1rem; }
      .card-img { height: 120px; }
    }
    @media (max-width: 400px) {
      .card-img { height: 80px; }
    }
  </style>
</head>
<body>
  <div class="card-grid">
    <div class="card">
      <img class="card-img" src="https://picsum.photos/id/1015/400/200" alt="Card image 1">
      <div class="card-body">
        <div class="card-title">Card Title 1</div>
        <div class="card-text">This is a short description for card 1. Cards are great for displaying content in a grid.</div>
        <a href="#" class="card-action">Learn More</a>
      </div>
    </div>
    <div class="card">
      <img class="card-img" src="https://picsum.photos/id/1016/400/200" alt="Card image 2">
      <div class="card-body">
        <div class="card-title">Card Title 2</div>
        <div class="card-text">This is a short description for card 2. Responsive and modern design.</div>
        <a href="#" class="card-action">Learn More</a>
      </div>
    </div>
    <div class="card">
      <img class="card-img" src="https://picsum.photos/id/1018/400/200" alt="Card image 3">
      <div class="card-body">
        <div class="card-title">Card Title 3</div>
        <div class="card-text">This is a short description for card 3. Add as many cards as you like.</div>
        <a href="#" class="card-action">Learn More</a>
      </div>
    </div>
    <div class="card">
      <img class="card-img" src="https://picsum.photos/id/1020/400/200" alt="Card image 4">
      <div class="card-body">
        <div class="card-title">Card Title 4</div>
        <div class="card-text">This is a short description for card 4. Cards are flexible and easy to use.</div>
        <a href="#" class="card-action">Learn More</a>
      </div>
    </div>
  </div>
</body>
</html>