Responsive

1 - Viewport

Le Viewport est la partie visible de la fenêtre du navigateur.
Il faut l'obliger à s'adapter en ajoutant dans la balise <head> des vos pages html :

<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

2 - Unités flexibles

Utiliser des unités relatives afin que le contenu soit "élastique" (%, em, rem, vh, vw...).
Eviter au maximum les unités de valeur absolues (px, mm...)

3 - Images élastiques

Faire en sorte que les images soient aussi flexibles :

img {max-width:100%;height:auto;}

4 - Media Queries

Utiliser les media-queries pour adapter l'affichage selon la taille de l'écran :

p {margin:0.5rem;}

@media screen and ( min-width: 768px ) {
   p {margin:2rem;}
}

@media screen and ( min-width: 1200px ) {
   p {margin:3rem;}
}