Kode Program:
Css
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Position - Lengkap</title>
<style>
body {
font-family: Arial, sans-serif;
padding: 20px;
margin: 0;
}
.container {
border: 3px solid #333;
padding: 20px;
margin-bottom: 30px;
background-color: #f9f9f9;
position: relative;
}
.box {
width: 150px;
height: 100px;
color: white;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
margin: 10px;
}
/* STATIC (default) */
.static {
position: static;
background-color: #95a5a6;
}
/* RELATIVE */
.relative {
position: relative;
background-color: #3498db;
top: 20px;
left: 30px;
}
/* ABSOLUTE */
.absolute-parent {
position: relative;
background-color: #e74c3c;
height: 200px;
}
.absolute-child {
position: absolute;
background-color: #f39c12;
bottom: 10px;
right: 10px;
width: 120px;
height: 80px;
}
/* FIXED */
.fixed-box {
position: fixed;
bottom: 20px;
right: 20px;
background-color: #2ecc71;
width: 120px;
height: 120px;
border-radius: 10px;
z-index: 1000;
}
/* STICKY */
.sticky-header {
position: sticky;
top: 0;
background-color: #9b59b6;
color: white;
padding: 15px;
margin: 0;
z-index: 100;
}
.scroll-content {
height: 300px;
overflow-y: auto;
border: 1px solid #ddd;
margin-top: 20px;
}
.scroll-item {
padding: 15px;
border-bottom: 1px solid #eee;
}
</style>
</head>
<body>
<h1>CSS Position Properties</h1>
<!-- 1. STATIC -->
<div class="container">
<h3>1. Position: Static (default)</h3>
<div class="box static">Static<br>Posisi normal</div>
<div class="box static">Static 2<br>Tidak terpengaruh top/left</div>
<p>Static adalah nilai default. Elemen mengikuti alur normal dokumen. Properti top, right, bottom, left TIDAK berpengaruh.</p>
</div>
<!-- 2. RELATIVE -->
<div class="container">
<h3>2. Position: Relative</h3>
<div class="box static">Static (normal)</div>
<div class="box relative">Relative<br>top: 20px, left: 30px</div>
<div class="box static">Static (normal)</div>
<p>Relative: bergeser dari posisi normalnya, tapi ruang aslinya masih dipertahankan.</p>
</div>
<!-- 3. ABSOLUTE -->
<div class="container absolute-parent">
<h3>3. Position: Absolute</h3>
<div class="box static" style="width: 100px;">Static</div>
<div class="absolute-child">Absolute<br>bottom:10px, right:10px</div>
<p>Absolute: terikat ke parent terdekat yang position-nya bukan static. Jika tidak ada, terikat ke body.</p>
</div>
<!-- 4. FIXED -->
<div class="fixed-box">
Fixed<br>Botton kanan
</div>
<!-- 5. STICKY -->
<div class="container">
<h3>4. Position: Sticky</h3>
<div class="scroll-content">
<div class="sticky-header">Header Sticky - Akan menempel saat scroll</div>
<div class="scroll-item">Item konten 1 - Scroll ke bawah untuk melihat efek sticky</div>
<div class="scroll-item">Item konten 2 - Header akan tetap terlihat</div>
<div class="scroll-item">Item konten 3 - Sampai mencapai batas parent</div>
<div class="scroll-item">Item konten 4</div>
<div class="scroll-item">Item konten 5</div>
<div class="scroll-item">Item konten 6</div>
<div class="scroll-item">Item konten 7</div>
<div class="scroll-item">Item konten 8</div>
<div class="scroll-item">Item konten 9</div>
<div class="scroll-item">Item konten 10</div>
</div>
<p>Sticky: kombinasi relative dan fixed. Akan normal sampai mencapai posisi scroll tertentu, lalu menjadi fixed.</p>
</div>
</body>
</html>
Geser ke samping untuk lihat kode lengkap
Perhatian: Kode ini hanya untuk dilihat, tidak dapat disalin.