Praktik: Membuat galeri foto responsif
Jump to navigation
Jump to search
Modul Praktik: Membuat Galeri Foto Responsif Menggunakan CSS
- Mata Kuliah: Web Programming
- Tingkat: S1 / Semester Awal
- Sistem Operasi: Ubuntu 24.04
- Tools: Gedit / GNOME Text Editor, Firefox, Terminal
Tujuan Pembelajaran:
- Mahasiswa mampu membuat galeri foto menggunakan HTML dan CSS.
- Mahasiswa memahami konsep layout responsif.
- Mahasiswa mampu memanfaatkan tools open-source di Linux untuk web development.
Persiapan Tool
1. Editor Teks
Gunakan `gedit` atau `gnome-text-editor`:
sudo apt install gedit
2. Browser
Pastikan Firefox sudah tersedia:
firefox
3. Folder Kerja
Buat folder proyek:
mkdir ~/galeri-foto cd ~/galeri-foto
Struktur Folder Proyek
galeri-foto/
├── index.html
├── style.css
└── images/
├── foto1.jpg
├── foto2.jpg
└── foto3.jpg
Letakkan 3–6 gambar di folder `images/` sebelum memulai.
Langkah 1: Buat HTML Dasar
Buka file `index.html`:
gedit index.html
Isi dengan kode berikut:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Galeri Foto Responsif</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Galeri Foto Responsif</h1>
<div class="gallery">
<img src="images/foto1.jpg" alt="Foto 1">
<img src="images/foto2.jpg" alt="Foto 2">
<img src="images/foto3.jpg" alt="Foto 3">
</div>
</body>
</html>
Langkah 2: Buat File CSS
Buka file `style.css`:
gedit style.css
Isi dengan kode berikut:
body {
font-family: sans-serif;
margin: 20px;
background-color: #f0f0f0;
}
h1 {
text-align: center;
color: #333;
}
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 15px;
padding: 20px;
}
.gallery img {
width: 100%;
height: auto;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
transition: transform 0.3s;
}
.gallery img:hover {
transform: scale(1.05);
}
Langkah 3: Menjalankan Proyek
Buka terminal:
firefox index.html
Output yang Diharapkan
- Tampilan galeri yang rapi.
- Setiap gambar berada dalam grid.
- Tampilan menyesuaikan ukuran layar (ponsel, tablet, desktop).
- Efek zoom saat hover pada gambar.
Tantangan Praktik Tambahan (Opsional)
- Tambahkan caption di bawah gambar menggunakan elemen `<figure>` dan `<figcaption>`.
- Tambahkan efek lightbox menggunakan JavaScript sederhana (untuk pertemuan selanjutnya).
- Ganti grid menjadi flexbox, bandingkan hasilnya.
Materi Pendukung
- [MDN Web Docs - CSS Grid Layout](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout)
- [Responsive Design dengan CSS](https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Responsive_Design)