Le CSS (Cascading Style Sheets) est un langage de feuille de style utilisé pour décrire la présentation visuelle d'un document écrit en HTML. Il permet de séparer le contenu (HTML) de sa mise en forme (CSS), rendant ainsi le code plus maintenable et réutilisable.
/* Sélecteur descendant : tous les <a> dans <nav> */nava{color:blue;}/* Sélecteur enfant direct : <li> directement dans <ul> */ul>li{list-style-type:square;}/* Sélecteur frère adjacent : <p> juste après <h2> */h2+p{margin-top:0;}/* Plusieurs sélecteurs : h1, h2 et h3 */h1,h2,h3{font-family:Arial,sans-serif;}
/* Famille de police */font-family:Arial,Helvetica,sans-serif;font-family:"Times New Roman",Times,serif;/* Taille de police */font-size:16px;/* Pixels (fixe) */font-size:1.2em;/* Relatif au parent */font-size:1.2rem;/* Relatif à la racine */font-size:100%;/* Pourcentage *//* Poids de la police */font-weight:normal;/* 400 */font-weight:bold;/* 700 */font-weight:300;/* Léger */font-weight:900;/* Extra gras *//* Style de la police */font-style:normal;font-style:italic;font-style:oblique;/* Décoration du texte */text-decoration:none;/* Pas de décoration */text-decoration:underline;/* Souligné */text-decoration:line-through;/* Barré *//* Transformation du texte */text-transform:uppercase;/* MAJUSCULES */text-transform:lowercase;/* minuscules */text-transform:capitalize;/* Première Lettre En Majuscule *//* Alignement du texte */text-align:left;text-align:center;text-align:right;text-align:justify;/* Espacement */line-height:1.5;/* Hauteur de ligne */letter-spacing:2px;/* Espacement entre lettres */word-spacing:5px;/* Espacement entre mots */
/* Tableau de base */table{width:100%;border-collapse:collapse;/* Fusionne les bordures */margin:20px0;}/* En-tête du tableau */th{background-color:#4CAF50;color:white;padding:12px;text-align:left;font-weight:bold;}/* Cellules du tableau */td{padding:10px;border:1pxsolid#ddd;}/* Lignes alternées (zebra stripes) */tr:nth-child(even){background-color:#f9f9f9;}tr:nth-child(odd){background-color:white;}/* Effet hover sur les lignes */tr:hover{background-color:#f1f1f1;cursor:pointer;}
/* :hover - Survol de la souris */a:hover{color:red;text-decoration:underline;}button:hover{background-color:#0056b3;transform:scale(1.05);}/* :active - Élément actif (clic) */button:active{transform:scale(0.95);}/* :focus - Élément a le focus (champs de formulaire) */input:focus{border-color:blue;outline:2pxsolidlightblue;}/* :first-child et :last-child */li:first-child{font-weight:bold;}li:last-child{border-bottom:none;}/* :nth-child() */tr:nth-child(2){/* Deuxième élément */background-color:yellow;}tr:nth-child(odd){/* Éléments impairs */background-color:#f0f0f0;}tr:nth-child(3n){/* Tous les 3 éléments */background-color:lightblue;}
/* Unités absolues (à éviter pour le responsive) */width:500px;/* Unités relatives (recommandées) */width:50%;/* Pourcentage du parent */font-size:1.2em;/* Relatif à la taille de police du parent */font-size:1.2rem;/* Relatif à la taille de police de la racine */padding:2vw;/* 2% de la largeur du viewport */height:50vh;/* 50% de la hauteur du viewport */
/* Styles de base (mobile-first) */.container{width:100%;padding:10px;}/* Tablettes (768px et plus) */@mediascreenand(min-width:768px){.container{width:750px;margin:0auto;}}/* Ordinateurs (1024px et plus) */@mediascreenand(min-width:1024px){.container{width:960px;}}/* Grands écrans (1200px et plus) */@mediascreenand(min-width:1200px){.container{width:1140px;}}
/* Types d'affichage */display:block;/* Prend toute la largeur */display:inline;/* En ligne avec le texte */display:inline-block;/* En ligne mais avec dimensions */display:none;/* Caché (pas d'espace) */visibility:hidden;/* Invisible (garde l'espace) */
/* Container flex */.container{display:flex;justify-content:center;/* Alignement horizontal */align-items:center;/* Alignement vertical */flex-direction:row;/* Direction (row, column) */flex-wrap:wrap;/* Retour à la ligne */gap:20px;/* Espacement entre éléments */}/* Éléments flex */.item{flex:1;/* Croissance égale */flex-basis:200px;/* Largeur de base */}