Bonjour,
Dans le dernier code que tu présentes il y a des choses qui me font penser qu'il faille que tu reprenne html à la base.
Tu as un doctype et c'est très bien mais à la suite tu n'ouvres pas l'élément <html>

et tu ne places pas tes déclarations de style au bon endroit.
Classiquement une page html doit se décomposer comme suit:
-Doctype qui indique au navigateur le dialecte dans lequel est rédigé le code qui suit, ce qui lui permet de l'interpréter correctement (ce qui de la plus haute importance pour l'utilisation de css).
-L'élémént racine <html> qui va contenir deux éléments -fondamentaux eux-aussi- d'un document html <head> et <body>, ce sont ses enfants.
-<head> va recevoir des données décrivant la page elle-même (des metadonnées). Les éléments de cette partie ne seront généralement pas restitués par le navigateur.
Au minimum <head> doit comporter un élément <title> et une <meta...> indiquant le type de contenu de la page et le jeu de carcatères utilisés.
Dans ton cas c'est aussi dans <head> que tes déclarations de styles devraient se trouver (et non après l'ouverture de <body>).
-<body> est le corps de la page, ce qui est restitué dans un agent utilisateur graphique. C'est à cet endroit que le contenu que tu souhaites afficher à tes visiteurs se situe, à l'aide des balises html appropriées aux contenus qu'elles encadrent.
Pour te donner les moyens d'utiliser pleinement css il te faut impérativement maîtriser html, sinon ton apprentissage sera jalonné d'obstacles et parfois de déceptions.
Débutes du contenu de ton site, codes le avec html et ensuite passes au positionnement et à l'habillage graphique avec css, ne fait pas l'inverse. Tu verras que les soucis que tu rencontres seront plus simples à résoudre.