
Tutorial CSS: Dasar-Dasar yang Perlu Dipelajari Frontend Developer

Menguasai Tutorial CSS merupakan langkah awal penting bagi siapa saja yang ingin menjadi frontend developer handal. CSS (Cascading Style Sheets) berfungsi untuk memberikan gaya tampilan pada elemen-elemen HTML – mulai dari tata warna, ukuran font, hingga layout dan efek interaktif. Seorang frontend developer menggunakan HTML, CSS, dan JavaScript untuk menulis kode website sesuai desain. Bahkan sebagian besar lowongan pekerjaan frontend mewajibkan kemampuan HTML dan CSS sebagai persyaratan utama. Artikel Tutorial CSS: Dasar-Dasar yang Perlu Dipelajari Frontend Developer ini hadir sebagai panduan menyeluruh. Di dalamnya, kita akan membahas mulai dari cara menghubungkan CSS ke halaman HTML, properti-properti CSS dasar, hingga teknik layout modern seperti Flexbox dan Grid, yang semua sangat esensial untuk mempermudah pekerjaan kamu dalam mengatur tampilan website.
Benefit Setelah Membaca Artikel Ini

Setelah menyimak artikel Tutorial CSS ini, kamu akan merasakan manfaat-manfaat sebagai berikut:
- Mengatur Tampilan Halaman: Lebih mudah mengubah warna, ukuran font, margin, padding, dan menata elemen-elemen HTML agar tampak rapi dan menarik.
- Desain Responsif: Memahami cara membuat desain responsif sehingga situs tetap tampil optimal di berbagai perangkat (HP, tablet, laptop, dsb.) menggunakan media queries CSS.
- Layout Modern dengan Mudah: Mahir menggunakan Flexbox dan Grid untuk menyusun layout satu dimensi maupun dua dimensi tanpa kebingungan.
- Memahami Alur Styling: Mengetahui cara kerja CSS (box model, inheritance, specificity) sehingga kamu bisa mengubah atau memperbaiki tampilan dengan percaya diri.
- Siap Terjun ke Proyek: Setelah menguasai istilah dan konsep dasar CSS, kamu bisa langsung bergabung dalam proyek nyata atau membangun website sendiri tanpa rasa minder.
Intinya, menguasai Tutorial CSS dasar ini membuatmu selangkah lebih dekat untuk menjadi frontend developer yang jago dalam membuat tampilan website keren dan profesional.
Persiapan Proyek Dasar
Sebelum memulai belajar CSS, siapkan dulu kerangka proyek sederhana agar latihan lebih fokus. Berikut langkah-langkah dasarnya:
-
Buat Folder Proyek: Misalnya, buat folder bernama
belajar-cssdi komputer kamu (Desktop/Document). -
Buat File HTML: Di dalam folder tersebut, buat file
index.html. Ini akan menjadi halaman utama web kamu. -
Buat File CSS: Masih di folder yang sama, buat file
styles.css. Nantinya semua aturan styling (CSS) akan ditulis di sini. -
Tautkan CSS ke HTML: Buka
index.htmldengan editor teks (seperti VS Code). Pada bagian<head>, tambahkan baris berikut untuk menghubungkan file CSS:<link rel="stylesheet" href="styles.css" />Teknik ini menggunakan external stylesheet, cara yang paling umum dan direkomendasikan.
-
Jalankan Live Preview: Jika menggunakan VS Code, kamu bisa install ekstensi Live Server. Setelah terpasang, klik kanan
index.htmldan pilih “Open with Live Server”. Browser akan terbuka dan menampilkan halaman. Setiap kali kamu menyimpan perubahan, tampilan di browser akan otomatis di-refresh. Ini memudahkan melihat hasil styling secara langsung.
Dengan proyek dasar siap, kita bisa mulai bahas CSS lebih detail.
Baca Juga: Visual Studio Code - List Ekstensi Pendukung CSS
Apa Itu CSS & Cara Menghubungkannya dengan HTML
CSS adalah bahasa untuk mengatur look and feel halaman web. Dengan CSS, kamu bisa menentukan warna teks, jenis font, layout, animasi, dan banyak aspek visual lainnya. Agar browser tahu kita punya aturan CSS, kita harus menghubungkannya ke dokumen HTML. Ada tiga cara utama:
-
External Stylesheet (Direkomendasikan): Tulis CSS di file terpisah (
styles.css) lalu tautkan dengan tag<link rel="stylesheet" href="styles.css">di dalam<head>HTML. Cara ini efisien karena satu file CSS bisa diterapkan ke banyak halaman web sekaligus. -
Internal Stylesheet: Tulis CSS di dalam tag
<style>di bagian<head>HTML. Misalnya:<head> <style> p { color: blue; } </style> </head>Metode ini berguna untuk halaman tunggal, tapi jika banyak halaman, akan sulit dipelihara.
-
Inline Styles: Tulis aturan CSS langsung di atribut
stylesebuah elemen HTML. Misalnya:<p style="color: red;">Teks berwarna merah</p>. Cara ini mempengaruhi satu elemen saja dan sebaiknya dihindari karena menggabungkan kode presentasi ke dalam HTML membuat pemeliharaan menjadi rumit.
Sebagai best practice, gunakan external stylesheet sebisa mungkin. Ini membuat kode lebih rapi dan mudah diubah, karena kamu tinggal edit satu file styles.css untuk efek di banyak halaman.
Selektor Dasar CSS
Selektor CSS digunakan untuk “memilih” elemen HTML mana yang akan diubah stylenya. Berikut tiga selektor dasar:
-
Tag Selector (elemen): Langsung tulis nama tag HTML. Contoh, untuk semua paragraf (
<p>):p { color: black; }Ini akan membuat semua teks paragraf berwarna hitam.
-
Class Selector (.class): Tambahkan atribut
class="namaClass"di HTML, lalu di CSS gunakan titik (.) diikuti nama class. Misalnya di HTML:<p class="judul">Teks</p>, lalu di CSS:.judul { font-weight: bold; }Kode di atas menebalkan teks paragraf bertanda class
judul. Class bisa digunakan di banyak elemen berbeda. -
ID Selector (#id): Tambahkan atribut
id="namaId"di HTML, lalu di CSS gunakan tanda pagar (#). Contoh:<div id="kotakUtama">...</div>dan di CSS:#kotakUtama { background-color: #f0f0f0; }ID diharapkan unik per halaman (satu halaman satu ID) dan biasanya prioritasnya lebih tinggi dibanding class atau tag.
Contoh penerapan selektor di HTML/CSS:
<head> <style> /* Contoh selektor */ p { color: red; } /* tag selector */ .title { font-weight: bold; } /* class selector */ #main { font-style: italic; } /* ID selector */ </style> </head> <body> <p>Teks default paragraf.</p> <p class="title">Teks dengan class <code>.title</code>.</p> <div id="main">Teks dengan ID #main.</div> </body>
Hasilnya, paragraf kedua jadi tebal dan paragraf terakhir jadi miring.
Properti Warna
CSS memungkinkan kita mengatur warna teks (color) dan latar belakang (background-color) elemen. Kamu bisa menggunakan berbagai format:
- Nama warna: Seperti
red,blue,orange,goldenrod,whitesmokedll. - Hexadecimal: format
#RRGGBB, misalnya#ff6600(warna oranye terang). - RGB: misal
rgb(255, 0, 0)sama dengan merah. Ataurgba(255, 0, 0, 0.5)dengan alpha 0.5 untuk transparansi. - HSL: misal
hsl(0, 100%, 50%)juga merah (Hue, Saturation, Lightness).
Contoh:
h1 { color: #ff6600; /* teks oranye */ background-color: #f9f9f9; /* latar belakang abu muda */ } h2 { color: whitesmoke; background-color: goldenrod; }
Dengan kode di atas, <h1> akan memiliki teks oranye dan latar belakang abu-abu terang, sementara <h2> memiliki teks putih kekuningan dan latar belakang cokelat keemasan.
Font dan Tampilan Teks
Selain warna, CSS dapat mengontrol tampilan teks agar lebih menarik. Properti yang sering digunakan:
- font-family: Menentukan jenis huruf. Misalnya
font-family: "Arial", sans-serif;. - font-size: Ukuran huruf (misal
16px,1.2rem, dll). Sebaiknya gunakan satuan relatif sepertirematauemagar desain lebih responsif. - font-weight: Ketebalan huruf (
normal,bold,400,700, dll). - line-height: Jarak antar-baris. Misalnya
line-height: 1.6;membuat teks lebih renggang. - text-align: Perataan teks (mis.
left,center,right,justify).
Contoh:
p.custom { font-family: "Arial", sans-serif; font-size: 16px; font-weight: 400; line-height: 1.6; text-align: justify; }
Jika kita punya <p class="custom">, paragraf tersebut akan menggunakan font Arial, ukuran 16px, jarak baris 1.6, dan teks diratakan secara justify. Tip tambahan: gunakan rem (berdasarkan font-size root) untuk ukuran font agar lebih fleksibel pada perangkat berbeda.
Box Model
Setiap elemen HTML di halaman merupakan kotak persegi panjang tak terlihat yang disebut CSS Box Model. Box Model terdiri dari 4 bagian utama (dari dalam ke luar):
- Content (Konten): Isi elemen, misalnya teks atau gambar.
- Padding: Ruang kosong di sekitar konten, warna latarnya transparan.
- Border: Garis tepi elemen, mengelilingi padding dan konten.
- Margin: Ruang luar di sekitar border, berfungsi memisahkan elemen satu dan lainnya.
Keterangan bagian box model (lihat ilustrasi):
Margin
┌───────────────┐
│ Border │
│ ┌───────────┐ │
│ │ Padding │ │
│ │ ┌───────┐ │ │
│ │ │Content│ │ │
│ │ └───────┘ │ │
│ └───────────┘ │
└───────────────┘
Sebagai contoh:
.box { width: 200px; padding: 20px; border: 2px solid black; margin: 30px; background-color: lightblue; }
Untuk elemen di atas, lebar total elemen adalah 200px (content) + 20px padding kiri + 20px padding kanan + 2px border kiri + 2px border kanan = 244px. Marjin 30px di luar border akan memberi jarak ke elemen lain. Box model memungkinkan kita menghitung ruang yang dibutuhkan suatu elemen lengkap dengan padding dan border.
Width, Height, Max/Min
Kamu dapat mengatur ukuran elemen dengan properti width dan height. Selain itu ada max-width, min-width, max-height, dan min-height untuk batas maksimal atau minimal.
Misalnya:
img { width: 100%; max-width: 500px; height: auto; }
Kode di atas berarti gambar akan melebar 100% dari container-nya, tetapi tidak lebih dari 500px, dan tingginya otomatis menyesuaikan. Penggunaan max-width dan min-width sangat membantu dalam desain responsif. Sebagai catatan, saat menghitung width/height elemen, selalu ingat Box Model: width yang ditentukan hanya mencakup area konten, sehingga padding dan border menambah ukuran total.
Display
Properti display mengontrol cara elemen ditampilkan:
- block: Elemen menempati satu baris penuh (contoh:
<div>,<p>). - inline: Elemen hanya selebar kontennya dan bisa berada satu baris bersama elemen lain (contoh:
<span>,<a>). - inline-block: Mirip inline, tetapi kita bisa mengatur width/height-nya seperti block.
- none: Elemen disembunyikan (tidak tampil, dan tidak mengambil ruang).
Contoh penggunaan:
.inline { display: inline; background-color: yellow; } .block { display: block; background-color: lightgreen; } .hidden { display: none; }
Dengan aturan di atas, elemen dengan class inline akan tampil memanjang sesuai konten, block akan tampil penuh baris, sedangkan elemen dengan class hidden tidak akan terlihat sama sekali.
Position
CSS position mengatur bagaimana elemen ditempatkan di dalam halaman. Ada lima nilai utama:
- static (default): Elemen mengikuti alur normal dokumen. (Posisi default, tidak dipengaruhi top/left, dll.)
- relative: Elemen diposisikan relatif terhadap posisi semula. Dengan
top,leftkamu bisa menggeser elemennya, namun tetap membuat ruang di posisinya semula. - absolute: Elemen diposisikan relatif terhadap elemen induk terdekat yang sudah diposisikan (biasanya
position: relativepada induk). Jika tidak ada, maka relatif terhadap<body>. Elemen absolute diambil dari alur normal dan dapat menumpuk (overlap) elemen lain. - fixed: Elemen nempel terhadap viewport (layar), sehingga tidak bergerak saat halaman di-scroll. Kotak ini juga diambil dari alur normal dan tidak menyisakan ruang di layout.
- sticky: Kombinasi
relativedanfixed. Elemen ini akan ‘menempel’ di satu posisi ketika discroll. Misalnya, jika scroll mencapai posisinya, ia akan tetap di layar. (Catatan: Agar sticky bekerja, perlu setidaknya satu daritop,left,bottom,right.)
Contoh ringkas:
.relative-box { position: relative; top: 20px; left: 40px; background: coral; padding: 10px; } .fixed-box { position: fixed; top: 10px; right: 10px; background: black; color: white; padding: 10px; }
Dengan .relative-box, isi akan digeser 20px ke bawah dan 40px ke kanan dari posisi aslinya. Sedangkan .fixed-box akan selalu menempel di kanan atas layar dengan posisi 10px dari atas dan 10px dari kanan.
Flexbox Dasar
Flexbox (Flexible Box) adalah model layout satu dimensi yang memudahkan penyusunan elemen dalam satu baris atau kolom. Ini sangat berguna untuk membagi ruang secara dinamis dan meratakan elemen. Flexbox biasa dipakai saat menginginkan tata letak fleksibel dalam satu arah (horizontal atau vertikal) seperti navbar, card baris, dll.
- Aktifkan flex container dengan
display: flex. justify-contentmengatur posisi elemen di sumbu utama (baris), misalnyaflex-start,center,space-between, dll.align-itemsmengatur posisi elemen di sumbu silang (kolom), misalnyacenter,flex-end,stretch, dll.
Contoh:
.container { display: flex; justify-content: space-between; align-items: center; background: #f0f0f0; padding: 20px; } .item { background: lightblue; padding: 10px 20px; }
Dalam contoh di atas, .container menjadi flex container. Tiga elemen anak (.item) akan berada dalam satu baris dengan ruang terbagi antara mereka (space-between) dan disejajarkan di tengah vertikal. Hasilnya, kamu bisa dengan mudah membuat layout fleksibel, misalnya tiga kotak: kiri, tengah, dan kanan, seperti ini:
<div class="container"> <div class="item">Kiri</div> <div class="item">Tengah</div> <div class="item">Kanan</div> </div>
Flexbox adalah bagian penting dalam banyak Tutorial CSS karena model ini sangat memudahkan pembuatan layout linier.
Grid Layout Dasar
CSS Grid adalah metode layout dua dimensi yang lebih cocok untuk tata letak kompleks (baris dan kolom) seperti galeri, dashboard, atau layout tingkat lanjut. Berbeda dengan Flexbox yang satu dimensi, Grid Layout memungkinkan kontrol penuh atas baris dan kolom.
- Aktifkan grid container dengan
display: grid. - Atur kolom dengan
grid-template-columns(misalrepeat(3, 1fr)untuk 3 kolom sama lebar). - Atur jarak antar sel dengan
gap. - Kamu juga bisa menentukan baris (
grid-template-rows) dan area grid.
Contoh:
.grid-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .grid-item { background-color: #ddd; padding: 20px; text-align: center; }
Dengan kode di atas, .grid-container memiliki 3 kolom sama lebar dan ruang 10px antar item. Jika HTML-nya seperti berikut:
<div class="grid-container"> <div class="grid-item">1</div> <div class="grid-item">2</div> <div class="grid-item">3</div> <div class="grid-item">4</div> <div class="grid-item">5</div> <div class="grid-item">6</div> </div>
Maka hasilnya akan membentuk 2 baris dan 3 kolom (6 kotak) yang teratur. Grid memberikan kontrol kompleks yang kuat di CSS, dan umumnya ditampilkan dalam Tutorial CSS tingkat lanjut. Dengan grid, kita dapat mengatur berapa kolom/ baris yang diinginkan dan meletakkan item persis di baris/kolom tertentu.
Border dan Border-Radius
Property border memberi garis tepi pada elemen, sedangkan border-radius menghaluskan sudutnya. Contoh penggunaan:
.box { border: 2px solid #333; /* garis tepi 2px hitam */ padding: 20px; border-radius: 10px; /* sudut melengkung 10px */ background-color: #f5f5f5; }
<div class="box">Konten</div> di atas akan memiliki border hitam, padding 20px, dan sudut membulat 10px.
Shadow (Bayangan)
Bayangan menambah efek visual pada elemen. CSS menyediakan:
box-shadowuntuk bayangan pada elemen kotak. Format umum:box-shadow: offsetX offsetY blurRadius color;.text-shadowuntuk bayangan pada teks. Format:text-shadow: offsetX offsetY blurRadius color;.
Contoh:
.shadow-box { padding: 20px; background: white; box-shadow: 0 4px 8px rgba(0,0,0,0.2); text-shadow: 1px 1px 2px gray; }
Elemen dengan class .shadow-box akan memiliki bayangan lembut di bawahnya dan teks di dalamnya juga berbayang, sehingga tampak sedikit timbul.
Pseudo-Class dan Pseudo-Element
CSS pseudo-class dan pseudo-element digunakan untuk menargetkan keadaan atau bagian tertentu elemen.
-
Pseudo-class (dengan satu
:), seperti:hover,:focus,:active, digunakan untuk merubah gaya ketika elemen dalam keadaan tertentu. Misalnya,a:hover { color: red; }akan membuat link berubah merah saat kursor mouse mengarah (hover). Pseudo-class memungkinkan kita memberi gaya pada elemen berdasarkan status eksternal (misalnya:visiteduntuk link yang pernah dikunjungi). -
Pseudo-element (dengan dua
::), seperti::beforeatau::after, digunakan untuk membuat elemen semu di dalam elemen. Contohnyap::before { content: "👉 "; }akan menambahkan emoji panah sebelum teks paragraf. Salah satu contohnya,::beforemenciptakan pseudo-element sebagai anak pertama elemen yang dipilih – sering digunakan untuk menyisipkan konten dekoratif menggunakan properticontent. Misalnya:.alert::before { content: "⚠️ "; }Dengan aturan ini, setiap elemen dengan class
alertakan otomatis didahului simbol peringatan "⚠️".
Pseudo-class dan pseudo-element sangat berguna dalam Tutorial CSS, karena memungkinkan penyesuaian gaya yang dinamis atau tambahan konten tanpa menambah elemen HTML baru.
Z-Index dan Layering
Ketika elemen saling tumpang tindih (overlapping), properti z-index mengatur urutan lapisan (layer) tampilan. Hanya elemen yang memiliki posisi selain static yang mempengaruhi tumpukan ini. Nilai z-index berupa angka bulat (bisa negatif). Semakin besar nilai z-index, elemen tersebut akan berada di depan (lapisan atas). Secara default semua elemen ada di lapisan 0. Contoh ilustrasi:
.box1, .box2 { width: 100px; height: 100px; position: absolute; } .box1 { background: red; top: 30px; left: 30px; z-index: 1; } .box2 { background: blue; top: 50px; left: 50px; z-index: 2; }
Pada contoh, .box2 (biru) memiliki z-index: 2 yang lebih besar dari .box1 (merah) dengan z-index: 1, sehingga kotak biru akan tampil di atas kotak merah meski diposisikan sedikit berbeda. Dengan kata lain, properti z-index memindahkan elemen ke lapisan yang berbeda di sumbu z, sehingga yang memiliki nilai lebih tinggi akan terlihat menutupi yang lainnya.
Overflow dan Text Overflow
Properti overflow mengatur apa yang terjadi ketika konten elemen melebihi ukuran kotaknya. Nilainya bisa visible (default), hidden, scroll, atau auto. Contoh: overflow: hidden akan memotong konten yang meluber tanpa scroll. Sering dipadukan dengan text-overflow dan white-space untuk teks panjang. Misalnya:
.text { width: 200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid #000; padding: 10px; }
Aturan di atas membuat setiap teks yang terlalu panjang terpotong dengan “...” (ellipsis) di akhir. white-space: nowrap mencegah teks terbungkus ke baris baru, overflow: hidden menyembunyikan sisanya, dan text-overflow: ellipsis menampilkan tiga titik.
Responsive Design Dasar (Media Queries)
Dalam era perangkat beragam (HP, tablet, desktop), desain web harus responsif. CSS media queries memungkinkan kita menerapkan aturan khusus berdasarkan kondisi layar. Contoh umum: mengubah layout ketika lebar layar di bawah batas tertentu. Salah satu prinsip penting mobile-first adalah mendefinisikan gaya dasar (umum) lalu menambahkan media query untuk layar besar.
body { background: lightgreen; } @media (max-width: 600px) { body { background: lightcoral; } }
Di atas, jika lebar viewport ≤ 600px, background berubah menjadi coral. Hal ini memungkinkan kita membuat layout yang fleksibel untuk berbagai resolusi. Media query merupakan kunci dalam desain responsif karena kita dapat membuat tata letak berbeda bergantung ukuran layar. Sebagai bagian dari Tutorial CSS modern, topik media queries ini wajib dipahami untuk memastikan situs tampil optimal di desktop dan perangkat genggam.
Unit CSS
Unit dalam CSS terbagi menjadi absolut dan relatif:
- Absolut:
px(pixel) – nilai tetap. - Relatif:
%(persen dari elemen induk),em(relatif ke font-size elemen induk),rem(relatif ke font-size root/elemen<html>),vh/vw(viewport height/width, 1vh = 1% tinggi layar, 1vw = 1% lebar layar).
Contoh pemakaian unit relatif:
.box { width: 50vw; /* 50% dari lebar viewport */ height: 20vh; /* 20% dari tinggi viewport */ background: teal; color: white; padding: 1rem; /* 1 rem = 16px secara default */ }
Penggunaan rem dan em membantu membuat layout lebih fleksibel. Misalnya, em adalah ukuran relatif terhadap ukuran font elemen induk, sedangkan rem relatif ke font-size root. Unit viewport (vw, vh) sangat membantu saat kita ingin elemen responsif terhadap ukuran layar. Memahami perbedaan ini sangat penting agar desain kita konsisten di berbagai perangkat.
Transisi dan Animasi Dasar
CSS juga mendukung transisi dan animasi untuk memberi efek visual halus:
-
Transition: Efek transisi halus ketika properti berubah. Contoh:
.button { background: dodgerblue; color: white; padding: 10px 20px; border: none; transition: background 0.3s ease; } .button:hover { background: navy; }Saat kursor diarahkan ke
.button, warna latar berubah dari biru ke navy secara halus selama 0.3 detik. -
Animation: Membuat animasi kompleks dengan keyframes. Contoh:
@keyframes geser { from { transform: translateX(0); } to { transform: translateX(100px); } } .box { width: 100px; height: 100px; background: orange; animation: geser 2s infinite alternate; }Elemen
.boxdi atas akan bergerak ke kanan 100px lalu kembali berulang.
Kedua fitur ini menambah dinamika pada desain dan biasa dijelaskan di bagian lanjutan Tutorial CSS.
Properti Background
CSS juga menyediakan banyak opsi untuk mengatur latar belakang elemen. Kita bisa memberi warna latar saja, menggunakan gambar, atau membuat gradasi. Contoh gradasi:
.box { padding: 30px; background-image: linear-gradient(to right, #6dd5ed, #2193b0); color: white; }
Kode di atas memberi gradasi horizontal dari biru muda ke biru gelap pada latar .box. Properti background sangat fleksibel dan sering digunakan untuk efek visual menarik.
Cursor, Opacity, dan Visibility
Beberapa properti kecil tapi berguna:
- cursor: Mengubah bentuk kursor saat hover. Contohnya,
cursor: pointer;membuat kursor berubah saat di atas elemen interaktif. - opacity: Mengatur transparansi elemen (0 = transparan penuh, 1 = opaquest/solid). Contoh
opacity: 0.7;membuat elemen sedikit tembus pandang. - visibility: Mengontrol visibilitas tapi masih mengambil ruang.
visibility: hidden;menyembunyikan elemen tanpa menghapus ruangnya di layout (tidak sepertidisplay: none).
Contoh:
.button { cursor: pointer; opacity: 0.8; } .invisible { visibility: hidden; }
Elemen .button akan menampilkan kursor pointer saat di-hover dan sedikit transparan. Elemen .invisible akan hilang dari tampilan tapi kotak daftarnya tetap ada.
CSS Variables (Custom Properties)
Modern CSS mendukung variabel untuk mempermudah pengelolaan gaya. Variabel CSS disebut custom properties dan dideklarasikan dengan awalan --. Contohnya:
:root { --warna-utama: teal; --padding-standar: 20px; } .box { background: var(--warna-utama); color: white; padding: var(--padding-standar); }
Di sini, --warna-utama dan --padding-standar didefinisikan di :root agar dapat digunakan di seluruh dokumen. Properti var() digunakan untuk memanggil nilai variabel. Hal ini memudahkan perubahan tema atau pengaturan ulang ukuran secara konsisten. Misalnya, ubah saja nilai --warna-utama sekali, seluruh penggunaan var(--warna-utama) akan ikut berubah. Fitur ini banyak dibahas dalam Tutorial CSS karena membuat kode lebih modular dan mudah dipelihara.
Inheritance dan Specificity
Beberapa properti CSS secara default diturunkan dari elemen induk ke anak (inheritance), contohnya color, font-family. Artinya jika kamu set warna di <div> induk, teks paragraf di dalamnya ikut mewarisi warna itu kecuali ditentukan lain.
Sedangkan specificity menentukan aturan mana yang menang saat ada konflik selector. Prioritas umumnya: ID (#id) lebih tinggi dari class (.class), yang lebih tinggi dari tag (element). Jika sama jenisnya, maka yang muncul belakangan di stylesheet yang berlaku. Sebagai contoh:
#utama { color: red; } .text { color: blue; } h1 { color: green; }
Di HTML:
<h1 id="utama" class="text">Judul</h1>
Warna akhirnya merah karena selektor ID #utama (warna merah) memiliki spesifitas lebih tinggi daripada selektor class .text (biru) dan tag h1 (hijau). Hal ini penting untuk dipahami agar styling sesuai harapan.
Baca Juga: Mudah Mengatur Layout HTML dengan CSS Grid
Best Practice Penulisan CSS
Beberapa tips menulis CSS agar lebih baik:
- Gunakan class, minimalkan ID: Hindari terlalu banyak ID untuk styling karena spesifisitasnya tinggi dan sulit diubah. Pakailah class agar bisa dipakai ulang di banyak elemen.
- Modular & Terstruktur: Pisahkan stylesheet menjadi beberapa file jika perlu (misal
styles.css,responsive.css). Organisir kode dengan komentar. - Hindari
!important: Penggunaan!importantmembuat kode sulit dipelihara. Gunakan hanya jika benar-benar diperlukan (misalnya override library pihak ketiga). - Reset/Normalize: Gunakan CSS reset atau normalize.css agar tampilan dasar konsisten di berbagai browser.
- Eksternal CSS: Jangan menulis CSS langsung di HTML (inline) kecuali situasi terbatas. Lebih baik taruh di file
.csseksternal agar kode HTML tetap bersih.
Tools & Sumber Belajar CSS
Berikut beberapa sumber dan tools yang bermanfaat untuk belajar CSS:
- MDN Web Docs (Mozilla): Dokumentasi lengkap untuk tiap properti dan konsep CSS.
- CSS-Tricks: Artikel dan tutorial beragam, terutama untuk trik dan contoh praktis.
- CodePen: Tempat eksperimen kode CSS (dan HTML/JS) secara live. Banyak contoh inspiratif di sini.
- Can I use: Laman untuk mengecek dukungan browser terhadap fitur CSS tertentu.
- Flexbox Froggy & Grid Garden: Game interaktif seru untuk belajar Flexbox dan CSS Grid dengan cara yang menyenangkan.
Kesalahan Umum Pemula dalam CSS
Beberapa kesalahan sering terjadi oleh pemula:
- Terlalu sering
!important: Menggunakan!importanttanpa alasan, sehingga akhirnya banyak aturan bertabrakan. - Lupa Box Model: Tidak memahami box model membuat layout kacau (misal, berpikir
widthsudah termasuk padding/border). - Banyak ID untuk Styling: Mengandalkan ID untuk styling, yang membuat kode sulit dipakai ulang.
- Inkonstansi Unit: Campur-campur satuan (misal pixel dan rem) tanpa konsistensi, mengganggu desain responsif.
- Inline CSS: Menulis CSS di atribut
styledalam HTML, membuat kode berantakan dan susah di-maintain.
Memperhatikan prinsip-prinsip di atas serta berlatih secara konsisten akan membuat kamu menghindari jebakan ini.
Kesimpulan
Demikian penjelasan lengkap Tutorial CSS yang mencakup dasar-dasar penting bagi pemula. Mulai dari cara menghubungkan CSS dengan HTML, penggunaan selektor, properti warna, teks, hingga teknik layout seperti Flexbox dan Grid. Semua ini adalah fondasi yang wajib dikuasai oleh seorang frontend developer. Belajar CSS memang membutuhkan waktu dan latihan. Jangan ragu untuk mencobakan kode, bereksperimen, atau meniru desain sederhana. Semakin sering praktik, kamu akan makin cepat menguasai. Tutorial CSS: Dasar-Dasar yang Perlu Dipelajari Frontend Developer ini diharapkan menjadi pijakan awal yang kuat untuk perjalanan kamu mengembangkan tampilan web yang keren dan profesional.
Jangan lupa, di CodePolitan juga tersedia Kelas Fullstack. Ini adalah kelas online Fullstack Web Developer dari A sampai Z, cocok bagi kamu yang ingin karier cemerlang, menguasai semua skill front-end dan back-end (termasuk HTML, CSS, JavaScript, serta teknologi server seperti PHP atau Node.js). Pelajari lebih lanjut di situs CodePolitan dan asah kemampuanmu untuk membuat website atau aplikasi bisnis online sendiri.
Referensi:* MDN Web Docs*.
What do you think?
Reactions





