Como criar: rolagem suave
- Página anterior Desenho de rolagem
- Próxima página Fundo de gradiente rolando
Aprenda como usar CSS para criar efeitos de rolagem suaves.
Rolagem suave
Section 1
Clique aqui, rolagem suave até a seção 2 inferior.Clique no link para ver o efeito de rolagem 'suave'.
Atenção:Remova a propriedade scroll-behavior para cancelar a rolagem suave.
Rolagem suave
Adicione para o elemento <html> scroll-behavior: smooth
Pode ativar a rolagem suave em toda a página:
Atenção:também pode adicioná-lo a elementos específicos/contêineres de rolagem.
Exemplo
html { scroll-behavior: smooth; }
Suporte do navegador
Os números na tabela indicam a primeira versão do navegador que suporta completamente a propriedade de rolagem.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
61.0 | 79.0 | 36.0 | 14.0 | 48.0 |
solução cross-browser
para navegadores que não suportam scroll-behavior
para navegadores que não suportam jQuery)para criar uma solução cross-browser para todos os navegadores:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $("document").ready(function(){ // Adicione rolagem suave para todos os links $("a").on('click', function(event) { // Certifique-se de que this.hash possui um valor antes de sobrescrever o comportamento padrão if (this.hash !== "") { // Evite o comportamento padrão do clique de âncora event.preventDefault(); // Armazene o valor do hash var hash = this.hash; // Utilize o método animate() do jQuery para adicionar rolagem suave na página // Número opcional (800) especifica os milissegundos necessários para rolar até a área especificada $('html, body').animate({ scrollTop: $(hash).offset().top }, 800, function(){ // Após concluir a rolagem, adicione o número (#) ao URL (comportamento padrão de clique) window.location.hash = hash; ); } // Fim do if ); ); </script>
Páginas relacionadas
Manual de referência:Propriedade CSS scroll-behavior
- Página anterior Desenho de rolagem
- Próxima página Fundo de gradiente rolando