Je suppose que, comme le contenu de la page est court, l’élément #main ne remplit pas 100 % de la hauteur de la fenêtre. Est-ce que l’arrière-plan remplit toute la page si vous ajoutez #main { height: 100vh; } ? Vous pouvez aussi déplacer l’image d’arrière-plan vers la balise HTML à la place.
3 « J'aime »