1404 kata
7 menit

CSS Itu Apa? Yuk Percantik Halaman HTML Kita

Di akhir Series HTML kemarin, kita berhasil membuat sebuah halaman profil sendiri.

Bukan website yang rumit.

Tapi di dalamnya sudah ada beberapa hal yang selama ini kita pelajari:

  • heading;
  • paragraf;
  • gambar;
  • navigasi;
  • list;
  • link;
  • form;
  • dan Semantic HTML.

Kalau Gabuters belum membuatnya, sebaiknya selesaikan dulu Mini Project HTML: Membuat Halaman Profil Sederhana.

Karena halaman itulah yang akan kita lanjutkan di Series CSS ini.

Secara struktur, halaman kita sebenarnya sudah bekerja dengan baik.

Masalahnya…

secara tampilan masih sangat sederhana.

Browser memberi kita warna, ukuran teks, jarak, dan tampilan bawaan agar halaman HTML tetap bisa dibaca.

Jadi halaman kita tidak benar-benar “tanpa style”.

Hanya saja kita belum mengatur tampilannya sendiri.

Dan sekarang kita ingin mulai melakukannya.

Di sinilah kita bertemu dengan:

CSS.

HTML Sudah Bekerja, Kenapa Kita Butuh CSS?#

Di project sebelumnya kita punya heading seperti:

<h1>BapakGabut</h1>

HTML memberi tahu browser bahwa:

Ini adalah heading utama halaman.

Makna tersebut sudah benar.

Tapi bagaimana kalau kita ingin heading itu memiliki warna tertentu?

Atau kita ingin:

  • background header berbeda;
  • font halaman berubah;
  • navigasi tidak menggunakan tampilan link bawaan browser;
  • konten memiliki ruang dari tepi halaman?

Kita ingin mengubah cara halaman ditampilkan, bukan mengganti makna elemen HTML-nya.

Di sinilah CSS mulai mengambil peran.

Secara sederhana:

HTML
↓
struktur dan makna halaman
CSS
↓
presentasi dan tampilan halaman

Misalnya HTML:

<h1>BapakGabut</h1>

Kemudian kita punya CSS:

h1 {
color: blue;
}

Elemen tersebut tetap sebuah <h1>.

Yang berubah adalah tampilannya.

Sekarang teksnya berwarna biru.

CSS Itu Apa?#

CSS adalah singkatan dari:

Cascading Style Sheets.

Namanya terdengar cukup serius untuk sesuatu yang sebentar lagi kita gunakan mengganti warna background. 😄

CSS adalah bahasa yang digunakan untuk mengatur presentasi dokumen seperti HTML.

Dengan CSS kita nantinya bisa mengatur banyak hal:

warna
font
ukuran
jarak
border
background
layout
responsive
dan masih banyak lagi

Tapi jangan buru-buru.

Kita tidak perlu mempelajari semuanya hari ini.

Target kita jauh lebih sederhana:

Membuat halaman profil HTML kemarin mulai memiliki tampilan yang kita tentukan sendiri.

CSS Bisa Ditulis dengan Beberapa Cara#

Sebelum membuat file CSS, ada satu hal yang perlu kita tahu.

Gabuters mungkin akan menemukan CSS ditulis dengan beberapa cara ketika melihat tutorial atau contoh kode di internet.

Inline CSS#

CSS bisa langsung ditulis pada elemen:

<h1 style="color: blue;">BapakGabut</h1>

Ini disebut inline CSS.

Valid?

Ya.

Tetapi kalau kita menaruh banyak aturan tampilan langsung pada banyak elemen, HTML bisa cepat menjadi sulit dibaca dan dirawat.

Internal CSS#

CSS juga bisa diletakkan di dalam elemen <style>:

<head>
<style>
h1 {
color: blue;
}
</style>
</head>

Ini disebut internal CSS.

CSS sudah tidak ditulis langsung pada elemen, tetapi masih berada dalam dokumen HTML yang sama.

External CSS#

Cara yang akan kita gunakan dalam project ini adalah memisahkan CSS ke file sendiri.

Misalnya:

index.html
style.css

HTML tetap berada di:

index.html

Sedangkan aturan tampilannya kita simpan di:

style.css

Untuk project yang akan terus kita kembangkan sepanjang Series CSS, pemisahan seperti ini lebih enak dikelola.

Jadi mulai sekarang kita akan menggunakan external CSS.

Tidak perlu menghafal ketiga istilah tadi.

Yang penting, kalau suatu hari Gabuters melihat:

style=""

atau:

<style>

kita sudah tidak bingung CSS itu datang dari mana. 😄

Ambil Lagi Project Halaman Profil Kita#

Buka kembali project dari artikel sebelumnya.

Strukturnya kurang lebih:

profil-saya/
├── index.html
└── foto-profil.jpg

Sekarang buat file baru:

style.css

Sehingga menjadi:

profil-saya/
├── index.html
├── style.css
└── foto-profil.jpg

Untuk sementara, style.css masih kosong.

Tidak masalah.

Sekarang kita perlu memberi tahu browser bahwa index.html menggunakan file CSS tersebut.

Hubungkan HTML dengan CSS#

Buka:

index.html

Di dalam <head>, tambahkan:

<link rel="stylesheet" href="style.css">

Sehingga bagian <head> kurang lebih menjadi:

<head>
<meta charset="UTF-8">
<meta
name="viewport"
content="width=device-width, initial-scale=1.0"
>
<title>Profil Saya</title>
<link rel="stylesheet" href="style.css">
</head>

Perhatikan bagian:

href="style.css"

Browser akan mencari file style.css berdasarkan path tersebut.

Karena index.html dan style.css berada di folder yang sama, kita cukup menulis:

style.css

Simpan file.

Refresh browser.

Dan…

tidak terjadi apa-apa. 😄

Tenang.

Itu justru benar.

Kita baru menghubungkan CSS ke HTML.

File style.css kita masih kosong.

Sekarang baru kita isi.

CSS Pertama Kita#

Buka:

style.css

Lalu tulis:

body {
background-color: #f4f4f4;
}

Simpan.

Kembali ke browser lalu refresh.

Kalau semuanya benar, background halaman yang sebelumnya putih sekarang menjadi abu-abu muda.

Kelihatannya sederhana.

Tapi perhatikan apa yang baru saja terjadi.

Kita tidak perlu mengubah struktur HTML.

Kita hanya menulis aturan di style.css, lalu browser menggunakan aturan tersebut ketika menampilkan halaman.

Hubungannya kira-kira seperti ini:

index.html
│
│ <link>
▼
style.css
│
│ aturan tampilan
▼
Browser

CSS kita sudah bekerja.

Coba Ubah Warna Teks#

Sekarang ubah CSS menjadi:

body {
background-color: #f4f4f4;
color: #333333;
}

Refresh lagi.

Kita baru menambahkan:

color: #333333;

Sekarang coba tambahkan:

h1 {
color: #2563eb;
}

Simpan dan refresh.

Heading utama berubah warna.

Dari sini kita mulai bisa melihat pola:

h1 {
color: #2563eb;
}

Untuk sementara, baca saja seperti ini:

h1
↓
bagian yang ingin kita atur
color
↓
hal yang ingin kita ubah
#2563eb
↓
nilai yang kita berikan

Bagian-bagian tersebut sebenarnya memiliki nama.

Tapi kita akan membahasnya dengan lebih rapi di artikel berikutnya.

Hari ini kita cukup melihat bagaimana CSS bekerja.

Ubah Font Halaman#

Tambahkan pada body:

body {
background-color: #f4f4f4;
color: #333333;
font-family: Arial, sans-serif;
}

Refresh.

Tampilan teks sekarang mulai berbeda dari font bawaan browser.

Pada:

font-family: Arial, sans-serif;

browser akan mencoba menggunakan Arial terlebih dahulu.

Jika Arial tidak tersedia, browser dapat menggunakan font lain dari keluarga sans-serif.

Kita belum perlu masuk terlalu jauh ke typography.

Yang penting sekarang kita sudah melihat bahwa font juga bisa dikontrol dari CSS.

Di halaman profil kita terdapat navigasi:

<nav>
<a href="#tentang">Tentang</a>
<a href="#belajar">Sedang Dipelajari</a>
<a href="#kontak">Kontak</a>
</nav>

Sekarang tambahkan:

nav a {
color: #2563eb;
text-decoration: none;
}

Refresh.

Link navigasi tidak lagi menggunakan underline bawaan.

Kita juga menentukan sendiri warnanya.

Perhatikan:

nav a

Untuk sekarang cukup baca sebagai:

pilih link <a> yang berada di dalam <nav>.

Kenapa penulisannya seperti itu?

Nanti.

Itulah salah satu hal yang akan kita bongkar di artikel berikutnya.

Beri Warna pada Header#

Sekarang tambahkan:

header {
background-color: #2563eb;
color: white;
}

Refresh.

Header kita sekarang memiliki background biru.

Tapi mungkin ada sesuatu yang terlihat aneh.

Heading utama sebelumnya juga sudah kita beri warna biru:

h1 {
color: #2563eb;
}

Biru di atas background biru tentu tidak nyaman dibaca.

Ubah warnanya menjadi putih:

h1 {
color: #ffffff;
}

Link navigasinya juga masih menggunakan warna yang sebelumnya kita tentukan:

nav a {
color: #2563eb;
}

Kalau dibiarkan, link-nya ikut menghilang di lautan biru. 😄

Ubah menjadi:

nav a {
color: white;
text-decoration: none;
}

Refresh lagi.

Sekarang header mulai terasa seperti bagian halaman yang memang kita desain sendiri.

Sedikit Ruang Biar Tidak Sesak#

Teks pada header mungkin masih terlalu dekat dengan tepi.

Tambahkan:

header {
background-color: #2563eb;
color: white;
padding: 20px;
}

Sekarang isi header memiliki ruang dari tepinya.

Kita baru menggunakan:

padding: 20px;

Belum perlu membedah cara kerjanya.

Nanti kita punya pembahasan khusus tentang ukuran dan ruang pada elemen ketika masuk ke box model.

Kalau semuanya kita bahas sekarang, CSS #1 bisa berubah menjadi kitab. 😄

Beri Ruang pada Konten Utama#

Tambahkan:

main {
padding: 20px;
}

Kemudian:

footer {
padding: 20px;
text-align: center;
}

Refresh.

Halaman kita mungkin belum terlihat seperti desain profesional.

Memang belum.

Tapi sekarang browser sudah mulai menampilkan halaman berdasarkan keputusan yang kita buat sendiri, bukan hanya style bawaan browser.

CSS kita sejauh ini kurang lebih:

body {
background-color: #f4f4f4;
color: #333333;
font-family: Arial, sans-serif;
}
h1 {
color: #ffffff;
}
nav a {
color: white;
text-decoration: none;
}
header {
background-color: #2563eb;
color: white;
padding: 20px;
}
main {
padding: 20px;
}
footer {
padding: 20px;
text-align: center;
}

Bandingkan dengan halaman sebelum kita membuat style.css.

Struktur HTML-nya tetap.

Yang mulai berubah adalah presentasinya.

Sekarang Coba Rusakkan CSS-nya#

Yup.

Sengaja. 😄

Coba ubah:

background-color: #2563eb;

menjadi:

background-color: red;

Refresh.

Bagus?

Belum tentu.

Tapi berubah.

Sekarang coba:

font-family: Georgia, serif;

Atau ubah warna heading menjadi sesuatu yang mencolok.

Tujuannya bukan mencari desain terbaik.

Tujuannya membangun kebiasaan:

ubah CSS
↓
simpan
↓
refresh
↓
lihat hasilnya

Eksperimen seperti ini penting.

Project latihan adalah tempat yang tepat untuk membuat sesuatu jelek, merusaknya, lalu memperbaikinya lagi.

Kalau CSS Tidak Berubah?#

Gabuters sudah menulis CSS.

Sudah refresh.

Tapi halaman tetap sama.

Jangan langsung menyalahkan browser. 😄

Coba periksa beberapa hal.

Pertama, pastikan nama file benar:

style.css

Kedua, pastikan HTML memiliki:

<link rel="stylesheet" href="style.css">

Ketiga, periksa lokasi file.

Kalau strukturnya:

profil-saya/
├── index.html
└── css/
└── style.css

maka:

href="style.css"

tidak lagi menunjuk ke file yang benar.

Kita perlu menggunakan path yang sesuai, misalnya:

<link rel="stylesheet" href="css/style.css">

Dan tentu saja…

pastikan filenya sudah disimpan.

Kelihatannya sepele.

Tapi developer berpengalaman pun bisa menatap layar beberapa menit sebelum sadar:

Oh… belum di-save.

😄

HTML dan CSS Punya Tugas yang Berbeda#

Sekarang kita punya dua file utama.

index.html berisi struktur seperti:

<header>
<h1>BapakGabut</h1>
</header>

Sedangkan style.css bisa berisi:

header {
background-color: #2563eb;
color: white;
}

Mulai terlihat pembagian tugasnya:

HTML
│
├── heading
├── paragraph
├── navigation
├── section
├── gambar
└── form
CSS
│
├── warna
├── font
├── background
├── jarak
└── layout/presentasi

Ini bukan berarti HTML dan CSS tidak saling berhubungan.

Justru keduanya bekerja bersama.

Tetapi memisahkan struktur/semantik dari aturan presentasi akan membuat project kita jauh lebih mudah dikembangkan.

Apa yang Sudah Kita Pelajari?#

Di artikel pertama CSS ini kita sengaja belum membahas terlalu banyak aturan.

Target kita bukan menghafal daftar property CSS.

Targetnya adalah memahami bagaimana CSS mulai bekerja bersama HTML.

Sekarang kita sudah tahu hubungan:

index.html
│
│ <link rel="stylesheet">
▼
style.css
│
▼
mengatur presentasi halaman

Kita juga sudah mencoba beberapa hal seperti:

color
background-color
font-family
padding
text-align
text-decoration

Tidak perlu menghafalnya sekarang.

Yang lebih penting adalah ketika melihat:

h1 {
color: blue;
}

Gabuters sudah bisa membaca secara kasar:

Sepertinya ini memilih h1, lalu memberi aturan agar warnanya biru.

Nah.

Untuk artikel pertama, itu sudah cukup.

Selanjutnya: CSS Tahu Elemen Mana yang Harus Diubah dari Mana?#

Ada satu pertanyaan yang belum kita jawab.

Tadi kita menulis:

h1 {
color: blue;
}

Kemudian:

header {
background-color: #2563eb;
}

Dan:

nav a {
color: white;
}

Bagaimana CSS tahu elemen mana yang kita maksud?

Bagaimana kalau kita ingin memilih banyak elemen tertentu?

Atau hanya satu bagian tertentu?

Di sinilah kita akan mulai mengenal:

  • selector;
  • property;
  • value;
  • class;
  • id;
  • dan bagaimana sebuah aturan CSS sebenarnya dibaca.

Itulah yang akan kita bahas pada artikel berikutnya.

Untuk sekarang, halaman profil BapakGabut akhirnya mulai punya tampilan yang kita tentukan sendiri.

Dan perjalanan CSS kita baru dimulai.

CSS

Selesai

Bagian 1 dari 6Tulisan ini bagian dari seri

Bagikan Artikel

Buat poster berbagi atau salin tautan artikel ini.

Lanjut membaca

Bacaan terkait

Berdasarkan tag dan kategori yang sama

Coba jalur lain

Pilihan konsisten dari artikel lain