Desplazamiento suave con css puro [duplicado]

Esta pregunta ya tiene una respuesta aquí:

CSS: animación de desplazamiento CSS puro 4 respuestas

¿Cómo puedo hacer un desplazamiento suave con solo CSS puro?

Tengo este codigoViolín

HTML

<a id="up" href="#down">down</a>
<div class="up"></div>

<a id="down" href="#up">up</a>
<div class="down"></div>

CSS

.up {
    width:100px;
    height: 600px;
    background-color: red;
}

.down {
    width:100px;
    height: 400px;
    background-color: yellow;
}

Lo sé:target&nbsp;puede ayudar pero no sé cómo usarlo contransition.