navigasi pertemuan

berlangsung | pertemuan 12


















Targetkan elemen tepat setelah sibling sejenis pada HTML dengan adjacent sibling CSS

profile null user avater image
null
13 min red
September 22, 2025
Targetkan elemen tepat setelah sibling sejenis pada HTML dengan adjacent sibling CSS

Adjacent sibling selector pada CSS adalah teknik untuk memilih elemen yang muncul tepat setelah elemen tertentu dalam hierarki HTML (Meyer, 2017). Selector ini menggunakan simbol + untuk menandai hubungan antar elemen yang berdekatan. Dengan memahami selector ini, desainer web dapat memberikan gaya spesifik hanya pada elemen yang berada tepat setelah elemen tertentu. Potensi penggunaannya cukup luas, termasuk mengatur margin, warna, atau tampilan teks pada elemen berikutnya. Selector ini berbeda dengan general sibling selector yang memilih semua elemen saudara setelah elemen acuan. Penerapan yang tepat membantu meminimalkan penggunaan class tambahan. Dengan demikian, CSS menjadi lebih efisien dan terstruktur.

Penggunaan adjacent sibling selector juga mendukung prinsip desain modular (Robbins, 2018). Dalam proyek besar, penggunaan selector ini mengurangi kebutuhan penamaan class atau id yang berlebihan. Selector ini hanya menarget elemen yang relevan sehingga memudahkan perawatan kode. Hal ini penting untuk menjaga konsistensi tampilan antar halaman web. Selain itu, selector ini membantu menjaga keterbacaan kode CSS bagi tim pengembang. Dengan struktur yang baik, debugging menjadi lebih mudah dan cepat. Penggunaan adjacent sibling selector dapat meningkatkan efisiensi styling.

Keunggulan lain dari adjacent sibling selector adalah kemampuannya mengurangi redundansi CSS. Alih-alih memberikan style pada banyak elemen dengan class berbeda, selector ini menarget elemen secara spesifik. Pendekatan ini membuat file CSS lebih ringkas dan mudah dibaca. Hal ini juga memudahkan pengembang baru untuk memahami struktur gaya pada halaman. Selain itu, selector ini kompatibel dengan hampir semua browser modern. Oleh karena itu, penggunaannya aman untuk proyek web skala besar. Efisiensi ini membuat adjacent sibling selector populer di kalangan front-end developer.

Selain itu, adjacent sibling selector memungkinkan desain responsif yang lebih fleksibel (Keith, 2010). Dalam beberapa kasus, elemen berikutnya dapat memiliki tampilan berbeda tergantung posisi elemen sebelumnya. Dengan selector ini, desainer tidak perlu menambahkan class tambahan atau JavaScript. Hal ini mempercepat pengembangan dan meminimalkan beban file. Penerapan selector ini juga mendukung prinsip DRY (Don’t Repeat Yourself). Desain menjadi lebih konsisten dan mudah dipelihara. Oleh karena itu, pemahaman selector ini penting bagi setiap pengembang web modern.


Kenapa Penting

Memilih Elemen Secara Spesifik

Adjacent sibling selector memungkinkan pengembang menarget elemen tertentu secara tepat tanpa class tambahan (Meyer, 2017). Hal ini penting untuk mengurangi redundansi kode dan menjaga CSS tetap bersih. Dengan selector ini, style hanya diterapkan pada elemen yang langsung mengikuti elemen acuan. Kesalahan umum adalah menggunakan class berlebihan untuk tujuan yang sama, sehingga membuat kode lebih panjang. Penggunaan selector ini membantu membuat file CSS lebih ringkas dan mudah dibaca. Selector ini juga meningkatkan konsistensi tampilan antar halaman web. Penerapan yang tepat memudahkan perawatan kode di masa depan.

Meningkatkan Efisiensi Styling

Penggunaan adjacent sibling selector mengurangi kebutuhan untuk menambahkan ID atau class yang berbeda pada setiap elemen (Robbins, 2018). Hal ini membuat proses styling lebih cepat dan efisien. Developer dapat menarget elemen secara langsung berdasarkan hubungan posisi dalam DOM. Selector ini juga mempermudah perubahan tampilan elemen tertentu tanpa memengaruhi elemen lain. Dengan demikian, waktu pengembangan dapat lebih singkat. CSS yang efisien juga membantu performa website tetap optimal. Penerapan yang tepat meminimalkan konflik gaya antara elemen.

Mendukung Desain Modular

Selector ini mendukung prinsip desain modular, di mana setiap elemen dapat diberi style berdasarkan konteksnya (Keith, 2010). Hal ini memudahkan pembuatan komponen reusable tanpa menambahkan class tambahan. Dengan adjacent sibling selector, elemen yang sama bisa memiliki style berbeda tergantung elemen sebelumnya. Pendekatan ini mempermudah tim front-end dalam menjaga konsistensi tampilan. Kesalahan umum adalah menarget elemen secara global yang membuat desain kurang fleksibel. Dengan modular styling, perubahan kecil dapat diterapkan tanpa memengaruhi seluruh halaman. Selector ini meningkatkan skalabilitas desain web.

Mengurangi Kebutuhan JavaScript

Dalam beberapa kasus, adjacent sibling selector dapat menggantikan penggunaan JavaScript untuk efek visual sederhana (Meyer, 2017). Misalnya, menyorot elemen berikutnya saat elemen tertentu di-hover. Hal ini membuat halaman lebih ringan karena tidak perlu menambahkan script tambahan. Penggunaan CSS murni juga meningkatkan kompatibilitas lintas browser. Developer dapat meminimalkan potensi bug yang sering muncul dari kode JavaScript. Selain itu, pemeliharaan kode menjadi lebih mudah dan cepat. Dengan demikian, selector ini membantu menjaga performa website tetap optimal.


Konsep Dasar

Adjacent sibling selector menggunakan simbol + untuk menarget elemen yang langsung mengikuti elemen tertentu dalam DOM (Meyer, 2017). Misalnya, jika kita ingin memberikan warna latar khusus pada paragraf yang muncul setelah heading, kita bisa menggunakan selector ini. Contoh:

h2 + p {
  color: blue;
}

Kode di atas hanya akan menarget paragraf pertama setelah setiap <h2>, bukan semua paragraf. Konsep ini membantu mengurangi penggunaan class tambahan dan membuat CSS lebih ringkas. Selector ini berbeda dengan general sibling selector (~) yang menarget semua elemen saudara setelah elemen acuan. Pemahaman dasar ini penting untuk menerapkan gaya yang spesifik dan efisien.

Selector ini mengandalkan struktur dokumen HTML, sehingga posisi elemen menentukan apakah selector bekerja (Robbins, 2018). Jika elemen yang ditarget tidak langsung mengikuti elemen acuan, style tidak akan diterapkan. Hal ini menekankan pentingnya memahami hierarki DOM. Misalnya, jika ada elemen lain di antara heading dan paragraf, selector tidak akan menarget paragraf tersebut. Dengan demikian, adjacent sibling selector sangat sensitif terhadap struktur HTML. Penerapan yang tepat memerlukan penataan DOM yang rapi dan terstruktur. Selector ini ideal untuk desain modular dan efisien.

Selain itu, adjacent sibling selector dapat digunakan untuk efek visual dinamis sederhana. Misalnya, menambahkan margin atau border pada elemen berikutnya saat elemen sebelumnya memiliki kondisi tertentu. Contoh:

button + span {
  margin-left: 10px;
}

Kode ini memberi jarak hanya pada span yang tepat setelah tombol. Pendekatan ini lebih efisien dibandingkan menambahkan class pada setiap span. Dengan memahami konsep dasar ini, pengembang dapat menghemat kode CSS. Selector ini mendukung prinsip DRY (Don’t Repeat Yourself) dalam styling web. Implementasi yang tepat meningkatkan keterbacaan kode.

Selector ini kompatibel dengan semua browser modern dan mudah diintegrasikan ke proyek yang sudah ada (Keith, 2010). Namun, penggunaannya harus memperhatikan keteraturan elemen dalam DOM. Selector ini ideal untuk menarget elemen statis dan konten yang tidak berubah secara dinamis. Pemahaman konsep dasar memungkinkan pengembang merancang layout yang fleksibel dan terstruktur. Selector ini juga mendukung styling berbasis konteks elemen. Dengan penerapan yang benar, adjacent sibling selector meningkatkan efisiensi dan kualitas desain.


Jenis dan Contoh

Menarget Paragraf Setelah Heading

Adjacent sibling selector sering digunakan untuk menarget paragraf yang muncul tepat setelah heading (Meyer, 2017). Contoh:

h2 + p {
  font-size: 16px;
  color: darkgreen;
}

Kode ini hanya akan menarget paragraf pertama setelah setiap <h2>. Paragraf lain setelah heading kedua atau elemen lain tidak akan terpengaruh. Praktik ini membantu menjaga konsistensi tipografi pada konten. Kesalahan umum adalah menarget semua paragraf secara global, sehingga gaya menjadi tidak spesifik. Dengan selector ini, hanya paragraf yang relevan yang mendapatkan style. Pendekatan ini membuat CSS lebih ringkas dan mudah dipelihara.

Menarget List Setelah Heading

Selector ini juga efektif untuk menata daftar yang langsung mengikuti heading (Robbins, 2018). Contoh:

h3 + ul {
  margin-top: 10px;
  list-style-type: square;
}

Hanya <ul> yang tepat setelah <h3> yang akan mendapatkan style. Hal ini membantu menghindari konflik dengan daftar lain di halaman. Selector ini memberikan fleksibilitas dalam menyesuaikan tampilan daftar berbasis konteks. Kesalahan umum adalah menggunakan class tambahan yang tidak perlu pada setiap daftar. Pendekatan ini membuat layout lebih modular. CSS tetap bersih dan terstruktur.

Menarget Gambar Setelah Paragraf

Adjacent sibling selector juga dapat digunakan untuk menata gambar yang muncul setelah paragraf (Keith, 2010). Contoh:

p + img {
  border: 2px solid #ccc;
  padding: 5px;
}

Hanya gambar yang langsung mengikuti paragraf yang mendapatkan border dan padding. Hal ini membantu menyorot gambar yang terkait langsung dengan konten teks. Selector ini mengurangi kebutuhan menambahkan class pada setiap gambar. Dengan pendekatan ini, style lebih spesifik dan konteks tetap jelas. Praktik ini mempermudah pemeliharaan halaman web. CSS menjadi lebih efisien tanpa menurunkan fleksibilitas.

Menarget Tombol Setelah Label

Penggunaan selector juga umum untuk form atau elemen interaktif (Meyer, 2017). Contoh:

label + button {
  background-color: #007bff;
  color: white;
}

Hanya tombol yang langsung mengikuti label yang mendapatkan warna dan style. Hal ini penting untuk form yang terstruktur agar tampilan tetap konsisten. Selector ini mengurangi kebutuhan menambahkan class pada setiap tombol. Pendekatan ini memudahkan tim front-end menjaga konsistensi desain. CSS menjadi lebih modular dan mudah diperbarui. Selector ini mendukung prinsip DRY.

Menarget Input Setelah Paragraph

Dalam form, adjacent sibling selector bisa menarget input setelah teks atau paragraf penjelas (Robbins, 2018). Contoh:

p + input {
  border: 1px solid #999;
  padding: 5px;
}

Hanya input yang langsung setelah paragraf mendapatkan style. Hal ini membantu memperjelas hubungan antara label teks dan input. Selector ini mengurangi kebutuhan class tambahan. Pendekatan ini menjaga CSS tetap ringkas dan efisien. Dengan selector ini, form lebih mudah dibaca dan dikelola. Implementasi ini mendukung desain yang bersih dan profesional.


Implementasi dari Setiap Contoh

Paragraf Setelah Heading

Selector h2 + p dapat digunakan untuk menambahkan jarak dan warna teks pada paragraf yang langsung mengikuti heading. Contoh implementasi:

h2 + p {
  margin-top: 15px;
  color: darkblue;
  font-weight: bold;
}

Kode ini memastikan hanya paragraf pertama setelah <h2> yang terpengaruh, menjaga konsistensi tipografi. Hal ini berguna pada artikel atau blog untuk menyorot paragraf pembuka. Implementasi yang tepat mengurangi kebutuhan class tambahan pada paragraf. Selector ini mempermudah perawatan CSS dalam proyek besar. Dengan demikian, kode tetap bersih dan efisien.

Daftar Setelah Heading

Untuk daftar yang langsung setelah heading, selector h3 + ul dapat menambahkan style tanpa mengubah daftar lain. Contoh:

h3 + ul {
  padding-left: 20px;
  list-style-type: disc;
  margin-bottom: 15px;
}

Hanya daftar yang tepat setelah <h3> yang mendapatkan padding dan bullet style. Hal ini penting untuk menjaga layout konsisten antar bagian konten. Selector ini membantu menghindari penggunaan class tambahan. Implementasi ini membuat CSS lebih modular. Dengan pendekatan ini, formating lebih mudah diatur dan diubah. Hal ini mendukung keterbacaan dan estetika halaman web.

Gambar Setelah Paragraf

Selector p + img dapat menambahkan border dan jarak pada gambar yang mengikuti paragraf. Contoh:

p + img {
  border: 2px solid #ccc;
  display: block;
  margin-top: 10px;
}

Hanya gambar yang tepat setelah paragraf mendapatkan style. Hal ini membantu menyorot gambar yang relevan dengan teks. Selector ini mengurangi kebutuhan class tambahan. Implementasi ini mempermudah perawatan layout. Dengan style yang konsisten, halaman terlihat lebih profesional. Pendekatan ini meningkatkan keterbacaan konten visual. Selector ini mendukung desain modular.

Tombol Setelah Label

Selector label + button digunakan untuk memberi style pada tombol setelah label form. Contoh:

label + button {
  background-color: #28a745;
  color: white;
  padding: 5px 10px;
  border: none;
}

Hanya tombol yang langsung mengikuti label yang terpengaruh. Hal ini membantu form terlihat rapi dan konsisten. Selector ini mengurangi kebutuhan class tambahan pada tombol. Implementasi ini mempermudah tim front-end menjaga konsistensi. Style menjadi lebih spesifik dan efisien. Hal ini mendukung desain yang bersih dan profesional. Selector ini cocok untuk form interaktif.

Input Setelah Paragraf

Selector p + input menata input yang muncul tepat setelah paragraf penjelas. Contoh:

p + input {
  border: 1px solid #666;
  padding: 5px;
  width: 50%;
}

Hanya input yang langsung mengikuti paragraf yang mendapatkan style. Hal ini memperjelas hubungan antara teks dan input. Selector ini meminimalkan kebutuhan class tambahan. Implementasi ini membuat form lebih mudah dibaca dan diatur. Dengan pendekatan ini, CSS tetap ringkas dan efisien. Selector ini meningkatkan keterbacaan dan aksesibilitas form. Pendekatan ini mendukung prinsip modular styling.


Kesalahan Umum

Menarget Semua Elemen Saudara

Kesalahan umum adalah mengira adjacent sibling selector menarget semua elemen setelah elemen acuan (Meyer, 2017). Contoh salah:

h2 + p {
  color: red;
}

Jika ada paragraf lain setelah elemen berbeda, mereka tidak akan terpengaruh. Contoh benar:

h2 + p {
  color: red;
}

Hanya paragraf pertama setelah <h2> yang akan berubah warna. Narasi: Pemahaman ini penting untuk menghindari asumsi yang salah dalam styling. Selector ini hanya menarget elemen yang langsung mengikuti elemen acuan. Kesalahan ini sering terjadi pada pemula CSS.

Meletakkan Elemen Tidak Berurutan

Kesalahan lain adalah menarget elemen yang tidak berurutan dalam DOM (Robbins, 2018). Contoh salah:

h3 + ul {
  margin-left: 20px;
}

Jika <ul> tidak langsung setelah <h3>, style tidak diterapkan. Contoh benar:

h3 + ul {
  margin-left: 20px;
}

Selector ini hanya bekerja untuk elemen yang tepat berada setelah elemen acuan. Narasi: Penting untuk memahami struktur HTML sebelum menggunakan selector ini. Meletakkan elemen secara berurutan memastikan style diterapkan. Kesalahan ini menyebabkan tampilan tidak konsisten.

Menggunakan Selector Berlebihan

Beberapa pengembang menggunakan adjacent sibling selector secara berlebihan, menarget setiap elemen dengan style berbeda (Keith, 2010). Contoh salah:

p + img {
  border: 1px solid black;
}
p + img {
  padding: 5px;
}

Contoh benar:

p + img {
  border: 1px solid black;
  padding: 5px;
}

Narasi: Menulis style terpisah untuk elemen yang sama membuat CSS lebih panjang dan sulit dibaca. Penggunaan selector berlebihan dapat menimbulkan konflik atau redundansi. Pendekatan yang efisien membuat CSS lebih mudah dipelihara.

Kesalahan Umum Contoh Salah Contoh Benar Narasi
Menarget semua elemen saudara h2 + p { color: red; } h2 + p { color: red; } Selector hanya menarget elemen pertama setelah elemen acuan
Meletakkan elemen tidak berurutan h3 + ul { margin-left: 20px; } h3 + ul { margin-left: 20px; } Selector hanya bekerja jika elemen berurutan dalam DOM
Menggunakan selector berlebihan p + img { border: 1px solid black; } p + img { padding: 5px; } p + img { border: 1px solid black; padding: 5px; } Menulis style terpisah membuat CSS panjang dan sulit dipelihara

Best Practice

Gunakan Selector Secara Spesifik

Selector harus digunakan untuk menarget elemen yang tepat dan relevan (Meyer, 2017). Hal ini menghindari konflik style pada elemen lain yang tidak diinginkan. Dengan spesifikasi yang jelas, CSS menjadi lebih mudah dibaca dan dipelihara. Selector yang terlalu umum dapat membuat style tidak konsisten. Selalu pastikan elemen yang ditarget benar-benar berurutan dengan elemen acuan. Pendekatan ini membantu menjaga modularitas desain. Penerapan yang tepat meningkatkan efisiensi kode CSS.

Hindari Redundansi

Hindari menulis beberapa selector untuk elemen yang sama (Robbins, 2018). Misalnya, gabungkan properti CSS dalam satu block selector daripada membuat beberapa block terpisah. Pendekatan ini membuat file CSS lebih ringkas dan mudah dipelihara. Redundansi dapat menimbulkan konflik style yang sulit di-debug. Dengan menghindari redundansi, performa website tetap optimal. Hal ini juga memudahkan tim front-end memahami kode. Efisiensi ini sejalan dengan prinsip DRY (Don’t Repeat Yourself).

Perhatikan Struktur DOM

Adjacent sibling selector hanya bekerja jika elemen berada berurutan dalam DOM (Keith, 2010). Oleh karena itu, struktur HTML harus rapi dan konsisten. Pastikan tidak ada elemen tambahan yang memisahkan elemen acuan dan target. Dengan struktur yang baik, selector bekerja dengan akurat. Ini juga memudahkan modifikasi di masa depan tanpa merusak style lain. Selector ini mendukung desain modular dan fleksibel. Pemahaman DOM yang benar memastikan styling lebih prediktif.

Gunakan Bersama Modular CSS

Selector ini ideal digunakan dalam sistem modular CSS. Hal ini memungkinkan setiap komponen memiliki style yang spesifik tanpa menimbulkan konflik (Meyer, 2017). Pendekatan ini mempermudah pemeliharaan proyek skala besar. Setiap perubahan pada satu modul tidak memengaruhi modul lain. Modular CSS meningkatkan keterbacaan dan kolaborasi tim. Selector ini mendukung struktur kode yang bersih. Penerapan yang konsisten membantu mempercepat pengembangan.

Dokumentasikan Penggunaan

Selalu dokumentasikan penggunaan adjacent sibling selector di proyek tim. Catat tujuan setiap selector dan elemen yang ditarget (Robbins, 2018). Dokumentasi ini membantu pengembang lain memahami alasan di balik penggunaan selector tertentu. Hal ini juga memudahkan debugging jika terjadi konflik style. Dokumentasi meningkatkan transparansi dan kolaborasi tim. Pendekatan ini mendukung praktik coding profesional. Dengan dokumentasi, pemeliharaan jangka panjang menjadi lebih mudah.


Kesimpulan

Adjacent sibling selector pada CSS adalah alat yang efisien untuk menarget elemen yang langsung mengikuti elemen tertentu (Meyer, 2017). Dengan menggunakan selector ini, pengembang dapat menulis CSS yang lebih spesifik dan ringkas tanpa perlu menambahkan class atau id tambahan. Selector ini mendukung desain modular, menjaga konsistensi tampilan, dan memudahkan perawatan kode. Penggunaan yang tepat mengurangi redundansi dan konflik gaya antar elemen. Selector ini juga kompatibel dengan hampir semua browser modern, sehingga aman digunakan dalam proyek web skala besar. Penerapan yang efektif dapat meningkatkan keterbacaan kode dan mempercepat pengembangan. Pemahaman konsep, implementasi, serta best practice sangat penting bagi setiap front-end developer.

Gagasan utama dari artikel ini:

  • Adjacent sibling selector (+) menarget elemen yang tepat setelah elemen acuan.
  • Selector ini membantu menulis CSS yang efisien dan modular.
  • Penting untuk memahami struktur DOM agar selector bekerja dengan benar.
  • Penggunaan yang tepat mengurangi redundansi dan mempermudah pemeliharaan kode.
  • Selector mendukung prinsip desain modern, efisien, dan kompatibel lintas browser.
  • Dokumentasi dan best practice meningkatkan kualitas dan kolaborasi tim.

Referensi

Keith, J. (2010). DOM Scripting: Web Design with JavaScript and the Document Object Model (2nd ed.). Berkeley: New Riders.

Meyer, E. (2017). CSS: The Definitive Guide (4th ed.). Sebastopol: O’Reilly Media.

Robbins, J. N. (2018). Learning Web Design: A Beginner’s Guide to HTML, CSS, JavaScript, and Web Graphics (5th ed.). Sebastopol: O’Reilly Media.

mulai diskusi

peraturan

Login menggunakan akun telegram untuk memulai diskusi.

Gunakan bahasa yang sopan, baik dan benar

Dilarang menggunakan perkataan yang mengandung unsur pelecehan, cacian dan merendahkan aggota forum lain.

Dilarang memulai pembicaraan yang keluar dari topik pembahasan.

pegaduan

panduan

Login menggunakan akun Github untuk mengajukan report.

Gunakan kalimat deskriptif yang jelas terkait kendala yang dihadapi dalam pengajuan report

Upload gambar screenshoot terkait report untuk membantu kami dalam penanganan report

Progress penanganan report dapat di monitoring pada halaman github course.

latihan

berikut ini adalah aktivitas latihan untuk modul Targetkan elemen tepat setelah sibling sejenis pada HTML dengan adjacent sibling CSS

penugasan

aktivitas penugasan dan penilaian untuk modul Targetkan elemen tepat setelah sibling sejenis pada HTML dengan adjacent sibling CSS