Đến nội dung chính

Danh sách thẻ

Cho danh sách mà ảnh quyết định — phòng trọ, hàng cũ, việc làm người ta chọn bằng mắt.

Hiển thị dữ liệu

Xem trước trực tiếp

Nguồn

<ul class="dc-clist">
  <li class="dc-clist__item">
    <a class="dc-clist__card" href="#">
      <span class="dc-clist__thumb" aria-hidden="true"></span>
      <span class="dc-clist__body">
        <span class="dc-clist__tag">당일지급</span>
        <span class="dc-clist__title">인천 남동공단 상하차 보조</span>
        <span class="dc-clist__meta">남동구 고잔동 · 오전 7시</span>
        <span class="dc-clist__value">일급 140,000원</span>
      </span>
    </a>
  </li>
  <li class="dc-clist__item">
    <a class="dc-clist__card" href="#">
      <span class="dc-clist__thumb" aria-hidden="true"></span>
      <span class="dc-clist__body">
        <span class="dc-clist__tag">주말만</span>
        <span class="dc-clist__title">시흥 정왕동 아파트 내부 정리</span>
        <span class="dc-clist__meta">시흥시 정왕동 · 오전 8시</span>
        <span class="dc-clist__value">일급 120,000원</span>
      </span>
    </a>
  </li>
  <li class="dc-clist__item">
    <a class="dc-clist__card" href="#">
      <span class="dc-clist__thumb" aria-hidden="true"></span>
      <span class="dc-clist__body">
        <span class="dc-clist__tag">초보가능</span>
        <span class="dc-clist__title">안산 원곡동 식품공장 포장</span>
        <span class="dc-clist__meta">안산시 원곡동 · 오후 2시</span>
        <span class="dc-clist__value">시급 11,500원</span>
      </span>
    </a>
  </li>
</ul>
.dc-clist {
  display: flex; flex-direction: column; gap: var(--dc-3);
  margin: 0; padding: var(--dc-4); list-style: none;
  background: var(--dc-bg);
  font-family: var(--dc-font);
}
.dc-clist__item { min-width: 0; }
.dc-clist__card {
  display: flex; gap: var(--dc-3);
  height: 100%; padding: var(--dc-3);
  background: var(--dc-surface);
  border: 1px solid var(--dc-line);
  border-radius: var(--dc-r-md);
  box-shadow: var(--dc-sh-1);
  color: inherit; text-decoration: none;
  transition: border-color var(--dc-fast), transform var(--dc-fast);
}
.dc-clist__card:active { transform: scale(.99); border-color: var(--dc-line-bold); }
.dc-clist__thumb {
  flex: 0 0 92px; align-self: stretch; min-height: 92px;
  border-radius: var(--dc-r-sm);
  background: linear-gradient(135deg, var(--dc-brand-soft), var(--dc-sunken));
}
.dc-clist__body {
  flex: 1 1 auto; min-width: 0;
  display: flex; flex-direction: column; gap: var(--dc-1);
}
.dc-clist__tag {
  align-self: flex-start;
  padding: 2px var(--dc-2); border-radius: var(--dc-r-full);
  background: var(--dc-ok-soft); color: var(--dc-ok);
  font-size: 11px; font-weight: 700;
}
.dc-clist__title {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 15px; font-weight: 700; line-height: 1.4;
  color: var(--dc-text);
}
.dc-clist__meta {
  font-size: 12px; color: var(--dc-text-mute);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dc-clist__value {
  margin-top: auto; padding-top: var(--dc-1);
  font-size: 14px; font-weight: 700; color: var(--dc-text);
}
.dc-clist--grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dc-clist--grid .dc-clist__card { flex-direction: column; }
.dc-clist--grid .dc-clist__thumb { flex: none; min-height: 0; aspect-ratio: 4 / 3; }
.dc-clist--compact .dc-clist__thumb { flex: 0 0 64px; min-height: 64px; }
.dc-clist--compact .dc-clist__title { -webkit-line-clamp: 1; }

Cách dùng

  • Mỗi thẻ chỉ gồm bốn thứ: ảnh, tiêu đề, giá trị, nhãn
  • Giữ giá trị (giá, tiền công) ở cùng vị trí để mắt chạy dọc theo cột
  • Chọn cỡ sao cho khoảng ba thẻ vừa một màn hình

Điểm cần lưu ý

  • Vẫn để chỗ cho ảnh khi không có ảnh, kẻo danh sách bị lệch
  • Ở lưới hai cột, cắt tiêu đề còn hai dòng và thêm dấu ba chấm

Tiếp theo