En este video aprenderás a crear un botón de ir arriba con una buena animación con HTML, CSS y JavaScript
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous"> <link rel="stylesheet" href="gotop.css"> <title>GoTop</title> </head> <body> <header> <nav> <ul> <li><a href="#">Home</a></li> <li><a href="#">Proyectos</a></li> <li><a href="#">Blog</a></li> <li><a href="#">Contacto</a></li> </ul> </nav> </header> <div class="container"> <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. A, labore. Tenetur quasi, laboriosam veritatis corrupti illum dolorem, officia earum laborum enim debitis quam accusantium delectus magnam commodi expedita aut a! Iste culpa facilis quis nulla, repudiandae, vel totam neque earum labore, quidem molestias cumque corporis explicabo amet quasi placeat dolorum.</p> <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. A, labore. Tenetur quasi, laboriosam veritatis corrupti illum dolorem, officia earum laborum enim debitis quam accusantium delectus magnam commodi expedita aut a! Iste culpa facilis quis nulla, repudiandae, vel totam neque earum labore, quidem molestias cumque corporis explicabo amet quasi placeat dolorum.</p> <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. A, labore. Tenetur quasi, laboriosam veritatis corrupti illum dolorem, officia earum laborum enim debitis quam accusantium delectus magnam commodi expedita aut a! Iste culpa facilis quis nulla, repudiandae, vel totam neque earum labore, quidem molestias cumque corporis explicabo amet quasi placeat dolorum.</p> <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Voluptatum minus quas omnis rem aspernatur distinctio eaque iusto sequi consequatur laborum soluta repellat aut perferendis autem nihil placeat aliquid laudantium earum hic necessitatibus doloremque, cumque dolores ipsa! Velit obcaecati error, fugit facilis vel totam est numquam laboriosam, quae assumenda quasi ex, perferendis delectus doloribus exercitationem unde labore impedit quas rerum nam fuga iste. Unde ea placeat quidem ipsa, totam nihil quam doloribus magnam atque voluptatum omnis neque voluptatem error. Molestias odit iure quae dolore labore quia minima natus unde pariatur veritatis consequatur itaque ea dolorum quo asperiores aperiam commodi, fugiat quisquam suscipit aliquid. Delectus laudantium ipsam sed. Fugit corporis exercitationem harum amet, eveniet dicta? Id dolor odit aliquam quidem numquam similique, temporibus vero natus sapiente sunt praesentium, adipisci corporis! Eaque enim modi voluptatum assumenda, provident delectus. Asperiores fugit odio officia minima! Dolores repudiandae quis possimus ullam ab iste culpa tempore officiis.</p> <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aut tenetur aliquid, dolore ipsa sapiente fugit eum, facere iste maxime odit, harum nisi excepturi? Unde illum consequuntur aliquid dignissimos numquam atque deleniti quis harum blanditiis sint eligendi, fugiat nisi ea nemo quas quae praesentium repellat consequatur omnis, cum molestiae. Tenetur minima, suscipit laudantium consectetur, quas accusamus vel sequi laboriosam recusandae cumque at, sit dolores ipsam in. Accusamus maiores vero maxime labore quia praesentium, nesciunt reprehenderit blanditiis, ut modi nulla beatae.</p> <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Quaerat dolorem molestiae facilis ratione nemo ipsam natus beatae obcaecati ea corrupti, alias rem optio quia earum repudiandae aspernatur quis consequuntur animi repellendus placeat dolorum eveniet a iure? Voluptatem, illum.</p> <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Tempora fugit nisi velit est aliquam id architecto, soluta ab, saepe quos unde quia incidunt. Dolorem, quisquam est! Amet pariatur nesciunt odio saepe ducimus accusantium laudantium autem reiciendis enim iusto repudiandae aspernatur ipsum nihil, unde et ea deleniti suscipit vitae temporibus asperiores blanditiis? Tempore, cum corporis expedita ipsum nemo molestiae modi facere a consectetur numquam eaque. Laborum pariatur modi eaque. Temporibus magnam amet optio eos ratione ut blanditiis sunt rem similique. Recusandae in, nihil corrupti illum, quo molestias nulla, est eius ab magni quaerat ducimus autem voluptates sed voluptatibus laboriosam nesciunt?</p> <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. A, labore. Tenetur quasi, laboriosam veritatis corrupti illum dolorem, officia earum laborum enim debitis quam accusantium delectus magnam commodi expedita aut a! Iste culpa facilis quis nulla, repudiandae, vel totam neque earum labore, quidem molestias cumque corporis explicabo amet quasi placeat dolorum.</p> <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. A, labore. Tenetur quasi, laboriosam veritatis corrupti illum dolorem, officia earum laborum enim debitis quam accusantium delectus magnam commodi expedita aut a! Iste culpa facilis quis nulla, repudiandae, vel totam neque earum labore, quidem molestias cumque corporis explicabo amet quasi placeat dolorum.</p> <p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Voluptatum minus quas omnis rem aspernatur distinctio eaque iusto sequi consequatur laborum soluta repellat aut perferendis autem nihil placeat aliquid laudantium earum hic necessitatibus doloremque, cumque dolores ipsa! Velit obcaecati error, fugit facilis vel totam est numquam laboriosam, quae assumenda quasi ex, perferendis delectus doloribus exercitationem unde labore impedit quas rerum nam fuga iste. Unde ea placeat quidem ipsa, totam nihil quam doloribus magnam atque voluptatum omnis neque voluptatem error. Molestias odit iure quae dolore labore quia minima natus unde pariatur veritatis consequatur itaque ea dolorum quo asperiores aperiam commodi, fugiat quisquam suscipit aliquid. Delectus laudantium ipsam sed. Fugit corporis exercitationem harum amet, eveniet dicta? Id dolor odit aliquam quidem numquam similique, temporibus vero natus sapiente sunt praesentium, adipisci corporis! Eaque enim modi voluptatum assumenda, provident delectus. Asperiores fugit odio officia minima! Dolores repudiandae quis possimus ullam ab iste culpa tempore officiis.</p> </div> <div class="go-top-container"> <div class="go-top-button"> <i class="fas fa-chevron-up"></i> </div> </div> <script src="gotop.js"></script> </body> </html>
CSS
* { padding: 0; margin: 0; box-sizing: border-box; } html { font-size: 10px; } /* Barra de navegación */ header { height: 6rem; background: #333; padding: 0 5rem; } ul li { display: inline-block; } ul li a { line-height: 6rem; color: #fff; text-decoration: none; font-size: 2rem; padding: 0 1rem; } .container { max-width: 80rem; margin: auto; padding-top: 4rem; } .container p { font-size: 2rem; margin-bottom: 2rem; } /* GOTOP */ .go-top-container { position: fixed; bottom: 4rem; right: 4rem; width: 6.6rem; height: 6.6rem; z-index: -1; } .go-top-button { width: 0rem; height: 0rem; background: #2071b2; border-radius: 50%; cursor: pointer; transition: 0.2s; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; } .go-top-button i { position: absolute; font-size: 1.7rem; top: 48%; left: 50%; transform: translate(-50%, -50%) scale(0); color: #fff; transition: 0.2s; } .show { z-index: 10; } .show .go-top-button { animation: popup 0.3s ease-in-out; width: 6.6rem; height: 6.6rem; z-index: 11; } .show i { transform: translate(-50%, -50%) scale(1); } @keyframes popup { 0% { width: 0; height: 0; } 50% { width: 8rem; height: 8rem; } 100% { width: 6.6rem; height: 6.6rem; } }
JavaScript
window.onscroll = function(){ console.log(document.documentElement.scrollTop); if(document.documentElement.scrollTop > 100) { document.querySelector('.go-top-container').classList.add('show'); } else{ document.querySelector('.go-top-container').classList.remove('show'); } } document.querySelector('.go-top-container').addEventListener('click', () => { window.scrollTo({ top: 0, behavior: 'smooth' }); });
No te olvides de dejar tu comentario