Selama ini kita belajar HTML untuk membuat struktur website. Tapi website yang hanya HTML terlihat polos dan membosankan. Agar website kita cantik dan menarik, kita butuh CSS (Cascading Style Sheets)!
Ada 3 cara untuk menambahkan CSS ke HTML. Masing-masing punya kelebihan dan kekurangan. Yuk kita pelajari!
Apa Itu CSS?
CSS adalah singkatan dari Cascading Style Sheets. CSS bertugas mengatur tampilan website: warna, font, ukuran, jarak, posisi, dan animasi.
• HTML = Kerangka rumah (pondasi, dinding, atap)
• CSS = Cat, dekorasi, furnitur (membuat rumah jadi cantik)
• JavaScript = Listrik dan peralatan elektronik (membuat rumah "hidup")
Ringkasan Tiga Cara Menambahkan CSS
| Metode | Cara Penulisan | Cakupan | Kapan Pakai? |
|---|---|---|---|
| Inline CSS | Atribut style di elemen HTML |
1 elemen saja | Styling cepat, testing |
| Internal CSS | Tag <style> di dalam <head> |
1 halaman HTML | Website 1 halaman, prototipe |
| External CSS | File .css terpisah, dihubungkan dengan <link> |
Seluruh halaman website | Website profesional (disarankan!) |
1. Inline CSS (CSS Langsung di Elemen)
Inline CSS ditulis langsung di atribut style dalam tag HTML. Ini cara paling cepat tapi paling tidak disarankan untuk website besar karena sulit di-maintenance.
Contoh:
<h1 style="color: blue; text-align: center;">Judul dengan Inline CSS</h1> <p style="font-size: 18px; color: green; font-weight: bold;">Paragraf dengan gaya sendiri</p>
Hasilnya:
Judul dengan Inline CSS
Paragraf dengan gaya sendiri
- Sulit di-maintenance (setiap elemen harus diedit satu per satu)
- Tidak bisa digunakan ulang (reusable)
- Membuat HTML jadi berantakan dan sulit dibaca
- Tidak bisa memanfaatkan fitur CSS seperti class, pseudo-class, dll
2. Internal CSS (CSS di Dalam File HTML)
Internal CSS ditulis di dalam tag <style> yang diletakkan di <head>. Ini lebih rapi daripada inline karena bisa mengatur banyak elemen sekaligus dalam satu halaman.
Contoh:
<!DOCTYPE html>
<html>
<head>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f0f4f8;
padding: 20px;
}
h1 {
color: #3b82f6;
text-align: center;
border-bottom: 3px solid #3b82f6;
padding-bottom: 10px;
}
p {
font-size: 16px;
line-height: 1.6;
color: #333;
}
.highlight {
background-color: yellow;
font-weight: bold;
}
</style>
</head>
<body>
<h1>Selamat Datang di Website Saya</h1>
<p>Ini adalah contoh <span class="highlight">Internal CSS</span>. Semua styling ada di dalam file HTML yang sama.</p>
<p>Cara ini lebih rapi daripada inline CSS.</p>
</body>
</html>
Hasilnya:
- Lebih rapi daripada inline CSS
- Bisa menggunakan selector (class, id, tag)
- Cocok untuk website 1 halaman (landing page)
- Tidak perlu file tambahan
- Tidak bisa digunakan di halaman lain (harus copy-paste)
- Membuat file HTML semakin besar
3. External CSS (File CSS Terpisah) - PALING DISARANKAN
External CSS adalah cara profesional dan paling disarankan. Kita menulis CSS di file terpisah dengan ekstensi .css, lalu menghubungkannya ke HTML menggunakan tag <link>.
Langkah-langkah:
1. Buat file HTML (index.html):
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Website dengan External CSS</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Selamat Datang di Website Saya</h1>
<p>Ini adalah contoh External CSS. File CSS terpisah dari HTML.</p>
<div class="card">
<h3>Card 1</h3>
<p>Ini adalah kartu dengan gaya dari file CSS eksternal.</p>
</div>
</body>
</html>
2. Buat file CSS (style.css) di folder yang sama:
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: #f0f4f8;
}
h1 {
color: #3b82f6;
text-align: center;
border-bottom: 3px solid #3b82f6;
padding-bottom: 10px;
}
p {
font-size: 16px;
line-height: 1.6;
color: #333;
}
.card {
background: white;
border-radius: 10px;
padding: 20px;
margin-top: 20px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
transition: transform 0.3s;
}
.card:hover {
transform: translateY(-5px);
}
.card h3 {
margin-top: 0;
color: #1e40af;
}
Hasilnya (setelah dihubungkan):
- Satu file CSS bisa digunakan untuk banyak halaman (reusable)
- HTML jadi lebih bersih dan mudah dibaca
- Loading lebih cepat karena browser menyimpan cache file CSS
- Memudahkan tim developer bekerja (HTML dan CSS terpisah)
- Mendukung semua fitur CSS (media query, animation, dll)
Perbandingan Ketiga Metode
| Aspek | Inline CSS | Internal CSS | External CSS |
|---|---|---|---|
| Tempat penulisan | Atribut style |
Tag <style> di <head> |
File .css terpisah |
| Cakupan | 1 elemen | 1 halaman | Banyak halaman |
| Dapat digunakan ulang | Tidak | Tidak (halaman lain) | Ya |
| Maintenance | Sulit | Sedang | Mudah |
| Kecepatan loading | Normal | Normal | Lebih cepat (cache) |
| Rekomendasi | Hanya untuk testing | Website 1 halaman | Website profesional |
Studi Kasus: Website 3 Halaman dengan External CSS
Berikut contoh website dengan 3 halaman (Home, About, Contact) yang satu file CSS-nya digunakan bersama.
File: style.css (satu untuk semua halaman)
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
padding: 20px;
}
.container {
max-width: 1000px;
margin: 0 auto;
background: white;
border-radius: 20px;
box-shadow: 0 20px 40px rgba(0,0,0,0.2);
overflow: hidden;
}
header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 30px;
text-align: center;
}
nav {
background: #1e293b;
padding: 15px;
text-align: center;
}
nav a {
color: white;
text-decoration: none;
margin: 0 20px;
padding: 8px 16px;
border-radius: 5px;
transition: background 0.3s;
}
nav a:hover {
background: #667eea;
}
main {
padding: 30px;
}
h2 {
color: #667eea;
margin-bottom: 20px;
border-bottom: 2px solid #e2e8f0;
padding-bottom: 10px;
}
footer {
background: #1e293b;
color: #94a3b8;
text-align: center;
padding: 20px;
}
.card {
background: #f8fafc;
padding: 20px;
border-radius: 10px;
margin-bottom: 20px;
}
File: index.html (Halaman Home)
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Home - Website Saya</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<header>
<h1>🚀 Website Saya</h1>
<p>Belajar CSS dengan External Style Sheet</p>
</header>
<nav>
<a href="index.html">Home</a>
<a href="about.html">About</a>
<a href="contact.html">Contact</a>
</nav>
<main>
<h2>Selamat Datang!</h2>
<div class="card">
<h3>Apa itu External CSS?</h3>
<p>External CSS adalah cara menulis CSS di file terpisah (.css) dan dihubungkan ke HTML menggunakan tag <link>. Ini adalah cara terbaik untuk website profesional.</p>
</div>
</main>
<footer>
<p>© 2024 Website Saya. Dibuat dengan External CSS.</p>
</footer>
</div>
</body>
</html>
File: about.html (Halaman About - pakai CSS yang sama!)
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>About - Website Saya</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<header>
<h1>🚀 Website Saya</h1>
<p>Belajar CSS dengan External Style Sheet</p>
</header>
<nav>
<a href="index.html">Home</a>
<a href="about.html">About</a>
<a href="contact.html">Contact</a>
</nav>
<main>
<h2>Tentang Kami</h2>
<div class="card">
<h3>Siapa Kami?</h3>
<p>Kami adalah tim pengembang web yang berdedikasi untuk membantu pemula belajar HTML, CSS, dan JavaScript.</p>
</div>
</main>
<footer>
<p>© 2024 Website Saya. Dibuat dengan External CSS.</p>
</footer>
</div>
</body>
</html>
Dengan External CSS, satu file style.css digunakan untuk semua halaman. Jika ingin mengganti warna tema, cukup edit satu file saja!
Kesalahan Umum Pemula
- Lupa menutup tag
<style>→ CSS tidak akan bekerja. - Path file CSS salah saat menggunakan
<link>→ Pastikanhref="style.css"sesuai lokasi file. - Mencampur aduk ketiga metode dalam satu proyek besar → Bisa membuat kacaubalau. Pilih satu metode utama (External).
- Menulis CSS di
<body>tanpa tag<style>→ CSS harus di dalam tag<style>atau atributstyle. - Lupa menambahkan
rel="stylesheet"di tag<link>→ Browser tidak akan membaca file CSS.
- Jika CSS tidak muncul, buka Developer Tools (F12) → tab Console → lihat ada error tidak
- Untuk External CSS, cek tab Network → apakah file
.cssberhasil dimuat (status 200) - Pastikan tidak ada typo di nama file atau selector CSS
Latihan Singkat
- Buat file HTML baru dengan judul "Latihan CSS"
- Buat inline CSS untuk mewarnai satu heading menjadi merah
- Buat internal CSS di dalam tag
<style>untuk mengatur background halaman menjadi abu-abu muda - Buat external CSS dengan membuat file
style.cssdan hubungkan ke HTML. Di file CSS, buat class.boxdengan background biru, padding 20px, border-radius 10px - Simpan dan buka di browser. Amati mana yang berhasil dan mana yang tidak (urutan prioritas CSS akan kita pelajari nanti)
Intisari Hari Ini
- Inline CSS → atribut
styledi elemen (cakupan 1 elemen, tidak disarankan) - Internal CSS → tag
<style>di<head>(cakupan 1 halaman) - External CSS → file
.cssterpisah + tag<link>(cakupan banyak halaman) → PALING DISARANKAN - Untuk website profesional, selalu gunakan External CSS
- External CSS membuat HTML bersih, reusable, dan loading lebih cepat karena cache
- Satu file CSS (style.css) digunakan untuk ketiga halaman
- Setiap halaman memiliki: header, navigasi, konten utama, footer
- Gunakan CSS untuk mengatur: warna, font, border-radius, box-shadow, hover effect
- Buat minimal 2 kartu (card) di halaman portofolio
- Di halaman kontak, buat form sederhana (nama, email, pesan) dengan styling CSS
- Tambahkan komentar di file CSS yang menjelaskan fungsi setiap section
Bonus: Buat navigasi aktif (active link) menggunakan class CSS.
Selamat mencoba!
Artikel Sebelumnya: HTML Dasar #19 - Menggunakan br dan hr untuk Garis & Spasi
Artikel Selanjutnya: HTML Dasar #21 - Mengenal Selector CSS: Tag, Class, ID
