Hallo,
Gibt es dabei eine Möglichkeit, nur die aktuell nötigen Dateien zu laden?
Die Logik, die entscheidet, welche Styleregeln nötig sind, ist wahrscheinlich keine triviale. Daher wird eine Programmiersprache nötig sein, die bei Bedarf das HTML manipulieren kann und Stylesheets referenzieren kann. HTML und CSS sind keine Programmiersprachen und die deklarative Logik z.B. von Media-Queries ist noch sehr begrenzt und kann die seitenspezifische Frage "Welche Stylesheets sind nötig" nicht beantworten. Da wärst du also bei den Techniken, die du schon genannt hast: Clientseitiges JavaScript oder eine beliebige serverseitige Programmiersprache.
Generell kann man sich verschiedene Logiken überlegen, wie man das Laden von Stylesheets automatisiert. Beim Generieren einer Seite (des HTML-Dokuments) können z.B. alle vorkommenden Module aggregiert werden und die entsprechenden Stylesheets per Konvention referenziert werden. Sinnvollerweise werden diese Module serverseitig zu Paketen gebündelt, sodass nur ein Request gemacht wird.
Modularisierungslösungen wie RequireJS oder Web Components gehen in diese Richtung. Sie erlauben das Deklarieren, Bündeln und Laden von Modulen, welche aus HTML, CSS und JavaScript bestehen. Serverseitig ist dann ein Dienst nötig, der alles zusammenschnürt und ausliefert. Google hat so etwas mal für JavaScript gebaut.
Grüße
Mathias