Les sites web à page unique ou One Page Navigation en anglais sont devenu à la mode surtout après que plusieurs marques de renommées mondiales l’ont utilisés pour présenter de façon originale le lancement d’un produit ou un service.
Vous pouvez consulter la démonstration ici : Démo
Si vous souhaitez faire la même chose voici comment procéder :
Fichier HTML :
<!-- Section #1 --> <section id="top" data-speed="10" data-type="bgSite"> <article> <h1>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h1> <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maiores, impedit, libero quis aliquid laudantium omnis eius soluta ullam hic nisi! Quidem, iure, mollitia ipsa maxime sunt eveniet quo culpa tempora!</div> <div>Autem, rem iure odit ad et quos maxime totam vero error temporibus eveniet tenetur voluptate ipsa sit dolores molestias mollitia illum magnam consequatur id dolorem accusamus in officia voluptatibus harum.</div> <div>Fugit, architecto, quidem, odio, aspernatur natus sit assumenda veritatis quo iure perspiciatis nobis ipsum libero rerum deleniti nostrum voluptas at esse vitae corrupti eius veniam ducimus autem sunt suscipit nulla!</div> <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Placeat, mollitia, voluptatem ut suscipit dolor tenetur incidunt vel molestias dicta nihil at illum distinctio cumque quaerat eum. Rem, quibusdam dolores accusamus!</div> <div>Amet, aspernatur, ut, nihil modi distinctio repudiandae quaerat fugit nesciunt a cupiditate optio ab illum sapiente tempora numquam. Vitae architecto dolor velit error quis fuga at laboriosam rerum rem corrupti?</div> </article> </section> <!-- Section #2 --> <section id="middle" data-speed="4" data-type="bgSite"> <article> <h1>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h1> <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maiores, impedit, libero quis aliquid laudantium omnis eius soluta ullam hic nisi! Quidem, iure, mollitia ipsa maxime sunt eveniet quo culpa tempora!</div> <div>Autem, rem iure odit ad et quos maxime totam vero error temporibus eveniet tenetur voluptate ipsa sit dolores molestias mollitia illum magnam consequatur id dolorem accusamus in officia voluptatibus harum.</div> <div>Fugit, architecto, quidem, odio, aspernatur natus sit assumenda veritatis quo iure perspiciatis nobis ipsum libero rerum deleniti nostrum voluptas at esse vitae corrupti eius veniam ducimus autem sunt suscipit nulla!</div> <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Placeat, mollitia, voluptatem ut suscipit dolor tenetur incidunt vel molestias dicta nihil at illum distinctio cumque quaerat eum. Rem, quibusdam dolores accusamus!</div> <div>Amet, aspernatur, ut, nihil modi distinctio repudiandae quaerat fugit nesciunt a cupiditate optio ab illum sapiente tempora numquam. Vitae architecto dolor velit error quis fuga at laboriosam rerum rem corrupti?</div> </article> </section> <!-- Section #3 --> <section id="bottom" data-speed="8" data-type="bgSite"> <article> <h1>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h1> <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maiores, impedit, libero quis aliquid laudantium omnis eius soluta ullam hic nisi! Quidem, iure, mollitia ipsa maxime sunt eveniet quo culpa tempora!</div> <div>Autem, rem iure odit ad et quos maxime totam vero error temporibus eveniet tenetur voluptate ipsa sit dolores molestias mollitia illum magnam consequatur id dolorem accusamus in officia voluptatibus harum.</div> <div>Fugit, architecto, quidem, odio, aspernatur natus sit assumenda veritatis quo iure perspiciatis nobis ipsum libero rerum deleniti nostrum voluptas at esse vitae corrupti eius veniam ducimus autem sunt suscipit nulla!</div> <div>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Placeat, mollitia, voluptatem ut suscipit dolor tenetur incidunt vel molestias dicta nihil at illum distinctio cumque quaerat eum. Rem, quibusdam dolores accusamus!</div> <div>Amet, aspernatur, ut, nihil modi distinctio repudiandae quaerat fugit nesciunt a cupiditate optio ab illum sapiente tempora numquam. Vitae architecto dolor velit error quis fuga at laboriosam rerum rem corrupti?</div> </article> </section>
Fichier CSS :
#top { background: url(images/top.jpg) 50% 0 no-repeat fixed; height: 800px; margin: 0 auto; width: 100%; max-width: 1920px; position: relative; box-shadow: 0 0 50px rgba(0,0,0,0.8); } #middle { background: url(images/middle.jpg) 50% 0 no-repeat fixed; height: 800px; margin: 0 auto; width: 100%; max-width: 1920px; position: relative; box-shadow: 0 0 50px rgba(0,0,0,0.8); } #bottom { background: url(images/bottom.jpg) 50% 0 no-repeat fixed; height: 800px; margin: 0 auto; width: 100%; max-width: 1920px; position: relative; box-shadow: 0 0 50px rgba(0,0,0,0.8); } #top article { position: absolute; top: 150px; width: 100%; } #middle article { position: absolute; top: 150px; width: 100%; } #bottom article { position: absolute; top: 150px; width: 100%; } #top h1 { text-align: center; font-size: 2.2em; color: #ffffff; margin-bottom: 50px;} #top div { color: #fff; width: 600px; margin: 0 auto; text-align: justify; line-height: 20px; padding-bottom: 10px; text-shadow: 1px 1px 1px #000; background-color: rgba(0,0,0, 0.5); padding: 10px; border-radius: 0px;} #middle h1 { text-align: center; font-size: 2.2em; color: #ffffff; margin-bottom: 50px;} #middle div { color: #fff; width: 600px; margin: 0 auto; text-align: justify; line-height: 20px; padding-bottom: 10px; text-shadow: 1px 1px 1px #000; background-color: rgba(0,0,0, 0.5); padding: 10px; border-radius: 0px;} #bottom h1 { text-align: center; font-size: 2.2em; color: #ffffff; margin-bottom: 50px;} #bottom div { color: #fff; width: 600px; margin: 0 auto; text-align: justify; line-height: 20px; padding-bottom: 10px; text-shadow: 1px 1px 1px #000; background-color: rgba(0,0,0, 0.5); padding: 10px; border-radius: 0px;}
Code jQuery :
$(document).ready(function(){ // Cache the Window object $window = $(window); $('section[data-type="bgSite"]').each(function(){ var $bgItem = $(this); $(window).scroll(function() { var yPos = -($window.scrollTop() / $bgItem.data('speed')); var coordonnees = '80% '+ yPos + 'px'; $bgItem.css({ backgroundPosition: coordonnees }); }); }); }); //pour IE document.createElement("article"); document.createElement("section");
Vous pouvez consulter la démonstration ici : Démo
Si vous avez des questions n’hésitez pas à les poser dans les commentaires.