Back to blog
Frontend

Memahami CSS Pseudo-Elements (::before dan ::after) untuk Desain Bersih

Kamu melihat sebuah ikon keren atau garis dekorasi di desain, tapi anehnya elemen tersebut tidak ada di dalam file HTML. Bagaimana CSS melakukannya?

super admin·19 Juni 2026·2 min read
Memahami CSS Pseudo-Elements (::before dan ::after) untuk Desain Bersih
Article Content

Sihir Menciptakan Elemen dari Ketiadaan

Sebagai *Frontend Developer*, tujuan utamamu adalah menjaga file index.html agar tetap bersih (Semantic). Jika kamu ingin menambahkan elemen dekoratif murni (seperti garis bawah tebal pada judul, ikon kecil di sebelah teks, atau overlay hitam pada gambar), SANGAT DILARANG membuat tag

atau kosong di dalam HTML hanya untuk diwarnai.

Untuk kasus dekorasi tersebut, CSS menyediakan alat sakti bernama Pseudo-elements (Elemen Semu).

Cara Kerja ::before dan ::after

Sesuai namanya, pseudo-elements bertugas menyuntikkan (membuat) "Anak Elemen Virtual" persis di dalam sebuah elemen HTML nyata, tepat sebelum kontennya (::before) atau tepat setelah kontennya (::after).

Aturan Mutlak: Pseudo-elements TIDAK AKAN MUNCUL DI LAYAR jika kamu tidak memberikan properti content di CSS, meskipun isinya hanya tanda kutip kosong!

/* 1. Elemen Utama (Induk) */
.judul-keren {
  position: relative;
  font-size: 24px;
}

/* 2. Menyuntikkan elemen dekorasi SETELAH teks judul */
.judul-keren::after {
  content: ""; /* WAJIB ADA! */
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 50px;
  height: 4px;
  background-color: blue;
}

Kode di atas akan membuat garis bawah berwarna biru tebal di bawah .judul-keren tanpa harus mengotori kode HTML dengan elemen tambahan!

Trik Menambahkan Ikon Teks

Selain dekorasi balok/garis, kamu juga bisa menggunakan content untuk menyisipkan teks atau ikon (Emoji) secara otomatis ke setiap elemen tertentu.

/* Otomatis menambahkan panah di sebelah setiap link khusus */
.link-eksternal::after {
  content: " \2192"; /* Kode unicode untuk tanda panah (→) */
  color: red;
}

Kenapa Harus Pakai Ini?

  1. HTML Tetap Bersih: Screen Reader (aplikasi tunanetra) biasanya mengabaikan elemen semu ini, sehingga mereka tidak terganggu oleh dekorasi visual.
  2. Kode yang Modular: Kamu bisa mendesain efek Hover (seperti tombol yang memiliki garis bawah meluncur dari kiri ke kanan) sepenuhnya melalui CSS murni tanpa manipulasi DOM JavaScript yang membebani browser.

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates