Beranda » Coding » Tutorial HTML5 Cara Membuat Halaman Produk Tunggal
Tutorial HTML5 Cara Membuat Halaman Produk Tunggal
Artikel ini adalah bagian dari kami "Seri Tutorial HTML5 / CSS3" - didedikasikan untuk membantu Anda menjadi desainer dan / atau pengembang yang lebih baik. Klik disini untuk melihat lebih banyak artikel dari seri yang sama.
Dalam posting ini, kami akan mengerjakan proyek fiksi, membuat halaman produk tunggal untuk menawarkan iPhone 4S, dan dalam proyek ini kami juga akan menerapkan metode yang telah kami bahas dalam posting sebelumnya; itu elemen dan pemilih negasi.
Mari kita mulai.
Markup HTML5
Pertama, kita perlu membuat html dokumen dengan markup berikut:
Apple iPhone 4 - 16GB
IPhone yang paling menakjubkan.
Chip A5 dual-core lebih cepat. Kamera 8MP dengan optik semua-baru juga merekam video HD 1080p. Dan memperkenalkan Siri. Ini iPhone yang paling menakjubkan.
Fitur Produk
Kamera 8 mega piksel dengan perekaman video 1080p penuh
Asisten suara Siri
iCloud
Cetak Udara
Layar retina
Penandaan geografis foto dan video
Kami menggunakan beberapa tag baru dari spec HTML5, seperti tajuk, hgroup, angka, bagian, dan yang telah kita bahas sebelumnya; itu detail dan ringkasan menandai.
Namun, kami tidak akan menggali tag-tag ini, bukan karena kami tidak mau, tetapi ini adalah topik dasar yang dapat Anda temukan dengan mudah di tempat lain. Jadi, jika Anda benar-benar baru mengenal HTML5, saya sarankan Anda membaca referensi tag-tag berikut; mereka telah menjelaskannya secara komprehensif:
Mari Bicara tentang Semantik
Elemen Header HTML5
Elemen hgroup
Referensi Tag HTML5
Sekarang mari kita lihat tampilan pertama halaman kami.
Yah, itu terlihat masuk akal tanpa gaya apa pun. Di bagian paling atas terdapat tajuk, dan kemudian muncul bagian untuk gambar, deskripsi dan terakhir tombol 'Beli Sekarang'. Sekarang, mari kita mulai halaman ini.
Gaya
Kami akan memulai dengan menormalkan semua gaya default menggunakan stylesheet ini dan menambahkan latar belakang gradien ke html menandai.
html height: 100%; latar belakang: # f3f3f3; latar belakang: -moz-linear-gradient (atas, # f3f3f3 0%, #ffffff 50%); latar belakang: -webkit-gradient (linear, kiri atas, kiri bawah, color-stop (0%, # f3f3f3), color-stop (50%, # ffffff)); latar belakang: -webkit-linear-gradient (atas, # f3f3f3 0%, # ffffff 50%); latar belakang: -o-linear-gradient (atas, # f3f3f3 0%, # ffffff 50%); latar belakang: -ms-linear-gradient (atas, # f3f3f3 0%, # ffffff 50%); latar belakang: gradien linier (atas, # f3f3f3 0%, # ffffff 50%); filter: progid: DXImageTransform.Microsoft.gradient (startColorstr = "# f3f3f3", endColorstr = "# ffffff", GradientType = 0);
Ingat bahwa elemen produk kami semuanya dibungkus dalam a div dengan kelas produk. Jadi, di sini kami ingin memusatkan pembungkus dan mengatur lebarnya 650px.
.wrapper width: 650px; margin: otomatis; padding: 25px 0px;
Bagian tajuk
Di bagian tajuk kami memiliki dua judul h1 dan h4, jadi mari kita gayakan elemen-elemen ini.
Seperti biasa IE (Internet Explorer) selalu menyebabkan beberapa masalah; jika Anda membuka ini di IE yang lebih rendah dari 9, halaman akan tetap tidak ditata.
Ini karena Internet Explorer tidak mengenali elemen baru (bagian, tajuk, dll) sehingga gaya yang kami tentukan gagal untuk diterapkan. Jadi, pada langkah selanjutnya kita akan bekerja untuk menyelesaikan masalah ini.
Menguji Dukungan Browser
Dalam posting kami sebelumnya, kami telah menangani dukungan browser untuk elemen detail menggunakan polyfill ini; sehingga bisa bekerja di browser yang tidak didukung. Namun, kali ini kami akan mencoba berbagai cara melakukannya dengan Modernizr.
Dari situs resminya, "Modernizr adalah pustaka JavaScript open-source yang membantu Anda membangun generasi selanjutnya HTML5 dan CSS3-situs web bertenaga". Secara teknis, Modernizr akan menguji dukungan browser untuk elemen dan fitur baru tertentu. Jika dukungan tidak disediakan, kami kemudian harus memberikan mundur apakah itu dengan memberikan gaya yang berbeda atau menyediakan polyfill. Dalam hal ini, kami akan menggunakan Modernizr untuk membantu kami menguji detail dan elemen ringkasan.
Buka Modernizr dan lanjutkan ke halaman unduhannya.
Di halaman unduhan, Modernizr menyediakan beberapa opsi untuk mengonfigurasi perpustakaan, jadi Anda hanya perlu memilih fitur tertentu yang benar-benar Anda butuhkan untuk situs web Anda. Dalam hal ini, kita perlu:
HTML5Shiv 3.4
Tambahkan Kelas CSS, fitur ini akan secara otomatis memasukkan kelas dalam tag html.
itu Modernizr.load,
buka kotak pengaya komunitas dan pilih elem-detail,
Di bagian Extensibility, pilih Modernizr.addTest.
Buat dan unduh file.
Tautkan ke html Anda dan muat ulang halaman di Internet Explorer. Halaman seharusnya sudah ditata sejak Internet Explorer sekarang dapat mengenali tag.
Dan, jika Anda melihat sumber atau memeriksa elemen, Anda akan menemukan kelas no-details telah dimasukkan dalam tag html; menunjukkan bahwa browser tempat kami melihat pratinjau halaman; saat ini tidak mendukung elemen detail. @@@@ [Saya tidak mengerti kalimat ini. ]
Kita kemudian dapat membuat fallback menggunakan kelas ini sebagai hook, yang akan kita lakukan pada langkah selanjutnya.
The Fallback
Pada langkah ini kami akan menyediakan yang serupa detail fungsionalitas elemen untuk browser lain (tidak termasuk Chrome). Di posting sebelumnya, langkah ini secara otomatis dilakukan menggunakan skrip ini, tetapi kali ini kita akan membuatnya sendiri.
catatan: Hanya meninjau sedikit dari pos kami sebelumnya; elemen detail saat ini hanya didukung di browser Chrome.
Jadi, mari kita mulai bekerja pada CSS terlebih dahulu.
Pada tag ringkasan, kami mengubah mode kursor ke penunjuk, sehingga pengguna akan melihat bahwa itu dapat diklik.
ringkasan cursor: pointer; ukuran font: 12pt; garis besar: 0;
Untuk memberi lebih banyak ruang di bagian atas dan bawah elemen detail dengan margin.
detail margin: 20px 0px;
Secara default, tag ringkasan akan memiliki panah. Namun di sini kami ingin menggantinya dengan ikon plus-minus.
catatan: Sebelum melanjutkan, saya sebelumnya telah mengunduh ikon dari koleksi ini oleh Fugue, unduh dan sprite menjadi satu file.
Mari kita tambahkan elemen pseudo sebelum dan lampirkan ikon sebagai latar belakang. Perhatikan bahwa pada titik ini, posisi latar belakang berada di atas yang akan menampilkan ikon plus.
detail> ringkasan: sebelum width: 16px; tinggi: 16px; display: inline-block; konten: "! important; latar belakang: url ('… /https://assets.hongkiat.com/uploads/html5-single-product-page/plus-min.png') tidak ada pengulangan top center; margin-right: 5px; posisi: relatif; atas: 2px;
Kemudian, ketika elemen detail terbuka, posisi latar belakang akan bergerak ke bawah yang akan menampilkan ikon minus.
perincian [terbuka]> ringkasan: sebelumnya, details.open> ringkasan: sebelum background: url ('… /https://assets.hongkiat.com/uploads/html5-single-product-page/plus-min.png' ) no-repeat center bottom;
Itu [Buka] tanda adalah pemilih. Dalam hal ini, ia akan memilih detail atribut terbuka di browser yang mendukung.
Terakhir kita harus menyembunyikan panah yang secara default ditampilkan di Chrome.
Lalu, mari kita lihat hasilnya di browser untuk sementara waktu.
Panah default sekarang telah diganti dengan ikon kami, dan jika Anda melihatnya di Chrome, Anda sudah akan memiliki efek beralih ketika Anda mengkliknya; ikon akan berubah sesuai. Tapi, di browser lain tidak akan terjadi apa-apa. Jadi, pada langkah selanjutnya kita akan mencoba meniru efeknya dengan jQuery.
Efek beralih dengan jQuery
Sebelum kita mulai dengan bagian jQuery, saya ingin mengucapkan terima kasih kepada Ian Devlin untuk inspirasinya, skrip di bawah ini sebenarnya sedikit modifikasi dari bukunya..
Baiklah, mari kita buat variabel untuk menyimpan tag ringkasan.
ringkasan var = $ ('ringkasan detail');
Lalu kami membungkus semua elemen saudara dari ringkasan dengan a div.
summary.siblings (). wrapAll ('');
Dan sembunyikan div itu ketika elemen detail tidak memiliki kelas terbuka.
$ ('details: not (.open) ringkasan'). siblings ('div'). hide ();
Ketika ringkasan diklik, kami ingin div tersembunyi ditampilkan, dan sebaliknya, ketika div awalnya dibuka, itu akan disembunyikan.
Sekarang mari kita coba di browser; efek toggle seharusnya sudah bekerja pada semua browser, saya pribadi sudah memeriksa (sampai Internet Explorer 7).
Demo
Sumber Unduhan
Kiat: Atau Anda dapat mengubah .beralih () dengan .slideToggle () untuk membuat efek slide. Juga jika Anda ingin detail dibuka pada awalnya, Anda bisa menambahkan kelas terbuka di elemen detail.
Kesimpulan
Kami telah melalui semua langkah untuk menciptakan halaman produk tunggal menggunakan HTML5, men-debug untuk browser yang tidak didukung serta mereplikasi efek beralih untuk elemen detail sendiri, jadi semoga Anda dapat belajar banyak dari itu.
Namun, saya sadar bahwa saya tidak menjelaskan semuanya secara terperinci dalam posting ini, jadi jika Anda ingin menghapus sesuatu, jangan ragu untuk mengirim pertanyaan di kotak komentar di bawah ini..