Inline & Block — HTML

Inline adalah tipe tampilan elemen HTML yang mengalir di dalam baris teks — elemennya nempel di samping konten lain dan lebarnya hanya seukuran isinya, contohny

Coba liat halaman ini sekarang. Tiap paragraf otomatis pindah ke baris baru sendiri-sendiri (block). Tapi pas ada kata tebal di tengah kalimat, tebalnya nempel di antara kata lain di baris yang sama (inline). Itu beda perilaku default dari elemen HTML — udah diatur browser sejak awal, gak perlu CSS.

💡 Default bisa dibajak. Tiap elemen punya display default (block atau inline), tapi CSS bisa override: display: inline-block, flex, grid, dll. <div> yang biasanya block bisa jadi inline pakai display: inline. Tapi inget — override visual gak ngubah aturan semantic HTML (<p> di dalam <span> tetep invalid walau secara CSS keliatan baik).

Container Generik: <span> & <div>

Container generik buat dua perilaku ini: <span> untuk inline, <div> untuk block. Dua-duanya kosong makna — gunanya cuma buat ngelompokin elemen tanpa kasih arti tambahan.

<span>Bagian Inline</span>
<div>Bagian <b>Block</b></div>

Default Display per Elemen

Banyak elemen text-formatting (<b>, <i>, <a>, <em>) default-nya inline. Heading, paragraf, dan <div> default-nya block.

🎭 Analogi sehari-hari

Inline = kata-kata mengalir bersebelahan dalam satu kalimat — <a>, <b>, <span> numpang di tengah teks. Block = blok paragraf yang berdiri sendiri — <p>, <h1>, <div> selalu pindah baris baru.

⚠️ Jebakan yang sering ditemui

TL;DR: Inline = nempel di baris yang sama (<a>, <b>, <span>). Block = pindah baris baru, ambil full width (<p>, <h1>, <div>). Container generik: <span> (inline), <div> (block). Inline elements abaikan width/height/margin top-bottom — kalau perlu pakai display: inline-block atau block. Override visual via CSS gak ubah aturan semantic HTML.

Yang akan kamu pelajari