<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CSS on Maxence Lagalle</title><link>https://cv.itsame-mcl.eu/tags/css/</link><description>Recent content in CSS on Maxence Lagalle</description><generator>Hugo</generator><language>fr-FR</language><lastBuildDate>Wed, 28 Oct 2026 12:00:00 +0100</lastBuildDate><atom:link href="https://cv.itsame-mcl.eu/tags/css/index.xml" rel="self" type="application/rss+xml"/><item><title>Travaux pratiques CSS 3 : mettre en forme le mini-site</title><link>https://cv.itsame-mcl.eu/posts/formations/html-css/tp-css/</link><pubDate>Wed, 28 Oct 2026 12:00:00 +0100</pubDate><guid>https://cv.itsame-mcl.eu/posts/formations/html-css/tp-css/</guid><description>&lt;p&gt;Suite des travaux pratiques : vous partez de la page HTML terminée à l&amp;rsquo;exercice 7 (voir &lt;a href="https://cv.itsame-mcl.eu/posts/formations/html-css/tp-html/"&gt;le TP HTML&lt;/a&gt;) et vous la mettez en forme avec CSS, de la charte graphique jusqu&amp;rsquo;au responsive design, sans jamais perdre de vue l&amp;rsquo;accessibilité. Si vous n&amp;rsquo;avez pas terminé la première partie, vous pouvez repartir du fichier &lt;code&gt;index.html&lt;/code&gt; de l&amp;rsquo;annexe en bas de page.&lt;/p&gt;&#10;&lt;aside class="alert alert-tip" role="note"&gt;&#10;&lt;strong class="alert-title"&gt;Astuce&lt;/strong&gt;&#10;&lt;div class="alert-body"&gt;&lt;p&gt;Chaque exercice s&amp;rsquo;appuie sur le précédent. Si vous êtes bloqué, repartez du corrigé de l&amp;rsquo;exercice précédent plutôt que de rester coincé.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;/aside&gt;</description></item><item><title>Travaux pratiques HTML 5 : le mini-site d'une ville</title><link>https://cv.itsame-mcl.eu/posts/formations/html-css/tp-html/</link><pubDate>Wed, 28 Oct 2026 12:00:00 +0100</pubDate><guid>https://cv.itsame-mcl.eu/posts/formations/html-css/tp-html/</guid><description>&lt;p&gt;Cette page rassemble les exercices du chapitre HTML. Vous allez construire pas à pas une page d&amp;rsquo;accueil complète, en appliquant chaque notion du cours. Chaque exercice est suivi de son corrigé, à ouvrir seulement après avoir essayé.&lt;/p&gt;&#10;&lt;h2 id="mode-demploi-pour-apprendre-seul"&gt;Mode d&amp;rsquo;emploi pour apprendre seul&lt;/h2&gt;&#10;&lt;p&gt;Ces exercices ont été conçus pour un stage de deux journées, mais ils se pratiquent très bien en autonomie, à raison d&amp;rsquo;environ une journée de travail pour chacune des deux parties (HTML puis CSS).&lt;/p&gt;</description></item><item><title>Accessibilité et CSS : approfondissements et boîte à outils</title><link>https://cv.itsame-mcl.eu/posts/formations/html-css/accessibility-toolbox/</link><pubDate>Tue, 21 Jul 2026 12:00:00 +0200</pubDate><guid>https://cv.itsame-mcl.eu/posts/formations/html-css/accessibility-toolbox/</guid><description>&lt;h2 id="101-css-et-accessibilité"&gt;10.1. CSS et accessibilité&lt;/h2&gt;&#10;&lt;h3 id="le-focus-visible"&gt;Le focus visible&lt;/h3&gt;&#10;&lt;p&gt;Les utilisateurs au clavier repèrent leur position grâce au &lt;strong&gt;contour de focus&lt;/strong&gt; que le navigateur dessine autour de l&amp;rsquo;élément actif. Le supprimer (&lt;code&gt;outline: none&lt;/code&gt;) sans le remplacer rend le site inutilisable au clavier. Pour le personnaliser :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;focus-visible&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;button&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;focus-visible&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;outline&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt; &lt;span class="kc"&gt;solid&lt;/span&gt; &lt;span class="mh"&gt;#1f4e79&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;outline-offset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="kt"&gt;px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="respecter-les-préférences-de-lutilisateur"&gt;Respecter les préférences de l&amp;rsquo;utilisateur&lt;/h3&gt;&#10;&lt;p&gt;Deux media queries adaptent la page aux réglages du système d&amp;rsquo;exploitation :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;/* Réduire les animations pour les personnes sensibles au mouvement */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;media&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;prefers-reduced-motion&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;reduce&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;transition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;/* Proposer un thème sombre */&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="k"&gt;media&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;prefers-color-scheme&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;dark&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--fond&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#1a1a2e&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--texte&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#f0f0f0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="masquer-sans-exclure"&gt;Masquer sans exclure&lt;/h3&gt;&#10;&lt;p&gt;&lt;code&gt;display: none&lt;/code&gt; et &lt;code&gt;visibility: hidden&lt;/code&gt; retirent un contenu de l&amp;rsquo;écran &lt;strong&gt;et&lt;/strong&gt; des lecteurs d&amp;rsquo;écran. Pour un texte destiné aux seuls lecteurs d&amp;rsquo;écran (préciser le contexte d&amp;rsquo;un bouton-icône, par exemple), on utilise une classe utilitaire consacrée, dite « sr-only », qui masque visuellement sans retirer de l&amp;rsquo;arbre d&amp;rsquo;accessibilité :&lt;/p&gt;</description></item><item><title>Le web, les standards et l'accessibilité</title><link>https://cv.itsame-mcl.eu/posts/formations/html-css/web-standards-accessibility/</link><pubDate>Tue, 21 Jul 2026 12:00:00 +0200</pubDate><guid>https://cv.itsame-mcl.eu/posts/formations/html-css/web-standards-accessibility/</guid><description>&lt;h2 id="11-trois-langages-complémentaires"&gt;1.1. Trois langages complémentaires&lt;/h2&gt;&#10;&lt;p&gt;Une page web moderne repose sur trois langages aux rôles bien distincts :&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;HTML&lt;/strong&gt; (HyperText Markup Language) décrit le &lt;strong&gt;contenu&lt;/strong&gt; et sa &lt;strong&gt;structure&lt;/strong&gt; : titres, paragraphes, images, liens, tableaux, formulaires…&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;CSS&lt;/strong&gt; (Cascading Style Sheets) décrit la &lt;strong&gt;présentation&lt;/strong&gt; : couleurs, polices, dimensions, positionnement des éléments.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;JavaScript&lt;/strong&gt; apporte l&amp;rsquo;&lt;strong&gt;interactivité&lt;/strong&gt; : réaction aux actions de l&amp;rsquo;utilisateur, modification dynamique de la page. Il n&amp;rsquo;est pas traité dans cette formation.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Cette séparation des responsabilités est un principe fondamental : un document HTML doit rester compréhensible et utilisable même sans CSS ni JavaScript. C&amp;rsquo;est aussi la base de l&amp;rsquo;accessibilité et du référencement.&lt;/p&gt;</description></item><item><title>Responsive design : s'adapter à tous les écrans</title><link>https://cv.itsame-mcl.eu/posts/formations/html-css/css-responsive/</link><pubDate>Tue, 21 Jul 2026 12:00:00 +0200</pubDate><guid>https://cv.itsame-mcl.eu/posts/formations/html-css/css-responsive/</guid><description>&lt;h2 id="91-le-principe"&gt;9.1. Le principe&lt;/h2&gt;&#10;&lt;p&gt;Plus de la moitié du trafic web mondial provient des téléphones. Le &lt;strong&gt;responsive design&lt;/strong&gt; consiste à concevoir une page unique dont la mise en page s&amp;rsquo;adapte à la largeur de l&amp;rsquo;écran, plutôt que des sites séparés par appareil. Trois ingrédients : la balise meta viewport, des dimensions fluides, et les media queries.&lt;/p&gt;&#10;&lt;h2 id="92-la-balise-meta-viewport"&gt;9.2. La balise meta viewport&lt;/h2&gt;&#10;&lt;p&gt;Sans instruction contraire, un navigateur mobile affiche la page comme sur un écran de bureau de ~980 px, puis dézoome. La balise suivante, à placer dans le &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; de &lt;strong&gt;toutes&lt;/strong&gt; les pages, désactive ce comportement :&lt;/p&gt;</description></item><item><title>Positionnement des éléments en CSS</title><link>https://cv.itsame-mcl.eu/posts/formations/html-css/css-positioning/</link><pubDate>Mon, 13 May 2024 12:00:00 +0100</pubDate><guid>https://cv.itsame-mcl.eu/posts/formations/html-css/css-positioning/</guid><description>&lt;h2 id="81-le-flux-normal"&gt;8.1. Le flux normal&lt;/h2&gt;&#10;&lt;p&gt;Par défaut, les éléments se positionnent « dans le flux » : les blocs s&amp;rsquo;empilent verticalement (leurs marges verticales fusionnant), les éléments en ligne s&amp;rsquo;enchaînent horizontalement avec renvoi à la ligne automatique. Toute mise en page consiste à organiser des exceptions maîtrisées à ce flux — et les outils modernes pour le faire sont &lt;strong&gt;Flexbox&lt;/strong&gt; et &lt;strong&gt;Grid&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;h2 id="82-la-propriété-position"&gt;8.2. La propriété position&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;position&lt;/code&gt; change le mode de positionnement d&amp;rsquo;un élément ; le décalage se règle ensuite avec &lt;code&gt;top&lt;/code&gt;, &lt;code&gt;right&lt;/code&gt;, &lt;code&gt;bottom&lt;/code&gt; et &lt;code&gt;left&lt;/code&gt; :&lt;/p&gt;</description></item><item><title>Syntaxe CSS 3, sélecteurs et propriétés usuelles</title><link>https://cv.itsame-mcl.eu/posts/formations/html-css/css-syntax-selectors-props/</link><pubDate>Sun, 12 May 2024 21:00:00 +0100</pubDate><guid>https://cv.itsame-mcl.eu/posts/formations/html-css/css-syntax-selectors-props/</guid><description>&lt;h2 id="61-anatomie-dune-feuille-de-style"&gt;6.1. Anatomie d&amp;rsquo;une feuille de style&lt;/h2&gt;&#10;&lt;p&gt;Une &lt;strong&gt;feuille de style&lt;/strong&gt; CSS se compose de &lt;strong&gt;règles&lt;/strong&gt;. Chaque règle est introduite par un &lt;strong&gt;sélecteur&lt;/strong&gt;, qui désigne les éléments HTML concernés, suivi d&amp;rsquo;un bloc de &lt;strong&gt;déclarations&lt;/strong&gt; entre accolades. Une déclaration associe une &lt;strong&gt;propriété&lt;/strong&gt; à une &lt;strong&gt;valeur&lt;/strong&gt; et se termine par un point-virgule :&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;selecteur-1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;propriete-1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;valeur&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;propriete-2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;valeur&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;selecteur-2&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;propriete-3&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;valeur&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Les commentaires s&amp;rsquo;écrivent &lt;code&gt;/* commentaire */&lt;/code&gt;. CSS repose sur deux mécanismes fondamentaux : l&amp;rsquo;&lt;strong&gt;héritage&lt;/strong&gt; (un élément hérite de nombreuses propriétés de ses ancêtres, notamment celles liées au texte) et la &lt;strong&gt;cascade&lt;/strong&gt; (des règles concurrentes sont départagées selon des critères de priorité, présentés en 6.4).&lt;/p&gt;</description></item></channel></rss>