Postingan ini berawal dari sahabat yang kemarin bertanya pada saya lewat Facebook. Karna kebetulan saya paham, jadi disini saya akan coba jelaskan. Dengan saya posting di blog mudah-mudahan saja manfaatnya juga bisa dirasakan oleh sahabat lainnya.
Saya sebenarnya sempat bingung mau bikin tutorial ini dengan judul apa. Tapi kalau dari cara kerjanya sih memang lebih cocok dibilang Gambar Slide. Hampir mirip kayak gambar slide kebanyakan juga. Yang biasanya akan memunculkan tiap satu gambar bergantian secara otomatis. Ada yang menggunakan animasi @keyframes. Ada juga yang memakai JavaScript ataupun JQuery.
Gambar Slide Berlanjut Manual Tanpa Script
Hari ini kita akan membuat yang agak berbeda dari biasanya. Kita akan membuat gambar slide yang akan muncul bergantian hanya ketika kita meng-klik-nya saja. Bertukarnya gambar gak secara otomatis. Dan hebatnya kita hanya akan menggunakan trik CSS sederhana saja. Tanpa bantuan script apapun.
Awalnya saya kepikiran ini akan menggunakan bentuk link dengan gambar. Seperti bentuk umum berikut:
<a href='http://info.chaidir.web.id/'> <img src='http://info.chaidir.web.id/file/images/admin.jpg'/></a>
Sedangkan yang mau kita buat adalah gambar yang bertukar ketika di-klik. Misalkan ada 4 (empat) gambar. Pertama yang terlihat hanya gambar pertama. Saat gambar pertama di-klik maka akan berganti dengan gambar kedua. Saat di-klik lagi akan berganti dengan gambar ketiga. Kira-kira begitu lah prinsip kerja gambar slider ini.
Dan ternyata bentuk umum diatas gak begitu cocok untuk kita gunakan. Karna tag link disini biasa dipakai untuk membuka halaman tertentu. Bukan untuk mengganti gambar.
Supaya kalian bisa membayangkan aplikasi coding ini bentuknya seperti apa, baiknya lihat dulu halaman Gambar Slide yang sudah saya buat. 😀
Membuat Gambar Slide dengan Tag Input Radio
Trik rahasianya adalah kita akan menggunakan tag Input Radio. Tag jenis ini biasa digunakan untuk membuat semacam pilihan. Yang mana dari beberapa pilihan kita hanya boleh memilih salah satu saja. Dan ini sangat cocok untuk kasus Membuat Gambar Slide seperti yang kita inginkan.
Secara sederhana kita dapat menyusun struktur elemen body seperti berikut:
<div class='slide'> <input type='radio' name='radio-set' checked='checked' /> <img src='./images/gambar1.jpg'/> <input type='radio' name='radio-set' /> <img src='./images/gambar2.jpg'/> <input type='radio' name='radio-set' /> <img src='./images/gambar3.jpg'/> <input type='radio' name='radio-set' /> <img src='./images/gambar4.jpg'/> </div>
Hampir mirip juga seperti bentuk yang pertama. Cuman lagi disini kita tidak memakai tag link. Sebagai gantinya kita pasang tag input sebelum tag gambar. Yang perlu kalian perhatikan untuk input yang pertama harus dipasang atribut checked=’checked’ untuk memenuhi prinsip dari tag radio ini. Yaitu kita harus memilih salah satu dari pilihan yang ada.
Mengatur Gambar Slide Hanya dengan CSS
Berikutnya kita tinggal mengatur tampilan gambar slide ini lewat bagian CSS. Tadinya saya mau jelaskan detail tentang trik CSS yang akan kita gunakan disini. Tapi saya pikir lebih bagus kalau nanti saya buatkan ditulisan lain saja. Biar kita lebih fokus belajarnya. Dan yang penting kalian bisa praktek sendiri. 😀
Teknik CSS yang kita gunakan untuk menyelesaikan gambar slide ini adalah:
- Pseudo-class bentuk :checked untuk membuat kondisi hanya satu gambar yang muncul.
- Pseudo-selector bentuk :nth-child untuk memunculkan tag input yang akan di-klik berikutnya.
- Selector Sibling Combinator untuk memanggil hanya tag gambar atau hanya tag input dalam satu elemen parent.
- Atribut layer bentuk z-index untuk membuat urutan tag input agar dimulai dari gambar pertama.
- Atribut visibility dan opacity untuk menyembunyikan tag input dan tag gambar yang tidak dipilih.
Sekarang kita tinggal menyusun bagian CSS seperti berikut:
<style type='text/css'> .slide { position:relative; margin:0 auto; width:1000px; height:490px; overflow:hidden } .slide input { display:block; position:absolute; width:960px; height:450px; left:0; top:0; opacity:0; cursor:pointer; margin:0; padding:0 } .slide img { visibility:hidden; opacity:0; height:450px; position:absolute; left:0; top:0; width:960px; border:20px solid #ddd; border-radius:20px; transition:all .5s ease-out } .slide input:checked + img { visibility:visible; opacity:1 } .slide input:checked { display:none } .slide input:nth-child(1) { z-index:13 } .slide input:nth-child(3) { z-index:12 } .slide input:nth-child(5) { z-index:11 } .slide input:nth-child(7) { z-index:10 } .slide input:nth-child(1):checked ~ input:nth-child(3), .slide input:nth-child(3):checked ~ input:nth-child(5), .slide input:nth-child(5):checked ~ input:nth-child(7) { z-index:15 } </style>
Oke, selesai. Kalian tinggal letakkan bagian CSS tersebut di antara tag head. Kalau mau tambahkan tag title biar ada judul di bagian title bar browser. Terakhir kalian bisa simpan coding ini dalam format HTML. Lihat hasilnya menggunakan browser kesayangan kalian masing-masing. 🙂
Untuk kalian yang malas ngetik atau mau terima hasil udah jadinya bisa download dari tombol yang ada di awal tulisan ini.
Kode-kode HTML dan CSS yang saya berikan hanya berupa bentuk dasarnya saja. Untuk membuat tampilan gambar slide-nya agar lebih menarik, kalian bisa kreasikan sendiri. Sesuai dengan kreatifitas masing-masing. Tinggal otak-atik sedikit saja. Bisa kan?
Berikut ini cuplikan gambar slide yang berhasil saya buat:
Kalau ada pertanyaan atau masukan silahkan tinggalkan lewat kotak komentar dibawah tulisan ini yaa. Nanti biar kita diskusikan sama-sama. Semoga tutorial sederhana ini bisa bermanfaat.
Salam Semangat,
[email protected]
lutfi
mas apakah itu konsep nth childnya harus ganjil?
·ivan
work mas. tapi apa tidak ada tombolnya ya kaya tanda panah???
·Zacky
Bang itu bagian di belakang titik cara isi nya gmn?
·dian arifin
artikelnya bagus cuma saran widthnya ganti 100% biar responsive sama lebar semua template hehe.
·Abdillah
Bagus kak artikelnya, semoga sukses selalu kak
·Style
terimakasih gan, ini yang gw cari selama ini.
·Anton
Tambahin juga demonya mas, hehe.. Btw makasih pencerahannya gan
·IWAN
BENER BENER GUA BINGUNG
·Chaidir
Bingung?
·Nikii
Mas kalo ukuram gambarnya beda-beda gimana ? bisa enggak ya? aku coba ganti tapi malah semua gambar yang berubah ukurannya??
·Chaidir
Bisa mbak.. nanti bisa ditambahkan di pengaturan CSS-nya.
·M Syaiful Islam
maaf gan, kalau misalnya berlanjut secara otomatis (tanpa diklik) ada tambahan kodingnya jadi gimana ya, saya mau terapkan ke blogger, terima kasih
·Lukman Hakim Wicaksono
Mas mau nanya gimana caranya buat efek slide yang ada tombol kanan kirinya ya?
·Renaldi
Mas saya sudah coba tutorial di atas, tapi kok pas saya tes gambar nya gak muncul ya, tolong dong mas solusinya!
·hendi
kang. ijin klik adsense nya ya. mksh . enjoy
·jelita reload
Makasih Gan Atas Tutorialnya..
·ramadhan
mas disitu ada keterangan
.slide input:nth-child(1) { z-index:13 }
.slide input:nth-child(3) { z-index:12 }
.slide input:nth-child(5) { z-index:11 }
.slide input:nth-child(7) { z-index:10 }
.slide input:nth-child(1):checked ~ input:nth-child(3),
.slide input:nth-child(3):checked ~ input:nth-child(5),
.slide input:nth-child(5):checked ~ input:nth-child(7) { z-index:15 }
nah maksut dari nth-child (1) itu apa , dan kenapa koq harus di loncat 1 angka, jadi (1), (3), (5), (7)
mohon bales secepatnya mas, newbie banget pingin bisa
·Chaidir
Itu namanya pseudo selector mas. Jadi intinya kita mau pilih tag input yg spesifik. Kan ada beberapa tag input di dalam div class. Jadi kalau kita ndak pakai angka itu, nantinya efek css akan berlaku ke semua tag input tersebut. Contoh :
Kenapa dia harus loncat 1? Karena diantara tag input ada tag img. Kasus lain misalkan begini contoh :
Nah kalau di kasus ini nantinya Mas harus pakai pseudo selector 1, 4, 7, 10 dst. Semoga bisa paham. 🙂
·kim
kerennn, makasih ya
·Kukuh Riaman
Bos Chaidir Trims banyak 3x.
·saya pemula, oke banget infonya, sederhana tidak macam2.
untuk tampilan ada maju mundur atau ada pilhan, bagaimana bos.
Terima Kasih…
Nanda
gan kalo supaya gambarnya ganti sendiri itu scriptnya di tambahin apa ?
·Angga
kalo slide nya di bikin ada tombol nya, jd ga klik gambar nya gmn gan ?
·Erwan Dermawan
klu otomasi bagaimana gan?
·Chaidir
Harus pakai Script Mas. Kalau tutorial diatas hanya dengan teknik CSS saja. Nanti saya buatkan lagi tutorial nya.. 🙂
·angga hasnal akhir
nanya topik lain mas, untuk automaticly gambar bisa slide tanpa di klik itu gimana ya? hehe thanks sebelumnya
·angga hasnal akhir
thankyou ilmunya mas chaidir
·anisah fitri
Mantappp bgttt mkash yaa:v
·hadi
maaf mas bro kalo mau masukin foto scriptnya yg mana ya??
·Ratnas
kak, saya kok gak bisa-bisa ya buatnya 🙁
·yudi wiharja
mas saya kurang jelas, maklum baru. pertanyaannya, pake upload gambar ke host ga ?
·Chaidir
Iyaa pakai.. kalau gak punya host sendiri yaa upload gambar ke blogspot, facebook, atau apa aja trus ambil linknya.
·bee design
mas saya mau tanya.
saya pake html5 & css, untuk templates nya saya download
pertanyaannya :
1. untuk merubah background bagian atas dengan gambar berslide dengan ukuran memanjang maksimal, sedangkan di dalam index & css nya sudah tertera code nya, contoh wibsite yang diinginkan
2. untuk membuat halaman baru dari sub navigasi yang sudah ada gimana ya mas, soalnya banyak foto yang mau saya share sebagai portfolio saya.(problemnya: semua text & icon link sudah di atur di css nya, gimana ya cara modifikasinya.
mohon dibantu ya mas, mudah2 sheringnya bisa berlanjut, saya designer mungkin bisa saling bantu. makasi ya mas
ditunggu balasannya ya . lebih bagus lewat email saya [email protected] .
terimakasih
·gondrong
Mas cara nampilin panah kiri dan kanan gimana ? jadi kalo di klik panah kiri akan kembali ke gambar sebelumnya..
·Chaidir
Untuk buat ada panah kanan dan kiri, perlu ada tambahan coding lagi Mas. Bisa tambahkan kode HTML menggunakan div, span atau lainnya. Kemudian tinggal gunakan CSS untuk atur posisi dan tampilannya. Mudahnya gunakan Icon Font Awesome untuk ambil gambar panahnya. Baca artikel saya tentang penggunaan Icon Font Awesome sebelumnya yaa.
·GONDRONG
boleh minta contoh codingnya mas? saya masih newbie jadi masih gak faham mas… makasih…
·Chaidir
Contoh coding-nya kurang lebih seperti yang saya tulis ditutorial diatas. Silahkan di-copy saja, dan bisa kembangkan lagi.
·supri
Slide gambar yang bervariasi ada ga gan, soalnya belum tentu pengunjung yg datang tau bila gambar diklik akan berubah.
·Chaidir
Ini pertanyaannya sama kayak komentar diatas. Boleh baca komentar sebelumnya yaa. ^_^
·Tunggu postingan saya berikutnya nanti akan saya jelaskan tutorialnya.
oren19
kalo kliknya diganti sama durasi gmn?
·ato gambar bisa berpindah sendiri dalam 1 menit,
trims
Chaidir
Bisa kok kalau mau dibuat otomatis pindah sendiri. Tapi penjelasannya terlalu teknis dan sudah beda dengan judul diatas. Kalau ada waktu akan saya jelaskan di artikel berikutnya yaa. Subscribe web ini yaa Mas, biar saya gampang kabarin update artikel terbaru. 🙂
·zuam
gan kalau mau busat image slide manual di dalam post gimana?
·Chaidir
Kalau mau diletakkan di dalam post bisa aja. Tinggal tulis kodenya di mode HTML. Tapi, bergantung blognya juga pakai apa, tinggal disesuaikan saja. Yang jelas gambar harus sudah di-upload dan ambil linknya.
·Albarra
kodenya yang mana bang?
·Dipayana
Hallo mas Chaidir, mau nanya sedikit tentang ukuran slide fotonya. Gimana caranya di resize? Soalnya saya udah coba sedikit otak atik css nya tapi tetep segitu aja besarnya. Selebihnya lancar jaya mas. thx mas Chaidir!
·Sukses terus!
Chaidir
Untuk ukuran gambar sebaiknya disiapkan terlabih dulu dengan ukurang yang sesuai. Biasanya saya pakai photoshop.
·Nah setelahnya bisa lebih mudah, untuk atur dimensi ukuran frame gambar lewat CSS. Seperti contoh dibagian CSS .slide img { height:450px; width:960px }
Adi
mas klo buat scriptnya itu berjalan automatis atau autoplay di tambahkan apa ya, mhon penjelasannya, terima kasih
·Chaidir
Nanti saya jelaskan di tutorial selanjutnya saja yaa, biar bisa dibaca pengunjung yg lain juga. ^^,
·Aramiko
Kak maksud dari yang di bawah ini apaan kak ?
belum ngerti, mohon penjelasannya ???
.slide input:nth-child(1) { z-index:13 }
.slide input:nth-child(3) { z-index:12 }
.slide input:nth-child(5) { z-index:11 }
.slide input:nth-child(7) { z-index:10 }
.slide input:nth-child(1):checked ~ input:nth-child(3),
·.slide input:nth-child(3):checked ~ input:nth-child(5),
.slide input:nth-child(5):checked ~ input:nth-child(7) { z-index:15 }
Chaidir
Oke, pertama nth-child(ke-n) itu digunakan untuk memilih masing-masing tag input, aslinya keempat input tersebut letaknya saling berhimpitan dan supaya urutannya sesuai, digunakan z-index dengan posisi teratas yang punya nilai terbesar.
Nah, kalau input pertama sudah di-checked sementara input kedua letaknya dibawah. Kan jadi gak bisa gitu di-klik muncul gambar kedua. Makanya kita pakai CSS sibling combinator dengan nilai z-index: 15 (terbesar dari yang paling atas). Ini supaya gitu input pertama diklik, maka posisi yang teratas digantikan dengan input berikutnya.
Lhoh kok dari tadi bicarain tag input? Iyaa aslinya yang diklik itu bukan gambar, tapi tag input. Hanya saja yang terlihat dilayar adalah gambar. Kok bisa? Itu lah peran CSS display: none atau visibility: visible.
Semoga bisa lebih dimengerti. 🙂
·Gabriella
mas, caranya buat slideshow tanpa di klik gimana caranya ya ?? Terimakasih
·Chaidir
Kalau yg tanpa klik nanti saya buatkan tutorialnya yaa. 🙂
·Lucy Emyr Shan
Mas, kan saya udah ngikutin semua caranya. Terus pas saya cek berhasil. Tapi saat saya menambahkan jumlah gambarnya kok gak muncul ya gambarnya saat saya cek?
solusinya dong
·Chaidir
Coba dibaca komentar sebelumnya. Saya sudah jelaskan gimana mengatasi kasus untuk menambahkan jumlah gambar. 🙂
·tamami
mantap ..blum nyambung..aku
·Vian Jersy
bagus skali info slideshownya ,, kebetulan saya ada buat project web ,, skalian tmbahan slide gambarnya ..
·mantap slidenya mas caidir ..
beryl azzami
maaf mas, letak head itu di mana ya?
·Chaidir
Biasanya di barisan atas coding template setelah tag <HTML> atau bias cari juga </head>
·Diego Surya
om kalau mau buat auto slide gimana setiap 3 detik ganti foto nya ?
·Chaidir
Kalau itu dia mesti pakai JavaScript atau JQuery. Tutorial diatas cuman pakai CSS saja jadi ndak bisa buat auto slide. Nanti di tutorial berikutnya saya coba buatkan. 🙂
·andre
Saya sudah berhasil kak, cuma masalahnya kenapa menu dropdown saya berada di bawah slide ya ? jadi kalau dropdown kehalangan sama slide, bagaimana cara benerinya ya kak ? saya menggunakan css yang berbeda untuk dropdown dan slide
·Chaidir
Kalau gitu kode HTML slide-nya bisa dipindahin di bawah kode HTML dari dropdown atau bisa diletakkan dibagian mana yang Mas suka. 🙂
·Arief Surya
Sip kak
·Terima kasih nya atas bantuannya
Cuma kenapa kok angkanya nth child nya selalu ganjil ?
Chaidir
Itu karna code HTML untuk gambarnya terletak di baris yg ganjil. Kalau letak tag
·SUDARTO
Bagus dan Jelas Penyampaiannya buat orang awam seperti saya mas, boleh yah ikut belajar ?
·Chaidir
Ayo belajar bareng Mas Sudarto. 🙂
·manan
bro… kalau boleh, bagi dong ilmu cara buat kolom komentar pengunjung kaya di webx bro ini. he he he maklum sya gaptek.
·Chaidir
Kapan2 nanti saya buatkan tutorialnya. 🙂
·Yang penting sering2 mampir kemari aja.
manan
makasih yaa, artikelnya manfaat bgt. mhon izin ngikut baca artikel lainnya yaaa. selamat berkarya n sharing ilmu. go ahead.
·manan
makasih yaa artikelnya manfaat bgt
·zainal
mas kalau slide.a tanpa harus di klik gmna mas ya
·Chaidir
Kalau tanpa harus diklik biasanya itu pakai Script atau JQuery lagi..
·Saya belum coba buat yang pure CSS apa bisa atau gak.
sabda awal
ternyata mudah ya, aku kira sesulit lah, semuanya dipemrudah oleh bg Chaidir.Web.ID
·Chaidir
Kalau sering2 nyoba mestinya bisa lebih mudah bg SabdaAwal.Com
·artopraph
Keren om, blognya juga bagus
·Harus banyak belajar ini
Chaidir
Ayo sama-sama belajar Mas Artopraph. 🙂
·George
terima kasih bro, saya kebetulan suka sekali sama yang namanya desain, dan referensi yang bro bagikan sangat bermanfaat bagi saya, sekali lagi makasih ya bro
·Chaidir
Sama-sama Mas George. 🙂
·Midas
blog bagus sepanjang masa. hahaha..
·thx infonya brother..
Chaidir
terima kasih kembali sudah mau mampir brother..
·Muliadin
Saya sudah coba terapkan, tapi ketika saya harus tampilkan beberapa gambar, yang muncul cuma 4 gambar saja.
·Gambar selanjutnya tidak muncul dan kembali ke gambar yang pertama.
Mohon solusinya. Mksh
Chaidir
Berarti Mas sudah berhasil bikin slide untuk 4 gambar kan? 🙂
Karna ini pure CSS, tuk lebih dari 4 gambar ada bagian CSS yang perlu ditambahkan lagi.
Misal untuk buat 8 gambar :
Begitu seterusnya. Saya rasa Mas Muliadin bisa paham cara kerja slide ini sekarang? 🙂
·Belajar Teknologi dan SEO Bersama
failed
·Chaidir
Apanya yg failed? 😀
·Ehwansah Jailani
mantap ne mas… bole di copy kan mas scriptnya… hehe
·Chaidir
Untuk kode HTML-nya boleh aja silahkan di-copy.. 😀
·Untuk teks penjelasannya harus tetap tinggal disini yaa. Gak boleh dibawa pergi juga. heheh..
Fajri Alhadi
keren bang, makasih ya
·Chaidir
Siiip Mas Fajri.. Makasih juga buat masukan idenya yaa. 😀
·Megi Tristisan
keren klo buat di blogger gmana mas ?
·Chaidir
Iyaa sama aja! ^_^
·Tinggal kasih URL Gambar yang Mas mau di bagian tag img. Terus sesuaikan mau diletakkan dimana.