PWD 5 - Layout Halaman Web dengan CSS
Capaian Pembelajaran Pertemuan (Sub-CPMK)
Setelah mengikuti perkuliahan ini, mahasiswa mampu:
- Menjelaskan konsep layout dalam desain web.
- Menggunakan properti
displayuntuk mengatur elemen HTML. - Menerapkan Flexbox untuk membuat layout modern.
- Menggunakan properti
positiondalam CSS. - Mendesain tata letak halaman web secara sederhana dan terstruktur.
1. Pendahuluan
Pada pertemuan sebelumnya, mahasiswa telah mempelajari dasar-dasar CSS untuk mengatur tampilan halaman web, seperti warna, font, dan jarak antar elemen.
Namun, untuk membangun website yang profesional, tidak cukup hanya mengatur tampilan. Diperlukan kemampuan untuk mengatur tata letak (layout) elemen secara sistematis.
Layout menentukan bagaimana elemen:
- Disusun secara horizontal atau vertikal
- Disejajarkan (alignment)
- Mengisi ruang pada halaman
Pada pertemuan ini akan dibahas teknik layout modern menggunakan Flexbox serta pengaturan posisi elemen menggunakan CSS positioning.
2. Konsep Layout dalam Web
Layout adalah cara menyusun elemen-elemen HTML dalam suatu halaman agar terlihat terstruktur dan mudah dipahami.
Contoh layout umum:
- Header
- Navigation
- Content
- Sidebar
- Footer
3. Properti Display
Properti display menentukan bagaimana elemen ditampilkan.
3.1 Block
1
2
3
div {
display: block;
}
Ciri:
- Mengambil satu baris penuh
Contoh elemen block:
<div><p><h1>
3.2 Inline
1
2
3
span {
display: inline;
}
Ciri:
- Tidak memulai baris baru
- Lebar mengikuti konten
3.3 Inline-block
1
2
3
div {
display: inline-block;
}
Ciri:
- Sejajar seperti inline
- Bisa diatur ukuran
3.4 None
1
2
3
div {
display: none;
}
Elemen tidak ditampilkan.
4. Pengenalan Flexbox
Flexbox (Flexible Box Layout) adalah teknik layout modern yang digunakan untuk menyusun elemen dalam satu dimensi (horizontal atau vertikal).
4.1 Konsep Dasar Flexbox
Flexbox terdiri dari:
- Container (induk)
- Item (anak)
4.2 Mengaktifkan Flexbox
1
2
3
.container {
display: flex;
}
4.3 Arah Flex (flex-direction)
1
2
3
.container {
flex-direction: row;
}
Pilihan:
row→ horizontalcolumn→ vertikal
4.4 Alignment Horizontal (justify-content)
1
2
3
.container {
justify-content: center;
}
Pilihan:
- flex-start
- center
- space-between
- space-around
4.5 Alignment Vertikal (align-items)
1
2
3
.container {
align-items: center;
}
4.6 Contoh Flexbox
1
2
3
4
5
<div class="container">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
</div>
1
2
3
4
5
6
7
8
9
10
.container {
display: flex;
justify-content: space-between;
}
.box {
width: 100px;
height: 100px;
background-color: lightblue;
}
5. CSS Positioning
CSS positioning digunakan untuk mengatur posisi elemen secara lebih spesifik.
5.1 Static (Default)
1
2
3
div {
position: static;
}
5.2 Relative
1
2
3
4
div {
position: relative;
top: 10px;
}
Posisi relatif terhadap posisi awal.
5.3 Absolute
1
2
3
4
5
div {
position: absolute;
top: 0;
left: 0;
}
Posisi relatif terhadap parent yang memiliki posisi.
5.4 Fixed
1
2
3
4
div {
position: fixed;
top: 0;
}
Tetap di posisi tertentu meskipun halaman di-scroll.
6. Kombinasi Layout Sederhana
Contoh layout sederhana:
1
2
3
4
<header>Header</header>
<nav>Menu</nav>
<main>Konten</main>
<footer>Footer</footer>
Dengan CSS:
1
2
3
4
header, nav, main, footer {
padding: 20px;
margin: 10px;
}
7. Best Practice Layout
- Gunakan Flexbox untuk layout modern
- Hindari penggunaan positioning berlebihan
- Gunakan struktur HTML yang jelas
- Gunakan class untuk styling layout
- Uji tampilan di berbagai ukuran layar
8. Kesalahan Umum
- Tidak memahami perbedaan display
- Salah penggunaan Flexbox
- Overlapping karena positioning
- Layout tidak responsif
- Tidak menggunakan container
Rangkuman
Pada pertemuan ini telah dipelajari:
- Konsep layout dalam web
- Properti
display - Flexbox sebagai teknik layout modern
- CSS positioning
- Penyusunan layout sederhana
Kemampuan membuat layout merupakan keterampilan penting dalam pengembangan web modern.
Referensi
- Duckett, J. (2011). HTML and CSS: Design and Build Websites.
- Mozilla Developer Network (MDN) Web Docs. CSS Guide.
- W3Schools. CSS Tutorial.