Struktur HTML
Page Title

Hello World

Elemen Umum
Teks & Heading

Heading 1

...
Heading 6

Paragraph text

Bold Italic

Link & Gambar
Link text #section">Anchor link Description
List
  1. First
Form
Tipe Input
Select & Textarea
HTML Semantik
<header>Konten pengantar atau container navigasi
<nav>Link navigasi
<main>Konten utama halaman (satu per halaman)
<section>Pengelompokan konten berdasarkan tema
<article>Konten mandiri
<aside>Sidebar atau konten sampingan
<footer>Footer untuk section atau halaman
<figure>Gambar/diagram dengan caption
<figcaption>Caption untuk
Selector CSS
Selector Dasar
elementp { } — semua elemen

.class.card { } — selector class
#id#main { } — selector id
*Selector universal (semua elemen)
Kombinator
A BKeturunan (B di dalam A)
A > BAnak langsung saja
A + BSibling bersebelahan (B tepat setelah A)
A ~ BSibling umum (B setelah A)
Pseudo-class
:hoverMouse di atas elemen
:focusElemen mendapat fokus
:first-childAnak pertama dari parent
:nth-child(n)Anak ke-n (2n = genap, odd = ganjil)
Box Model
.box { margin: 10px; /* outside */ border: 1px solid #333; /* edge */ padding: 15px; /* inside */ width: 200px; box-sizing: border-box; /* include pad+border */ }
Shorthand
margin: 10pxSemua sisi
margin: 10px 20pxAtas/bawah | kiri/kanan
margin: 10px 20px 15pxAtas | kiri/kanan | bawah
margin: 10px 20px 15px 5pxAtas | kanan | bawah | kiri
Flexbox
Container
.flex-container { display: flex; flex-direction: row; /* row | column */ justify-content: center; /* main axis */ align-items: center; /* cross axis */ gap: 10px; flex-wrap: wrap; }
Properti Item
flex: 1Tumbuh mengisi ruang yang tersedia
flex-grow: 2Rasio pertumbuhan relatif terhadap sibling
flex-shrink: 0Jangan menyusut di bawah basis
flex-basis: 200pxUkuran awal sebelum tumbuh/menyusut
align-self: flex-endOverride perataan container
order: -1Urutan visual (default 0)
Grid
Container
.grid { display: grid; grid-template-columns: 1fr 2fr 1fr; grid-template-rows: auto; gap: 10px; }
Penempatan Item
.item { grid-column: 1 / 3; /* span col 1-2 */ grid-row: 1 / 2; } /* shorthand: repeat, minmax */ grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
Positioning
staticAlur default (tanpa properti offset)
relativeOffset dari posisi normal
absoluteOffset dari ancestor ter-position terdekat
fixedOffset dari viewport (tetap saat scroll)
stickyRelative hingga ambang scroll, lalu fixed
Contoh
.parent { position: relative; } .child { position: absolute; top: 0; right: 0; /* top-right corner */ }
Media Query
/* Mobile-first: base styles for small screens */ .container { padding: 10px; } @media (min-width: 768px) { .container { max-width: 720px; } } @media (min-width: 1024px) { .container { max-width: 960px; } }
Breakpoint Umum
480pxPonsel kecil
768pxTablet
1024pxDesktop kecil / tablet landscape
1280pxDesktop