(+62) 8970 127 001 [email protected]
#JadilahGenerasiTeknologi
Beranda Artikel Detail
Programming

Saatnya Mempercantik Web: Mengenal CSS, Selector, Warna, Typography, dan Box Model

Diterbitkan14 Sep 2026
Statistik Pembaca3 dibaca
Saatnya Mempercantik Web: Mengenal CSS, Selector, Warna, Typography, dan Box Model

Pada Pertemuan 1 dan 2 kita sudah bisa membuat halaman HTML yang cukup lengkap. Kita sudah mengenal struktur halaman, semantic HTML, list, tabel, dan form. Namun ada satu masalah yang masih terlihat jelas: tampilannya masih polos.

Di Pertemuan 3 kita mulai mengenal CSS. CSS digunakan untuk mengatur tampilan halaman web, mulai dari warna, jenis huruf, ukuran teks, jarak, border, background, sampai bentuk sebuah card.

Materi tetap dibagi menjadi 5 bagian utama dan setiap bagian ditutup dengan praktik coding. Jadi mahasiswa tidak hanya melihat contoh, tetapi langsung mengubah tampilan halaman yang sudah dibuat.

Target Pembelajaran

Setelah menyelesaikan pertemuan ini, mahasiswa diharapkan mampu:

  • Memahami fungsi CSS dalam pengembangan website.
  • Membedakan inline CSS, internal CSS, dan external CSS.
  • Menghubungkan file HTML dengan file CSS.
  • Menggunakan selector element, class, dan id.
  • Memahami konsep dasar cascade dan prioritas sederhana.
  • Mengatur warna teks dan background.
  • Menggunakan satuan warna seperti nama warna, HEX, dan RGB.
  • Mengatur typography: font, ukuran teks, ketebalan, tinggi baris, dan perataan.
  • Memahami CSS Box Model.
  • Menggunakan margin, padding, border, width, dan height.
  • Membuat Profile Card sederhana sebagai mini project.

Materi 1 — Mengenal CSS dan Cara Menghubungkannya ke HTML

CSS merupakan singkatan dari Cascading Style Sheets. Jika HTML digunakan untuk membentuk struktur, maka CSS digunakan untuk mengatur bagaimana struktur tersebut terlihat.

Kita bisa memakai analogi sederhana:

  • HTML = kerangka bangunan.
  • CSS = cat, ukuran ruangan, dekorasi, jarak, dan tampilan.

Tanpa CSS, halaman tetap bisa digunakan, tetapi tampilannya sangat sederhana.

Tiga Cara Menulis CSS

1. Inline CSS — CSS ditulis langsung pada elemen HTML.

Contoh Inline CSS
<h1 style="color: blue;">
    Belajar CSS
</h1>

Inline CSS cocok untuk contoh sangat kecil, tetapi kurang baik jika digunakan terlalu banyak karena kode HTML menjadi sulit dirawat.

2. Internal CSS — CSS ditulis di dalam elemen <style> pada bagian head.

Contoh Internal CSS
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Belajar CSS</title>

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

    <h1>Belajar CSS</h1>

</body>
</html>

Internal CSS lebih rapi dibanding inline CSS, tetapi masih berada di file HTML yang sama.

3. External CSS — CSS dipisahkan ke file sendiri. Cara ini paling cocok untuk project yang mulai berkembang.

Buat struktur project seperti berikut:

Struktur Folder Project
pertemuan-03/
|
+-- index.html
|
+-- css/
    |
    +-- style.css

Di dalam file index.html, hubungkan file CSS menggunakan:

Menghubungkan HTML ke CSS
<link rel="stylesheet" href="css/style.css">

Elemen link biasanya ditempatkan di dalam head.

  • rel="stylesheet" memberi tahu browser bahwa file tersebut adalah stylesheet.
  • href="css/style.css" menunjukkan lokasi file CSS.

Coding 1 — CSS Pertama Kita

Buat file index.html:

index.html
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>CSS Pertama Saya</title>

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

    <h1>Selamat Datang</h1>

    <p>
        Ini adalah halaman HTML pertama saya yang menggunakan CSS.
    </p>

</body>
</html>
css/style.css
color:#800000;">body{
    background-color: #f4f4f4;
}

color:#800000;">h1{
    color: #1d4ed8;
}

color:#800000;">p{
    color: #374151;
}
Jika CSS Tidak Terbaca
Jika tampilan tidak berubah, periksa kembali lokasi file style.css dan nilai href pada elemen link.

Target Coding 1: mahasiswa berhasil menghubungkan file HTML dengan file CSS eksternal dan melihat perubahan tampilan di browser.

Materi 2 — Memahami Selector: Element, Class, dan ID

CSS perlu mengetahui elemen mana yang ingin diubah. Untuk itu kita menggunakan selector.

1. Element Selector

Selector ini langsung menggunakan nama tag HTML.

Element Selector
color:#800000;">h1{
    color: red;
}

color:#800000;">p{
    color: gray;
}

Semua elemen h1 akan terkena aturan pertama, dan semua elemen p akan terkena aturan kedua.

2. Class Selector

Class digunakan ketika kita ingin memberikan style yang sama pada beberapa elemen tertentu.

HTML dengan Class
<p class="info">
    Informasi pertama.
</p>

<p class="info">
    Informasi kedua.
</p>
CSS untuk Class
color:#800000;">.info{
    color: #2563eb;
    font-weight: bold;
}

Tanda titik . digunakan untuk memanggil class.

3. ID Selector

ID biasanya digunakan untuk satu elemen yang memiliki identitas khusus.

HTML dengan ID
<h1 id="judul-utama">
    Profil Mahasiswa
</h1>
CSS untuk ID
color:#800000;">#judul-utama{
    color: #7c3aed;
}

Tanda pagar # digunakan untuk memanggil ID.

Perbedaan Sederhana Class dan ID

Jenis Contoh HTML Contoh CSS Penggunaan Umum
Element <p> p { } Semua elemen sejenis
Class class="card" .card { } Dapat digunakan berulang
ID id="judul" #judul { } Identitas khusus satu elemen

Cascade secara Sederhana

Kata Cascading pada CSS berarti aturan style dapat saling bertemu dan browser perlu menentukan aturan mana yang dipakai. Untuk tahap awal, cukup pahami bahwa selector yang lebih spesifik biasanya memiliki prioritas lebih tinggi.

Contoh Prioritas Sederhana
color:#800000;">p{
    color: black;
}

color:#800000;">.info{
    color: blue;
}

color:#800000;">#pesan-penting{
    color: red;
}

Jika satu paragraf memiliki class info dan ID pesan-penting, maka aturan ID biasanya lebih kuat.

Coding 2 — Membuat Bagian Informasi dengan Class dan ID

HTML
<section class="profil">
    <h1 id="judul-utama">
        Profil Mahasiswa
    </h1>

    <p class="info">
        Nama: Andi Saputra
    </p>

    <p class="info">
        Program Studi: Teknik Informatika
    </p>

    <p class="pesan">
        Selamat datang di halaman profil.
    </p>
</section>
CSS
color:#800000;">#judul-utama{
    color: #1d4ed8;
}

color:#800000;">.info{
    color: #374151;
    font-weight: bold;
}

color:#800000;">.pesan{
    color: #047857;
}
Kebiasaan Baik
Gunakan class untuk style yang mungkin dipakai berulang. Gunakan ID jika memang elemennya memiliki identitas khusus. Jangan membuat semua elemen memakai ID hanya karena bisa.

Target Coding 2: mahasiswa mampu memilih selector yang tepat dan memahami perbedaan element, class, dan ID.

Materi 3 — Mengatur Warna dan Typography

Setelah selector dipahami, kita mulai mengatur tampilan teks dan warna.

Mengatur Warna Teks

Warna Teks
color:#800000;">h1{
    color: blue;
}

Mengatur Background

Warna Background
color:#800000;">body{
    background-color: #f3f4f6;
}

Cara Menulis Warna

CSS mendukung beberapa cara untuk menulis warna.

Nama Warna
color:#800000;">h1{
    color: blue;
}
HEX
color:#800000;">h1{
    color: #2563eb;
}
RGB
color:#800000;">h1{
    color: rgb(37, 99, 235);
}

Di project nyata, format HEX dan RGB sering digunakan karena memberikan pilihan warna yang lebih luas.

Typography

Typography membahas tampilan teks. Beberapa property yang sering dipakai:

  • font-family — jenis huruf.
  • font-size — ukuran huruf.
  • font-weight — ketebalan huruf.
  • line-height — jarak antarbaris.
  • text-align — posisi teks.
Contoh Typography
color:#800000;">body{
    font-family: Arial, sans-serif;
}

color:#800000;">h1{
    font-size: 32px;
    font-weight: 700;
    text-align: center;
}

color:#800000;">p{
    font-size: 16px;
    line-height: 1.7;
}

Coding 3 — Membuat Profil Lebih Nyaman Dibaca

HTML
<section class="profil">
    <h1>Profil Mahasiswa</h1>

    <p class="subjudul">
        Mahasiswa Teknik Informatika
    </p>

    <p>
        Saya sedang mempelajari HTML dan CSS
        untuk membangun tampilan website yang
        lebih rapi dan mudah digunakan.
    </p>
</section>
CSS
color:#800000;">body{
    font-family: Arial, sans-serif;
    background-color: #f3f4f6;
    color: #1f2937;
}

color:#800000;">.profil h1{
    color: #1d4ed8;
    font-size: 32px;
    text-align: center;
}

color:#800000;">.subjudul{
    color: #6b7280;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

color:#800000;">.profil p{
    font-size: 16px;
    line-height: 1.7;
}
Prinsip Desain Dasar
Jangan terlalu banyak menggunakan jenis font dan warna dalam satu halaman. Tampilan yang sederhana dan konsisten biasanya lebih mudah dibaca.

Target Coding 3: mahasiswa mampu mengatur warna dan typography agar halaman lebih nyaman dibaca.

Materi 4 — Memahami CSS Box Model

Hampir semua elemen HTML dapat dibayangkan sebagai sebuah kotak. CSS menyebut konsep ini sebagai Box Model.

Susunannya adalah:

Ilustrasi CSS Box Model
Margin
|
+-- Border
    |
    +-- Padding
        |
        +-- Content

Mari kita pahami satu per satu:

  • Content — isi elemen, misalnya teks atau gambar.
  • Padding — jarak antara content dan border.
  • Border — garis di sekeliling elemen.
  • Margin — jarak antara elemen dengan elemen lain.

Width dan Height

Mengatur Ukuran
color:#800000;">.card{
    width: 320px;
    min-height: 200px;
}

Padding

Mengatur Padding
color:#800000;">.card{
    padding: 20px;
}

Border

Mengatur Border
color:#800000;">.card{
    border: 1px solid #d1d5db;
}

Margin

Mengatur Margin
color:#800000;">.card{
    margin: 30px auto;
}

Nilai auto pada kiri dan kanan sering digunakan untuk membantu meletakkan elemen di tengah jika lebarnya sudah ditentukan.

Border Radius

Membuat Sudut Membulat
color:#800000;">.card{
    border-radius: 12px;
}

Box Shadow

Membuat Bayangan
color:#800000;">.card{
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.10);
}

box-sizing

Property box-sizing: border-box; sangat berguna agar width lebih mudah dikontrol karena padding dan border ikut dihitung ke dalam ukuran elemen.

Menggunakan border-box
color:#800000;">*{
    box-sizing: border-box;
}

Coding 4 — Membuat Card Sederhana

HTML Card
<div class="card">
    <h2>Andi Saputra</h2>

    <p>
        Teknik Informatika
    </p>

    <p>
        Sedang mempelajari Web Development.
    </p>
</div>
CSS Card
color:#800000;">*{
    box-sizing: border-box;
}

color:#800000;">body{
    font-family: Arial, sans-serif;
    background-color: #f3f4f6;
}

color:#800000;">.card{
    width: 320px;
    padding: 24px;
    margin: 40px auto;

    background-color: white;

    border: 1px solid #d1d5db;
    border-radius: 12px;

    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.10);
}

color:#800000;">.card h2{
    margin-top: 0;
    color: #1d4ed8;
}

Target Coding 4: mahasiswa memahami hubungan margin, border, padding, dan content serta mampu membuat card sederhana.

Materi 5 — Mini Project: Profile Card Mahasiswa

Pada bagian terakhir kita akan menggabungkan semua materi hari ini:

  • External CSS.
  • Selector.
  • Class dan ID.
  • Warna.
  • Typography.
  • Background.
  • Box Model.
  • Border radius.
  • Box shadow.

Kita akan membuat Profile Card Mahasiswa dari halaman yang sebelumnya masih polos.

Struktur Project

Struktur Folder
profile-card/
|
+-- index.html
|
+-- css/
|   |
|   +-- style.css
|
+-- images/
    |
    +-- profil.jpg

Coding 5 — Profile Card Mahasiswa Lengkap

index.html
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Profile Card Mahasiswa</title>

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

    <main class="container">

        <section class="profile-card">

            <img
                class="profile-photo"
                src="images/profil.jpg"
                alt="Foto profil mahasiswa"
            >

            <h1 id="nama-mahasiswa">
                Andi Saputra
            </h1>

            <p class="program-studi">
                Teknik Informatika
            </p>

            <hr>

            <p class="deskripsi">
                Saya sedang mempelajari HTML dan CSS
                sebagai dasar untuk membangun aplikasi web.
            </p>

            <p class="skill">
                HTML • CSS • Web Development
            </p>

            <a
                class="profile-link"
                href="https://github.com/"
                target="_blank"
                rel="noopener noreferrer"
            >
                Lihat GitHub
            </a>

        </section>

    </main>

</body>
</html>
css/style.css
color:#800000;">*{
    box-sizing: border-box;
}

color:#800000;">body{
    margin: 0;

    font-family: Arial, sans-serif;

    background-color: #f3f4f6;

    color: #1f2937;
}

color:#800000;">.container{
    width: 100%;
    padding: 40px 20px;
}

color:#800000;">.profile-card{
    width: 360px;
    max-width: 100%;

    margin: 0 auto;
    padding: 28px;

    background-color: #ffffff;

    border: 1px solid #d1d5db;
    border-radius: 16px;

    text-align: center;

    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);
}

color:#800000;">.profile-photo{
    width: 120px;
    height: 120px;

    border-radius: 50%;
}

color:#800000;">#nama-mahasiswa{
    margin-top: 18px;
    margin-bottom: 6px;

    color: #1d4ed8;

    font-size: 28px;
}

color:#800000;">.program-studi{
    margin-top: 0;

    color: #6b7280;

    font-size: 16px;
    font-weight: bold;
}

color:#800000;">.profile-card hr{
    margin: 22px 0;

    border: 0;
    border-top: 1px solid #e5e7eb;
}

color:#800000;">.deskripsi{
    font-size: 15px;
    line-height: 1.7;
}

color:#800000;">.skill{
    color: #047857;

    font-size: 14px;
    font-weight: bold;
}

color:#800000;">.profile-link{
    display: inline-block;

    margin-top: 12px;
    padding: 10px 18px;

    background-color: #1d4ed8;
    color: white;

    text-decoration: none;

    border-radius: 8px;
}

Yang Perlu Diperhatikan

Pada bagian ini kita mulai melihat bahwa HTML dan CSS memiliki tugas yang berbeda. HTML tetap berisi informasi dan struktur. CSS menangani tampilan.

Misalnya:

  • class="profile-card" berada di HTML.
  • .profile-card { ... } berada di CSS.

Keduanya terhubung melalui nama class yang sama.

Belajar CSS dengan Eksperimen
Jika ada property CSS yang belum sepenuhnya dipahami, jangan hanya menghafalnya. Ubah nilainya lalu refresh browser. Misalnya ubah padding: 28px menjadi padding: 5px dan lihat perbedaannya.

Target Coding 5: mahasiswa mampu membuat Profile Card sederhana dengan HTML dan CSS yang dipisahkan ke file berbeda.

Debugging Challenge

Perhatikan kode berikut. Halamannya mungkin tidak tampil sesuai harapan. Temukan kesalahannya lalu perbaiki.

HTML yang Diberikan
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Profile Card</title>

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

    <div class="card">
        <h1 id="nama">Andi Saputra</h1>
        <p class="prodi">Teknik Informatika</p>
    </div>

</body>
</html>
CSS yang Bermasalah
color:#800000;">body{
    background-colour: #f3f4f6;
}

color:#800000;">card{
    width: 300px;
    padding 20px;
    margin: 30px auto;
    background-color: white;
}

color:#800000;">#Nama{
    color: blue;
}

color:#800000;">.prodi{
    font-size: 16;
}

Periksa beberapa hal berikut:

  1. Apakah lokasi file CSS sudah sesuai dengan struktur folder?
  2. Apakah property background-color ditulis dengan benar?
  3. Apakah selector class membutuhkan tanda titik?
  4. Apakah property padding memiliki tanda titik dua?
  5. Apakah ID nama sama persis dengan selector yang digunakan?
  6. Apakah font-size menggunakan satuan?

Salah Satu Versi Perbaikannya

CSS Setelah Diperbaiki
color:#800000;">body{
    background-color: #f3f4f6;
}

color:#800000;">.card{
    width: 300px;
    padding: 20px;
    margin: 30px auto;
    background-color: white;
}

color:#800000;">#nama{
    color: blue;
}

color:#800000;">.prodi{
    font-size: 16px;
}

Challenge Pertemuan 3

Buat sebuah Kartu Profil Developer menggunakan data Anda sendiri. Jangan menyalin seluruh desain contoh. Gunakan kreativitas masing-masing.

Minimal memiliki:

  • Foto profil.
  • Nama.
  • Program studi.
  • Deskripsi singkat.
  • Minimal tiga skill.
  • Satu link menuju GitHub, LinkedIn, atau portfolio.

CSS minimal menggunakan:

  • External CSS.
  • Element selector.
  • Class selector.
  • Minimal satu ID selector.
  • color.
  • background-color.
  • font-family.
  • font-size.
  • font-weight.
  • padding.
  • margin.
  • border.
  • border-radius.
  • box-shadow.

Tidak perlu menggunakan Flexbox atau Grid dulu. Materi layout modern akan dibahas pada Pertemuan 4.

Evaluasi Pemahaman

  1. Apa fungsi CSS dalam pengembangan website?
  2. Apa perbedaan HTML dan CSS?
  3. Apa perbedaan inline CSS, internal CSS, dan external CSS?
  4. Mengapa external CSS lebih cocok untuk project yang mulai besar?
  5. Apa fungsi elemen link pada HTML?
  6. Apa yang dimaksud dengan selector?
  7. Apa perbedaan element selector, class selector, dan ID selector?
  8. Simbol apa yang digunakan untuk class selector?
  9. Simbol apa yang digunakan untuk ID selector?
  10. Apa fungsi property color?
  11. Apa fungsi background-color?
  12. Sebutkan tiga cara menulis warna pada CSS.
  13. Apa fungsi font-family?
  14. Apa fungsi font-size?
  15. Apa fungsi font-weight?
  16. Apa fungsi line-height?
  17. Apa yang dimaksud CSS Box Model?
  18. Apa perbedaan margin dan padding?
  19. Apa fungsi border?
  20. Mengapa box-sizing: border-box; sering digunakan?

Checklist Kompetensi Pertemuan 3

Sebelum melanjutkan ke Pertemuan 4, mahasiswa seharusnya sudah mampu:

  • Membuat file CSS terpisah.
  • Menghubungkan HTML dengan external CSS.
  • Menggunakan element selector.
  • Menggunakan class selector.
  • Menggunakan ID selector.
  • Mengatur warna teks dan background.
  • Menggunakan warna HEX.
  • Mengatur font-family.
  • Mengatur ukuran dan ketebalan teks.
  • Mengatur line-height dan text-align.
  • Memahami content, padding, border, dan margin.
  • Mengatur width.
  • Menggunakan border-radius.
  • Menggunakan box-shadow.
  • Membuat Profile Card sederhana.

Rangkuman Pertemuan 3

Di Pertemuan 3 kita mulai memisahkan struktur dan tampilan. HTML tetap bertugas membentuk konten, sedangkan CSS membuat tampilan menjadi lebih rapi dan menarik.

Lima praktik yang sudah dilakukan:

  1. Coding 1: menghubungkan HTML dengan external CSS.
  2. Coding 2: menggunakan element, class, dan ID selector.
  3. Coding 3: mengatur warna dan typography.
  4. Coding 4: memahami Box Model dan membuat card sederhana.
  5. Coding 5: membuat Profile Card Mahasiswa.

Perkembangan kemampuan kita sekarang:

Perkembangan Kompetensi
Pertemuan 1
HTML Dasar
    |
    v
Pertemuan 2
Semantic HTML, List, Table, Form
    |
    v
Pertemuan 3
CSS Dasar
    |
    +-- Selector
    +-- Warna
    +-- Typography
    +-- Box Model
    |
    v
Profile Card Mahasiswa

Menuju Pertemuan 4

Saat ini kita sudah bisa membuat sebuah card yang terlihat rapi. Namun bagaimana jika kita ingin membuat beberapa card berjajar? Bagaimana membuat navbar horizontal? Bagaimana membuat dua kolom? Bagaimana supaya tampilan tetap nyaman ketika dibuka dari smartphone?

Untuk menjawab pertanyaan tersebut, pada pertemuan berikutnya kita akan masuk ke:

Pertemuan 4 — Membangun Layout Web Modern: Flexbox, Navbar, Card, dan Responsive Design