Ist es heute zu Tage noch sinnvoll HTML und CSS zu lernen? Wenn ja, wofür?
HTML und CSS ist quasi das Fundament der Webtechnologie. Eine andere Technologie, die diese ersetzen könnte, kann ich nicht sehen.
HTML ist ein "Subset" (oder Superset?) von XML, stammt also quasi davon ab. XML ist ein bestimmtes Datenformat, bei dem die Daten nicht in "roher" Form vorliegen, wie zum Beispiel bei Bilddaten, sondern jeder Datensatz wird zusammen mit der Beschreibung, was gespeichert wird, abgelegt und zwar in für Menschen lesbarer Form:
<Vorname>Tim</Vorname> 
<Nachname>Berners-Lee</Nachname> 
<Rolle>Erfinder von HTML</Rolle> 
Somit lernt man mit HTML eine der wenigen Techologien, die universell verwendbar sind. Wenn man HTML versteht, versteht man auch XML, und es gibt noch weitere Datenformate, die sehr ähnlich sind, z.B. JSON:
{ 
 "Vorname": "Tim", 
 "Nachname": "Berners-Lee", 
 "Job": "Vorstand des World Wide Web Consortium (W3C)" 
} 
oder das noch weiter reduzierte YAML:
{name: John Smith, age: 33} 
Mit JSON kommt man automatisch in Kontakt, wenn man JavaScript programmiert, was ein weiterer Kernbaustein in der Webprogrammierung ist. JavaScript hat sich die letzten Jahre so weiterentwickelt, dass es auch in anderen Bereichen, wie Server und Anwendungen eingesetzt wird und ist für meine Begriffe, für sich genommen, auch eine gut zu erlernende Einsteigersprache. (Allerdings mit Einschränkung, da mit JavaScript oft auch ein gewisses 'Ökosystem' mit zu lernen ist.)
Im Unterschied zu XML allerdings beschreibt HTML nicht die Daten an sich, sondern wie diese im Kontext einer Webseite für den Browser zu interpretieren sind. Zum Beispiel:
<h1>Asterix der Gallier</h1> 
wobei <h1> (heading 1) dem Browser mitteilt, dass der Text "Asterix der Gallier" in der größten Schriftgröße anzuzeigen ist, wie das z.B. bei einem Buchtitel der Fall ist.
CSS, also Cascading Style Sheets, sind "Gestaltungsanweisungen" für den Browser, mit denen man Farben, Abstände, Schriftgrößen usw. definiert und die untrennbar zu HTML gehören. So teilt man zum Beispiel dem Browser mit, dass man für den <h1> "Tag" eine bestimmte Schriftgröße und Farbe wünscht:
h1 { 
 font-size: 24pt; 
 color: blue; 
} 
Diese Anweisungen kann man auch innerhalb von HTML unterbringen, im sogenannten "style" "Attribut":
<h1 style="font-size:24pt;color:blue">Überschrift</h1> 