Skip to main content

Styling Tabel dengan CSS: Membuat Tabel yang Menarik

Apa Itu Styling Tabel?

Tabel adalah elemen penting dalam menampilkan data secara terstruktur dan mudah dibaca. Namun, tampilan tabel default dari browser biasanya sederhana dan kurang menarik. Dengan menggunakan CSS, kita bisa mempercantik tampilan tabel agar lebih profesional, mudah dibaca, dan sesuai dengan desain keseluruhan website.

Styling tabel mencakup beberapa aspek penting seperti:

  • Mengubah warna latar belakang dan teks agar kontras dan enak dilihat
  • Menambahkan garis batas dan padding untuk memperjelas batas antar sel
  • Memberikan efek hover agar interaksi pengguna lebih hidup
  • Membuat tabel responsif agar tetap rapi di semua ukuran layar

1. Struktur Dasar Tabel HTML

Sebelum mulai styling, kita perlu memahami struktur dasar tabel HTML yang terdiri dari elemen <table>, <thead>, <tbody>, <tr>, <th>, dan <td>.

<table class="tabel">
  <thead>
    <tr>
      <th>Nama</th>
      <th>Email</th>
      <th>Telepon</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Ahmad</td>
      <td>ahmad@example.com</td>
      <td>081234567890</td>
    </tr>
    <tr>
      <td>Budi</td>
      <td>budi@example.com</td>
      <td>081234567891</td>
    </tr>
  </tbody>
</table>

2. Styling Dasar Tabel

Untuk membuat tabel terlihat lebih rapi dan konsisten di semua browser, kita mulai dengan beberapa properti dasar CSS:

.tabel {
  width: 100%;
  border-collapse: collapse; /* Menghilangkan jarak antar sel */
  font-family: 'Segoe UI', sans-serif;
  margin: 20px 0;
}

Penjelasan:

  • width: 100% membuat tabel memenuhi lebar container.
  • border-collapse: collapse menghilangkan jarak antar sel sehingga garis batas menyatu.
  • font-family memastikan teks mudah dibaca dan konsisten.
  • margin memberikan ruang agar tabel tidak menempel ke elemen lain.

3. Styling Header Tabel (<th>)

Header tabel perlu dibedakan agar pengguna mudah mengenali judul kolom.

.tabel th {
  background-color: #007bff;
  color: white;
  text-align: left;
  padding: 12px;
  font-weight: bold;
  box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.1);
}

Efek bayangan membuat header tampak lebih menonjol dan profesional.


4. Styling Baris dan Sel Tabel (<td>, <tr>)

Agar tabel nyaman dilihat, kita beri padding dan garis bawah antar baris.

.tabel td {
  padding: 10px;
  border-bottom: 1px solid #ddd;
}

Untuk meningkatkan keterbacaan, gunakan warna berbeda pada baris ganjil dan genap:

.tabel tr:nth-child(even) {
  background-color: #f9f9f9;
}

.tabel tr:hover {
  background-color: #f1f1f1;
}

5. Menyembunyikan Garis Border Default

Jika ingin tampilan lebih minimalis tanpa garis tepi, kita bisa menyembunyikan border dan menggunakan bayangan atau warna latar sebagai pembatas visual.

.tabel,
.tabel th,
.tabel td {
  border: none;
}

.tabel td {
  padding: 12px 8px;
  position: relative;
}

.tabel td::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background-color: #eee;
}

6. Membuat Tabel Responsif

Tabel yang lebar seringkali sulit dibaca di perangkat mobile. Solusinya adalah membungkus tabel dalam elemen dengan overflow horizontal.

HTML:

<div class="tabel-responsive">
  <table class="tabel">
    <!-- Isi tabel -->
  </table>
</div>

CSS:

.tabel-responsive {
  overflow-x: auto;
}

.tabel-responsive table {
  min-width: 600px;
}

7. Styling Alternatif: Tabel Tanpa Garis (Card Style) untuk Mobile

Untuk pengalaman pengguna yang lebih baik di layar kecil, kita bisa mengubah tampilan tabel menjadi card style dengan media queries.

@media screen and (max-width: 600px) {
  .tabel thead {
    display: none;
  }

  .tabel,
  .tabel tbody,
  .tabel tr,
  .tabel td {
    display: block;
    width: 100%;
  }

  .tabel td {
    text-align: right;
    padding-left: 50%;
    position: relative;
  }

  .tabel td::before {
    content: attr(data-label);
    position: absolute;
    left: 10px;
    font-weight: bold;
    color: #555;
    text-align: left;
  }
}

HTML contoh:

<td data-label="Nama">Ahmad</td>

8. Contoh Lengkap Tabel Stylized dengan Responsif

HTML:

<div class="tabel-responsive">
  <table class="tabel">
    <thead>
      <tr>
        <th>Nama</th>
        <th>Email</th>
        <th>Telepon</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Ahmad</td>
        <td>ahmad@example.com</td>
        <td>081234567890</td>
      </tr>
      <tr>
        <td>Budi</td>
        <td>budi@example.com</td>
        <td>081234567891</td>
      </tr>
    </tbody>
  </table>
</div>

CSS:

.tabel {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Segoe UI', sans-serif;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}

.tabel th {
  background-color: #007bff;
  color: white;
  text-align: left;
  padding: 14px;
  font-size: 1rem;
}

.tabel td {
  padding: 12px;
  border-bottom: 1px solid #eee;
}

.tabel tr:hover {
  background-color: #f1f1f1;
}

.tabel-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

9. Tips dan Trik Efektif untuk Styling Tabel

  • Gunakan border-collapse: collapse untuk tampilan garis yang rapi dan menyatu.
  • Manfaatkan nth-child untuk memberi warna berbeda pada baris ganjil dan genap (striping).
  • Tambahkan efek hover untuk interaksi visual yang lebih baik saat mouse diarahkan ke baris.
  • Gunakan atribut data-label pada <td> untuk membuat tabel responsif dengan label yang jelas di mobile.
  • Simpan warna utama dalam variabel CSS agar mudah diubah dan konsisten di seluruh situs.
  • Selalu uji tampilan tabel di berbagai perangkat, terutama mobile, untuk memastikan keterbacaan dan kenyamanan pengguna.

10. Kesimpulan

Styling tabel dengan CSS adalah cara efektif untuk mengubah tampilan data yang sederhana menjadi lebih menarik, profesional, dan mudah dibaca. Dengan teknik seperti pengaturan border, warna baris bergantian, efek hover, dan desain responsif, Anda dapat memastikan tabel tampil optimal di berbagai perangkat dan memberikan pengalaman pengguna yang menyenangkan.

Selanjutnya, Anda bisa melanjutkan dengan mempelajari teknik optimasi CSS agar kode Anda lebih efisien dan website semakin cepat dimuat.


Tips Praktis

  • Selalu gunakan border-collapse: collapse untuk tampilan tabel rapi.
  • Terapkan nth-child untuk variasi warna baris agar mudah dibaca.
  • Gunakan media query untuk membuat tabel responsif di perangkat mobile.
  • Tambahkan efek transition pada hover untuk animasi yang halus.
  • Pastikan tabel tetap mudah dibaca oleh penyandang disabilitas visual dengan kontras warna yang cukup dan penggunaan atribut ARIA jika perlu.

You may like these posts

Komentar