Frameworks sind super, früher TM hab ich auch oft versucht "alles" selbst zu machen.
Aber für ein erstes Projekt würde ich die gute alte Schule gehen und Code selbst schreiben, das heißt:
HTML, CSS, Javascript und PHP in möglicher Rohform.
Meine persönliche Meinung ist eigentlich in etwa so gelagert: Wenn kein Zeitdruck dahinter steht, kauf dir ein Buch oder sieh dir Schuldungsvideos an zu den Sprachen.
Ich weiß nicht welche Sprache/Sprachen du in deiner Ausbildung begegnen wirst, idealerweise liegt es nahe dem was du später machst.
Aber so viel sei gesagt, die meisten Sprachen ähneln sich sehr im Grundaufbau und folgen dem ein oder anderen Paradigma - aber Grundelemente sind überall relativ gleich.
Nun ist es aber so, das HTML erst mal nur eine Auszeichnungssprache ist von "losen" Elementen. Das heißt ein "div" ist ein Container, ein "p" ein Paragraph Element, ein "span" usw....
Aber HTML/CSS ist fast völlig egal was wann und wie kommt, und das ist das schlimme. Dass weitere Styling des einen oder allen Divs im HTML Code kannst du mittels CSS stylen. (okay, das ist ein No-Brainer)
Aber so etwas ist erst mal keine "Programmiersprache".
HTML gibt dir auch keine Regeln vor wie es aufgebaut werden muss außer wo und wie Daten "Titel" (HEAD), Seite (BODY) + js und CSS (HEAD oder inline Deklaration in einem Element (PFUI!) du gestalten kannst.
Ich würde dir daher eher empfehlen HTML wegzulassen wie auch CSS und den Fokus eher auf eine "Programmiersprache" zu legen die dir gewisse Regeln vorgibt.
HTML und CSS besitzen wenig bis keine "Logik" wie beispielsweise Schleifen, FOR, WHILE DO, DO WHILE, SWITCH CASE, IF, ELSE, Modulo Operator, Ternary Operator und auch keine Einblicke ob die Variable "Tiger" jetzt ein "String" oder doch nur eine Reihe von einzelnen Zeichen ist, die du so oder so bearbeiten oder modellieren kannst.
Vorschlag zur Güte, lern Python oder PHP - das sind beides "Sprachen" die auch "Touringfähig" sind. (Hab ich mir mal so sagen lassen).
Wie dem auch ist, Python hat viele Dinge, die andere Sprachen nicht haben, und es ist im Grunde ein Skriptsprache die Interpretiert wird und nicht kompiliert.
PHP wird ebenfalls interpretiert, durch den Webserver bzw. den PHP Interpreter.
C(++) wird kompilliert und du erhälst ein Binary das ausgeführt werden kann.
Python ist für Anfänger aber meiner Meinung nach einfacher zu verstehen und der Syntax ist etwas "menschlicher" als Beispielsweise bei PHP.
Dazu kommt das Variablen in der Praxis jeden Wert erhalten könnten, PHP zwar ebenfalls.
Das ist allerdings auch eine schöne einfache Sache zum Starten, weil es egal ist ob "int8", "int32" oder "float64" als Typen genommen werden oder nicht.
Lange Rede kurzer Sinn... HTML und CSS kannst erst einmal vernachlässigen. Wichtiger wäre es meiner Meinung nach eine Sprache zu lernen, bei der du von Hause aus oder über Extensionsn oder Libs viel machen kannst, aber welche dir "Grundlagen" im Coding beibringen.
Grundlegende Dinge (unvollständige Liste): Schleifen, Funktionen, Eingabe von Daten, "Bearbeitung" der Daten", Ausgabe, (EVA Prinzip) etwas Objektorientierte Programmierung mit "Klassen" oder "Objekten", zum Beispiel mit Daten die es bereits im Netz gibt, irgend eine Statistik. Datenverarbeitung, Konvertierung und Umwandlung in ein gängiges (eigenes oder bekanntes) Daten-Format.
Such dir Beispielsweise eine Liste der (X >= 100) Menschenreichsten Städte der Welt raus (zum Beispiel Wikipedia), und fange damit an zu arbeiten.
Zum Beispiel das ein User eine Eingabe machen kann und alle Städte zeigen will zwischen $EINGABE1 und $EINGABE2 Menschen haben und gib diese aus.
Oder versuche die Liste zu sortieren, Alphabetisch oder über die Zahl, mal die kleinsten, mal die größeren Metropolen.
Ich spreche deshalb Daten an, weil dir für jede Option die dein City-Manager können sollte, zum Beispiel Funktionen schreiben kannst.
Oder eine Stadt ist ein Objektinstanz und du suchst noch andere Daten zusammen, zum Beispiel welche der Städte liegt an Flüssen, welche hat das größte Verkehrsaufkommen oder oder.
Und last but not least, Frameworks sind zwar schön und gut und man spart sich etwas - aber wenn es mal irgendwo "hapert" musst du außerhalb des Frameworks denken können.
A famous quote from a even more famous person.... as a side joke
"isEqual/isEven", "isLess","isMore", "isEven", "isOdd"
Equals: ==, <, >, %2 == 0 / 1
Gibt Leute die Nutzen "Mini-Libs" oder "Frameworks" für so etwas. Und da fängt es an Grenzdebil zu werden.
Jedenfalls, man muß das Rad nicht immer neu erfinden und Frameworks sind meiner Meinung nach gut, wenn man in etwa weiß was passiert oder man es auch ohne könnte. Letzteres klingt etwas Arrogant vielleicht, aber man sollte kein Framework lernen, sondern Programmieren und (Skript-)Sprache die einem eine logischen Grundriss beibringen auf dem man dann in anderen Sprache "aufbauen" kann.
Vermutlich gibt es noch mehr was man dazu sagen könnte, aber lerne nicht JQuery wenn du Javascript lernen willst, sondern lerne Javascript, finde die Grenzen und Probleme und dann, wenn das sitzt, kannst du überlegen ob und wie du JQuery Nutzen willst. Oder ob du es brauchst.
Im übrigen noch ein wichtiger Punkt, ein Framework unterläuft ja mehrere Iterationen bis es "Perfekt" ist und viele Leute/Nutzerbasis helfen dabei das Sprache/Framework besser oder einfacher wird.
Aber im Grunde betrügt man sich damit selbst, weil man nicht lernt "wie es umgesetzt ist" (ohne auf den Assembler Kommentar zu puffern) sondern nur wie man das Framework anwendet.
Du willst aber, richtiger Art und Weise programmieren lernen. Das heißt, fang mit einer Sprache an, aber bitte nicht HTML und CSS.