Tentu, berikut adalah artikel lengkap mengenai cara mendesain tabel menggunakan CSS.
Tabel HTML (<table>) sering digunakan untuk menampilkan data dalam bentuk baris dan kolom. Secara default, tampilan tabel HTML terlihat sederhana dan kaku. Dengan menggunakan CSS, kita bisa mengubah tampilan tabel menjadi lebih menarik, mudah dibaca, dan menyatu dengan desain keseluruhan situs web kita.
Mendesain tabel dengan CSS melibatkan beberapa properti penting yang dapat kita manfaatkan. Mari kita bahas langkah-langkahnya.
1. Struktur Dasar HTML
Pertama, kita harus memiliki struktur tabel HTML yang benar. Tabel dasar terdiri dari tag <table>, <thead> (untuk header), <tbody> (untuk isi), <tr> (baris), <th> (sel header), dan <td> (sel data).
<table>
<thead>
<tr>
<th>Nama</th>
<th>Umur</th>
<th>Kota</th>
</tr>
</thead>
<tbody>
<tr>
<td>Andi</td>
<td>25</td>
<td>Jakarta</td>
</tr>
<tr>
<td>Budi</td>
<td>30</td>
<td>Surabaya</td>
</tr>
<tr>
<td>Cindy</td>
<td>22</td>
<td>Bandung</td>
</tr>
</tbody>
</table>
2. Styling Dasar Tabel
Setelah struktur HTML siap, kita bisa mulai menambahkan CSS. Berikut adalah beberapa properti dasar untuk membuat tabel terlihat lebih rapi.
Menghilangkan Spasi Antar Sel (Border-collapse)
Secara default, setiap sel tabel memiliki batas (border) terpisah. Ini sering kali membuat tampilan tabel menjadi kurang rapi. Properti border-collapse: collapse; akan menggabungkan batas-batas ini menjadi satu, menciptakan tampilan yang lebih bersih.
table {
width: 100%;
border-collapse: collapse; /* Menggabungkan batas sel */
}
Menambahkan Batas (Border)
Untuk memisahkan sel-sel, kita bisa menambahkan border pada tag <th> dan <td>.
th, td {
border: 1px solid #ddd;
padding: 8px; /* Memberikan ruang di dalam sel */
text-align: left; /* Meratakan teks ke kiri */
}
Mengatur Gaya Header (Thead)
Header tabel biasanya membutuhkan gaya yang berbeda agar lebih menonjol. Kita bisa memberikan warna latar belakang dan warna teks yang kontras.
th {
background-color: #4CAF50; /* Warna hijau */
color: white;
}
3. Meningkatkan Keterbacaan (Readability)
Salah satu trik desain yang paling efektif untuk tabel adalah menggunakan warna latar belakang yang berbeda untuk setiap baris. Ini dikenal sebagai “Zebra Striping” dan sangat membantu pengguna membaca tabel yang panjang.
Zebra Striping (nth-child)
Pseudo-class :nth-child(even) atau :nth-child(odd) sangat berguna untuk menargetkan baris genap atau ganjil.
/* Mengubah warna latar belakang untuk baris ganjil */
tr:nth-child(odd) {
background-color: #f2f2f2;
}
/* Atau untuk baris genap */
/* tr:nth-child(even) {
background-color: #f2f2f2;
} */
Dengan kode di atas, baris kedua, keempat, dan seterusnya akan memiliki latar belakang berwarna abu-abu terang, menciptakan efek zebra.
Efek Hover
Menambahkan efek hover pada baris akan memberikan umpan balik visual kepada pengguna, menunjukkan baris mana yang sedang mereka soroti.
tr:hover {
background-color: #ddd;
}
4. Contoh Lengkap (Kode Final)
Berikut adalah contoh lengkap dari file HTML dan CSS untuk mendesain tabel yang rapi dan menarik.
index.html
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Desain Tabel dengan CSS</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Daftar Karyawan</h1>
<table>
<thead>
<tr>
<th>Nama Lengkap</th>
<th>Posisi</th>
<th>Gaji</th>
</tr>
</thead>
<tbody>
<tr>
<td>John Doe</td>
<td>Manajer Proyek</td>
<td>Rp 10.000.000</td>
</tr>
<tr>
<td>Jane Smith</td>
<td>Pengembang Web</td>
<td>Rp 8.500.000</td>
</tr>
<tr>
<td>Peter Jones</td>
<td>Desainer UI/UX</td>
<td>Rp 7.000.000</td>
</tr>
<tr>
<td>Mary Brown</td>
<td>Analis Bisnis</td>
<td>Rp 9.000.000</td>
</tr>
</tbody>
</table>
</body>
</html>
style.css
body {
font-family: Arial, sans-serif;
padding: 20px;
background-color: #f4f4f4;
}
h1 {
text-align: center;
color: #333;
}
/* Styling Tabel */
table {
width: 80%; /* Mengatur lebar tabel */
margin: 0 auto; /* Menempatkan tabel di tengah halaman */
border-collapse: collapse;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.15); /* Menambahkan bayangan */
}
/* Styling Header Tabel */
thead {
background-color: #009879;
color: #ffffff;
text-align: left;
}
th, td {
padding: 12px 15px; /* Menambah padding untuk kenyamanan */
border: 1px solid #dddddd;
}
/* Styling Isi Tabel */
tbody tr {
border-bottom: 1px solid #dddddd;
}
tbody tr:nth-of-type(even) {
background-color: #f3f3f3; /* Zebra striping untuk baris genap */
}
tbody tr:last-of-type {
border-bottom: 2px solid #009879; /* Batas bawah yang lebih tebal pada baris terakhir */
}
tbody tr:hover {
background-color: #e2e2e2;
cursor: pointer;
}
Dengan mengikuti langkah-langkah di atas, Anda bisa mengubah tabel HTML standar menjadi tabel yang terlihat modern, profesional, dan mudah dibaca oleh pengguna. Eksperimenlah dengan properti CSS lainnya, seperti border-radius, box-shadow, dan font-style untuk menciptakan desain yang lebih unik dan sesuai dengan gaya situs web Anda.