En los sitios web, ¿cómo hace que se desplace suavemente a un elemento?

Utiliza JavaScript para suavizar el desplazamiento.

// Desplazarse a valores específicos
// scrollTo es lo mismo
window.scroll ({
arriba: 2500,
izquierda: 0,
comportamiento: ‘suave’
});

// Desplazarse ciertas cantidades desde la posición actual
window.scrollBy ({
arriba: 100, // podría ser un valor negativo
izquierda: 0,
comportamiento: ‘suave’
});

// Desplazarse a un determinado elemento
document.querySelector (‘. hola’). scrollIntoView ({
comportamiento: ‘suave’
});

(O) use jQuery para desplazarse suavemente a un ancla en la misma página.

// Seleccione todos los enlaces con hashes
$ (‘a [href * = “#”]’)
// Eliminar enlaces que en realidad no enlazan a nada
.not (‘[href = “#”]’)
.not (‘[href = “# 0”]’)
.click (función (evento) {
// Enlaces en la página
if (location.pathname.replace (/ ^ \ //, ”) == this.pathname.replace (/ ^ \ //, ”) && location.hostname == this.hostname) {
// Encuentra el elemento para desplazarte
objetivo var = $ (this.hash);
target = target.length? target: $ (‘[nombre =’ + this.hash.slice (1) + ‘]’);
// ¿Existe un objetivo de desplazamiento?
if (target.length) {
// Solo evita el valor predeterminado si la animación realmente va a suceder
event.preventDefault ();
$ (‘html, body’). animate ({scrollTop: target.offset (). top}, 1000, function () {
// Devolución de llamada después de la animación
// ¡Debe cambiar el enfoque!
var $ target = $ (target);
$ target.focus ();
if ($ target.is (“: focus”)) {
// Comprobando si el objetivo estaba enfocado
falso retorno;
} más {
$ target.attr (‘tabindex’, ‘- 1’);
// Agregando tabindex para elementos no enfocables
$ target.focus ();
// Establecer foco otra vez
};
});
}
}
});

Fuente: Desplazamiento suave | CSS-Tricks

Feliz codificación 🙂