Ładowanie całych stron (HTML/CSS...) przez AJAXa nie ma za wiele sensu, bo nic nie zyskujesz - pobranie całej strony przez AJAX raczej nie będzie szybsze, a użytkownik klikający podstronę i tak zwykle chce przejść ze strony A do strony B (np. z jednego artykułu do drugiego), więc przestaje być to z automatu Single Page, przynajmniej na poziomie interakcji z użytkownikiem*
Jeśli ładować coś AJAXem to same dane (np. w postaci JSON) i dopiero w przeglądarce generowanie z tego HTML/CSS. Wtedy faktycznie AJAX się na coś może przydać. Jako taki mały agent co ładuje potrzebne rzeczy.
No i odchodzi ci ten problem:
Jeżeli ładowałbym je dynamicznie to na każdej podstronie musiałbym umieszczać skrypt pokazujący podstronę dopiero po załadowaniu.
bo przecież w JSON nie ma żadnych skryptów, więc nie ma problemu.
odchodzi ci też tytuły problem - bo przecież nie dociągasz plików css, tylko JSON.
★ ma to niestety przykre konsekwencje - źle zastosowany AJAX, tj. bez wsparcia dla historii/routingu jest koszmarkiem, bo nie można nawet przekopiować adresu i komuś dać linka, gdyż link ten nie zadziała, jeśli zostało to naiwnie zaimplementowane. A ludzie zwykle nie chcą Single Page Applications, ludzie chcą normalnych stron.