HTML - Web Slide Deck
Pengenalan Web Slide Deck
Halo sana, para pengembang web yang bersemangat! Hari ini, kita akan memulai perjalanan yang menarik ke dunia HTML dan membuat slide deck web pribadi kita sendiri. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya sangat gembira untuk mengantar Anda dalam proses ini, bahkan jika Anda belum pernah menulis baris kode sebelumnya. Jadi, pasang sabuk keselamatan Anda dan mari kita masuk ke dalam!
Apa Itu Web Slide Deck?
Sebelum kita mulai mengoding, mari kita pahami apa yang akan kita buat. Web slide deck adalah presentasi yang berjalan di dalam browser web. Itu seperti PowerPoint, tapi lebih keren karena Anda membuatnya dari awal menggunakan HTML! Ini berarti Anda bisa mengaksesnya di mana saja, kapan saja, selama Anda memiliki akses internet.
Menyiapkan Dokumen HTML
Marilah kita mulai dengan struktur dasar dokumen HTML kita. Jangan khawatir jika ini terlihat menakutkan pada awalnya - kita akan membongkar ini langkah demi langkah.
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Slide Deck Web Saya yang Menakjubkan</title>
<style>
/* Kita akan menambahkan CSS di sini nanti */
</style>
</head>
<body>
<!-- Slide kita akan berada di sini -->
</body>
</html>
mari kitauraikan ini:
-
<!DOCTYPE html>
memberitahu browser ini adalah dokumen HTML5. -
<html lang="id">
adalah elemen root halaman HTML kita, dengan "id" menentukan bahasa Indonesia. - Bagian
<head>
berisi informasi meta tentang dokumen. -
<meta charset="UTF-8">
menentukan pengkodean karakter untuk dokumen. -
<meta name="viewport"...>
memastikan rendering yang benar di perangkat mobile. -
<title>
menetapkan judul halaman web kita. - Tag
<style>
adalah tempat kita akan menambahkan CSS nanti. -
<body>
adalah tempat konten yang terlihat dari slide deck kita.
Membuat Slide Pertama
Sekarang, mari kita buat slide pertama. Kita akan menggunakan tag <section>
untuk menentukan setiap slide.
<body>
<div class="slideshow-container">
<section class="slide">
<h1>Selamat Datang di Slide Deck Web Saya!</h1>
<p>Dibuat oleh [Nama Anda]</p>
</section>
</div>
</body>
Di sini, kita telah:
- Menambahkan
<div>
dengan kelas "slideshow-container" untuk menahan semua slide kita. - Membuat
<section>
dengan kelas "slide" untuk slide pertama kita. - Menambahkan judul
<h1>
dan paragraf<p>
ke slide kita.
Menambahkan Slide Lainnya
Marilah kita tambahkan beberapa slide lagi ke deck kita:
<div class="slideshow-container">
<section class="slide">
<h1>Selamat Datang di Slide Deck Web Saya!</h1>
<p>Dibuat oleh [Nama Anda]</p>
</section>
<section class="slide">
<h2>Apa yang Kita Akan Pelajari</h2>
<ul>
<li>Dasar HTML</li>
<li>Styling CSS</li>
<li>JavaScript Sederhana</li>
</ul>
</section>
<section class="slide">
<h2>Terima Kasih!</h2>
<p>Ada pertanyaan?</p>
</section>
</div>
Kita telah menambahkan dua slide lagi, masing-masing dengan struktur konten yang berbeda. Slide kedua menggunakan daftar tak terurut <ul>
untuk menampilkan bullet points.
Menyusun Slide Dengan CSS
Sekarang, mari kita menambahkan gaya ke slide kita. Kita akan menaruh ini di tag <style>
di bagian <head>
:
<style>
body, html {
height: 100%;
margin: 0;
font-family: Arial, sans-serif;
}
.slideshow-container {
height: 100%;
display: flex;
overflow-x: auto;
scroll-snap-type: x mandatory;
}
.slide {
min-width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
scroll-snap-align: start;
padding: 20px;
box-sizing: border-box;
}
.slide:nth-child(1) { background-color: #f4f4f4; }
.slide:nth-child(2) { background-color: #e8e8e8; }
.slide:nth-child(3) { background-color: #dcdcdc; }
</style>
mari kitauraikan CSS ini:
- Kita menset tinggi
body
danhtml
ke 100% dan menghapus margin default. -
.slideshow-container
menggunakan flexbox untuk layout danscroll-snap-type
untuk sliding yang halus. - Setiap
.slide
diatur ke tinggi dan lebar penuh, dengan konten yang diperpusat. - Kita menggunakan
scroll-snap-align
untuk memastikan slide menyusup ke tempat saat scrolling. - Warna latar belakang berbeda untuk setiap slide menggunakan
:nth-child
.
Menambahkan Tombol Navigasi
Untuk membuat slide deck kita lebih ramah pengguna, marilah kita tambahkan beberapa tombol navigasi:
<body>
<div class="slideshow-container">
<!-- ... slide di sini ... -->
</div>
<button class="prev" onclick="changeSlide(-1)">❮ Sebelumnya</button>
<button class="next" onclick="changeSlide(1)">Selanjutnya ❯</button>
<script>
function changeSlide(n) {
const slides = document.querySelectorAll('.slide');
const currentSlide = document.querySelector('.slide:target') || slides[0];
let index = Array.from(slides).indexOf(currentSlide);
index = (index + n + slides.length) % slides.length;
location.hash = '#' + slides[index].id;
}
</script>
</body>
Kita telah menambahkan:
- Tombol "Sebelumnya" dan "Selanjutnya" dengan event
onclick
. - Fungsi
changeSlide
di JavaScript untuk menghandle navigasi.
Marilah kita gayakan tombol ini:
<style>
/* ... gaya sebelumnya ... */
.prev, .next {
position: fixed;
top: 50%;
padding: 10px;
color: white;
background-color: rgba(0,0,0,0.5);
border: none;
cursor: pointer;
}
.prev { left: 10px; }
.next { right: 10px; }
</style>
Penyempurnaan Akhir
Untuk membuat navigasi kita berjalan mulus, kita perlu menambahkan ID ke slide kita:
<section id="slide1" class="slide">
<h1>Selamat Datang di Slide Deck Web Saya!</h1>
<p>Dibuat oleh [Nama Anda]</p>
</section>
<section id="slide2" class="slide">
<h2>Apa yang Kita Akan Pelajari</h2>
<ul>
<li>Dasar HTML</li>
<li>Styling CSS</li>
<li>JavaScript Sederhana</li>
</ul>
</section>
<section id="slide3" class="slide">
<h2>Terima Kasih!</h2>
<p>Ada pertanyaan?</p>
</section>
Kesimpulan
Selamat! Anda telah membuat slide deck web pribadi Anda sendiri menggunakan HTML, CSS, dan sedikit JavaScript. Ini hanya awal - Anda sekarang dapat mencoba gaya yang berbeda, menambahkan elemen interaktif lebih banyak, atau bahkan menggabungkan animasi.
Ingat, pengembangan web adalah tentang praktik dan kreativitas. Jangan takut untuk mengubah kode dan melihat apa yang terjadi. Siapa tahu? Anda mungkin menemukan sesuatu yang menakjubkan!
Semangat coding, para ahli web masa depan!
Tabel Metode
Metode | Deskripsi |
---|---|
document.querySelectorAll() |
Memilih semua elemen yang cocok dengan seletion CSS |
document.querySelector() |
Memilih elemen pertama yang cocok dengan seletion CSS |
Array.from() |
Membuat instance Array baru dari objek seperti array |
indexOf() |
Mengembalikan indeks pertama di mana elemen dapat ditemukan dalam array |
location.hash |
Mengambil/mengatur bagian URL yang diikuti tanda # |
Credits: Image by storyset