Były już takie tematy, wystarczyło poszukać.
Przez sam HTML i CSS tego nie zrobisz, potrzebujesz przynajmniej JS chociaż to średnie rozwiązanie. Najlepiej to zrobić przy użyciu PHP. Jeśli to tylko zwykłe dołączenie kodu HTML to możesz użyć zwykłego include/require, które jakby wstawi Ci kod z innego pliku. Wtedy masz osobny plik w którym jest sam header czy footer i jest to przez PHP doklejane na każdej innej podstronie.
Najlepszym jednak sposobem jeśli masz tam coś więcej PHP jest Twig - system szablonów dzięki któremu oddzielisz kod PHP od HTML i bez problemu zrobisz tam jeden bazowy szablon do którego wstawiane będą w określone miejsce kody danych podstron.