li adalah elemen pekerja keras HTML: ia muncul di navigasi, daftar artikel, daftar fitur, dan hampir semua pola daftar yang kita temui. Kita sudah memakainya berulang kali pada chapter-chapter sebelumnya — sekarang saatnya membedah aturan isinya secara khusus.
Chapter ini membahas dua hal: fleksibilitas isi li, dan atribut value yang mampu mengubah nomor satu butir di dalam ol.
li dan Penandanya #
Aturan dasarnya: li (list item) adalah satu anggota daftar. Posisi sahnya sebagai child langsung dari ul atau ol. Penanda yang tampil di depannya — bulatan pada ul, angka pada ol — bukan milik li sendiri; li tidak punya penanda apa pun. Penanda diberikan oleh parent sesuai jenis daftarnya.
Mekanismenya sederhana: li yang sama berganti penanda ketika berganti parent. Butir “Kopi tubruk” di dalam ul tampil berbulatan; di dalam ol tampil bernomor. Isi butirnya tidak berubah sama sekali.
Isi li Fleksibel #
li termasuk elemen yang paling bebas isinya. Di dalamnya kita boleh menaruh teks, elemen inline seperti strong, em, a, dan img, sampai elemen blok seperti p — bahkan daftar lain (dibahas tuntas pada chapter Nested Lists). Satu butir boleh memuat beberapa paragraf sekaligus:
<ul>
<li>
<p><strong>Kopi Gayo</strong> — arabika dari dataran tinggi Aceh.</p>
<p>Paling pas diseduh dengan metode pour over.</p>
</li>
<li>
<p><strong>Kopi Toraja</strong> — arabika dari dataran tinggi Sulawesi.</p>
</li>
</ul>Hasil Render secara naratif: dua butir tampil dengan penanda bulatan; butir pertama menampung dua paragraf yang keduanya tetap terhitung sebagai satu butir, dan nama kopi pada tiap butir tampil tebal karena strong.
Mari kita telaah kode di atas:
lipertama: membungkus duapsekaligus — keduanya bagian dari satu butir yang sama.<strong>: nama kopi diberi bobot penting di dalam butir, bukan di level daftar.likedua: hanya satup— jumlah isi tiap butir boleh berbeda.- Teks tanpa
p: butir pendek seperti<li>Teh melati</li>tetap sah; teks langsung adalah bentuk yang paling umum.
Atribut value pada li dalam ol #
Atribut khusus li hanya satu: value, dan ia hanya berlaku di dalam ol. Mekanismenya: value menimpa nomor satu butir, lalu butir-butir setelahnya melanjutkan penomoran dari nilai baru itu:
<ol>
<li>Rebus air hingga mendidih.</li>
<li value="5">Masukkan mie ke dalam air.</li>
<li>Tiriskan setelah tiga menit.</li>
</ol>Hasil Render:
Mari kita telaah kode di atas:
- Baris 1 (butir pertama): bernomor normal — 1.
- Baris 2 (
value="5"): nomor butir ini ditimpa menjadi 5. - Baris 3 (butir ketiga): penomoran melanjutkan dari 5 menjadi 6, bukan kembali ke 3.
Perbedaannya dengan start: start bekerja pada ol dan menggeser titik awal seluruh daftar; value bekerja pada satu li dan menimpa nomornya saja. Keduanya berguna untuk penomoran yang harus melompat — misalnya melanjutkan daftar yang terpotong oleh penjelasan di tengah.
Ringkasan #
liadalah anggota daftar; posisi sahnya child langsungulatauol.- Penanda diberikan parent —
litidak punya penanda sendiri. - Isi
lifleksibel: teks, elemen inline,p, sampai daftar bersarang. valuemenimpa nomor satu butir dalamol; beda daristartyang mengatur awal seluruh daftar.
Chapter berikutnya membahas teknik yang memanfaatkan keluwesan isi li: nested list, daftar di dalam daftar.