Beh, sostanzialmente fa quello che hai detto all'inizio, ovvero si cambia il css a seconda della dimensione della schermata dell'utente.
Ad esempio, impostando:
Codice:
.classe1
{
margin-top: 20px;
}
@media (max-width: 800px)
{
/* le regole qui sovrascrivono quelle già definite, se le condizioni vengono rispettate (max-width) */
.classe1
{
margin-top: 10px;
}
}
Se lo schermo del visitatore sarà minore di 800px, la proprietà margin-top verrà sovrascritta con il valore 10.
Ci sono molti modi di filtrare (max-width, device-aspect-ratio, min-resolution...).
Comunque una lettura di una guida media queries è sicuramente più esaustiva e approfondita di qualsiasi risposta tu possa avere in un forum.
Ciao!