<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: KADEA ACADEMY</title>
    <description>The latest articles on DEV Community by KADEA ACADEMY (@kadea-academy).</description>
    <link>https://dev.to/kadea-academy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F7046%2F1a7948de-a7df-4a99-a407-8143479dddcb.png</url>
      <title>DEV Community: KADEA ACADEMY</title>
      <link>https://dev.to/kadea-academy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kadea-academy"/>
    <language>en</language>
    <item>
      <title>Enjeux, défis et perspectives de la formation des adultes pour l'emploi à l'ère de l'IA et du numérique</title>
      <dc:creator>Bienvenu kipongo sayclopia</dc:creator>
      <pubDate>Wed, 03 Apr 2024 14:11:17 +0000</pubDate>
      <link>https://dev.to/kadea-academy/enjeux-defis-et-perspectives-de-la-formation-des-adultes-pour-lemploi-a-lere-de-lia-et-du-numerique-128l</link>
      <guid>https://dev.to/kadea-academy/enjeux-defis-et-perspectives-de-la-formation-des-adultes-pour-lemploi-a-lere-de-lia-et-du-numerique-128l</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftlxawtfza16r3owhsvx7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftlxawtfza16r3owhsvx7.jpg" alt="Image description" width="800" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Introduction&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Le monde du travail est en constante mutation, et les technologies numériques, notamment l'intelligence artificielle (IA), bouleversent les métiers et les compétences requises. La formation des adultes devient alors un enjeu crucial pour permettre aux individus de s'adapter à ces changements et de rester compétitifs sur le marché du travail. Cet article explore en détail les enjeux et les perspectives de l'intégration de l'IA dans la formation des adultes, ainsi que ses conséquences sur la vie professionnelle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Réinventer le travail et la formation des adultes à l’ère du numérique : état des lieux critique et prospectif&lt;/strong&gt;&lt;br&gt;
La révolution numérique a profondément transformé divers secteurs tels que le commerce, la finance, les médias, les transports et l’hôtellerie. Cependant, elle ne se limite pas à un simple effet de mode. Le numérique continue d’évoluer et d’influencer notre vie professionnelle, y compris la formation des adultes.&lt;br&gt;
Dans cet article, nous explorerons trois phénomènes majeurs liés à l’intégration de la technologie numérique dans le monde professionnel :&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Gouvernementalité basée sur des algorithmes:&lt;/strong&gt;L’utilisation croissante d’algorithmes pour la prise de décision et la surveillance crée une nouvelle forme de gouvernance. Cette « gouvernementalité algorithmique »1 façonne nos vies professionnelles en influençant les politiques, les pratiques de gestion et les interactions au sein des organisations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.Accélération et dérèglement de la destruction créatrice:&lt;/strong&gt; Le numérique accélère les cycles d’innovation et de perturbation. Les emplois traditionnels sont remis en question, tandis que de nouveaux métiers émergent. La créativité et l’adaptabilité deviennent essentielles pour rester compétitif.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.L’emploi dans l’ère de l’intermittence:&lt;/strong&gt;&lt;br&gt;
L’automatisation et l’intelligence artificielle (IA) peuvent entraîner la disparition de certains emplois. Les travailleurs devront s’adapter à des carrières plus flexibles et à des opportunités d’emploi intermittentes.&lt;/p&gt;

&lt;h2&gt;
  
  
  I. Enjeux de l'intégration de l'IA dans la formation des adultes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Personnalisation et adaptabilité des parcours de formation&lt;/strong&gt;&lt;br&gt;
L'IA permet de proposer des formations individualisées et adaptées aux besoins et objectifs spécifiques de chaque apprenant. Elle peut analyser les acquis, les points forts et les faiblesses de chaque individu pour proposer des contenus et des exercices pertinents.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a. Technologies et outils d'IA pour la personnalisation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Systèmes de recommandation :&lt;/strong&gt;&lt;br&gt;
analysent les données des apprenants pour proposer des formations et des contenus pertinents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Agents conversationnels :&lt;/strong&gt;guident les apprenants dans leur parcours de formation et répondent à leurs questions.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;b. Avantages de la personnalisation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Meilleure motivation et engagement des apprenants&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Acquisition plus efficace des compétences&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Taux de réussite plus élevé&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;c. Exemples concrets&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Plateforme d'apprentissage adaptative :&lt;/strong&gt; utilise l'IA pour proposer des contenus et des exercices personnalisés à chaque apprenant.&lt;br&gt;
 *&lt;em&gt;Tutoriels intelligents : *&lt;/em&gt; &lt;br&gt;
 s'adaptent au niveau de l'apprenant et lui proposent des aides et des conseils personnalisés.&lt;/p&gt;

&lt;p&gt;** Chatbots:**   répondent aux questions des apprenants et les guident dans leur parcours de formation.&lt;/p&gt;

&lt;h2&gt;
  
  
  II. Amélioration de l'engagement et de la motivation
&lt;/h2&gt;

&lt;p&gt;L'IA peut rendre la formation plus interactive et captivante en utilisant des jeux, des simulations et des environnements virtuels. Cela permet de maintenir l'engagement des apprenants et de les motiver à poursuivre leur formation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a. Technologies et outils d'IA pour l'engagement&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Jeux sérieux : permettent d'acquérir des compétences en s'amusant.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Simulations immersives :reproduisent des situations réelles pour permettre aux apprenants de s'entraîner en toute sécurité.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Environnements virtuels collaboratifs: permettent aux apprenants d'interagir entre eux et avec des experts.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;b. Avantages de l'engagement accru&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Apprentissage plus actif et participatif&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Meilleure mémorisation des connaissances&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Développement du travail collaboratif&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;c. Exemples concrets&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Simulateurs de vol :permettent aux pilotes de s'entraîner en toute sécurité.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jeux de rôle immersifs : permettent aux apprenants de développer leurs compétences en communication et en négociation.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  III. Développement des compétences numériques
&lt;/h2&gt;

&lt;p&gt;L'utilisation de l'IA dans la formation permet aux adultes de développer des compétences numériques essentielles pour leur vie professionnelle et personnelle, telles que la recherche d'informations, la communication en ligne et la gestion de projets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a.Compétences numériques à développer&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Compétences de base :utilisation des outils bureautiques, navigation internet, recherche d'informations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compétences intermédiaires :communication en ligne, création de contenus numériques, gestion de projets.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compétences avancées :programmation informatique, analyse de données, intelligence artificielle.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;b.Avantages du développement des compétences numériques&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Meilleure employabilité&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adaptabilité aux changements technologiques&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Autonomie et responsabilisation accrues&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;c.Exemples concrets&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Modules de formation en ligne :permettent aux apprenants de développer leurs compétences numériques à leur rythme.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ateliers pratiques : permettent aux apprenants de mettre en pratique leurs compétences numériques dans un contexte réel.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Certifications :permettent aux apprenants de valider leurs compétences numériques.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  IV. Accroissement de l'accessibilité et de la flexibilité
&lt;/h2&gt;

&lt;p&gt;L'IA permet de proposer des formations à distance et en ligne, accessibles à tous, quel que soit leur lieu de résidence ou leur situation&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Questions clés abordées dans l’article:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Comment le numérique transforme-t-il les savoirs et les compétences ?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Quelles nouvelles articulations entre emploi, travail et formation sont possibles ?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Quel rôle les technologies éducatives peuvent-elles jouer dans ce contexte ?&lt;br&gt;
Comment définir un idéal de « l’homme éduqué » face à ces mutations ?&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;En conclusion, l'intégration des technologies numériques, et plus particulièrement de l'intelligence artificielle, dans la formation des adultes offre de nombreuses potentialités pour l'avenir de l'apprentissage et du travail. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;a.Enjeux majeurs:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Personnalisation et adaptabilité des parcours de formation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Amélioration de l'engagement et de la motivation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Développement des compétences numériques&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Accroissement de l'accessibilité et de la flexibilité&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;b.Consequence sur la vie professionnelle:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Évolution des métiers et des compétences&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Apprentissage continu et développement professionnel&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Collaboration homme-machine&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Risques potentiels et défis éthiques&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;c.Perspectives prometteuses:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Développement de nouvelles technologies d'apprentissage&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Meilleure adéquation entre les compétences et les besoins du marché&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Amélioration de la productivité et de la performance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Renforcement de l'inclusion et de l'équité dans l'accès à la formation&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cependant, il est important de relever les défis et les risques potentiels associés à l'intégration de l'IA dans la formation des adultes. Il est crucial de mettre en place des garde-fous éthiques pour garantir une utilisation responsable de l'IA et minimiser ses impacts négatifs potentiels.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;En conclusion l'intégration de l'IA&lt;/strong&gt;  dans la formation des adultes est un processus en pleine expansion qui offre de nombreuses potentialités pour l'avenir de l'apprentissage et du travail. En saisissant les opportunités et en relevant les défis, nous pouvons créer un avenir où la formation tout au long de la vie est accessible, efficace et permet aux individus de s'épanouir dans leur vie professionnelle.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What Happens When You Type www.google.com and Press Enter?</title>
      <dc:creator>Josué Makuta</dc:creator>
      <pubDate>Fri, 13 Oct 2023 15:22:23 +0000</pubDate>
      <link>https://dev.to/kadea-academy/what-happens-when-you-type-wwwgooglecom-and-press-enter-7oa</link>
      <guid>https://dev.to/kadea-academy/what-happens-when-you-type-wwwgooglecom-and-press-enter-7oa</guid>
      <description>&lt;p&gt;Have you ever wondered what happens when you type &lt;a href="http://www.google.com"&gt;www.google.com&lt;/a&gt; and press enter? &lt;br&gt;
It may seem like a simple process, but there are many steps involved in making this happen. In this article, we will take a closer look at the different components that come into play when you type a URL into your browser and press enter.&lt;/p&gt;

&lt;p&gt;Without further ado, let's jump into it&lt;/p&gt;

&lt;p&gt;The first thing that happens when you type &lt;a href="http://www.google.com"&gt;www.google.com&lt;/a&gt; is that your browser sends a DNS (Domain Name System) request to a DNS server. Now, what is a DNS server ? How does it work ? Why do we need it ?&lt;/p&gt;

&lt;h2&gt;
  
  
  1. DNS Server
&lt;/h2&gt;

&lt;p&gt;The DNS server is responsible for translating the domain name (&lt;a href="http://www.google.com"&gt;www.google.com&lt;/a&gt;) into an IP address that your computer can understand. This is necessary because computers communicate with each other using IP addresses eg : &lt;code&gt;192.168.0.0&lt;/code&gt; , not domain names. &lt;/p&gt;

&lt;p&gt;Once your browser has the IP address for &lt;a href="http://www.google.com"&gt;www.google.com&lt;/a&gt;, it establishes a TCP (Transmission Control Protocol) connection with the server hosting the website. &lt;/p&gt;

&lt;h2&gt;
  
  
  2. TCP/IP
&lt;/h2&gt;

&lt;p&gt;TCP is a protocol that ensures reliable communication between two devices over a network. It breaks data into packets and sends them across the network, reassembling them at the other end. &lt;/p&gt;

&lt;h2&gt;
  
  
  3. Firewall
&lt;/h2&gt;

&lt;p&gt;Before the connection is established, your computer's firewall may check to see if the connection is allowed. A firewall is a security system that monitors and controls incoming and outgoing network traffic. If the firewall determines that the connection is not allowed, it will block the connection. &lt;/p&gt;

&lt;h2&gt;
  
  
  4. HTTPS/SSL
&lt;/h2&gt;

&lt;p&gt;If the connection is allowed, your browser will attempt to establish an HTTPS (Hypertext Transfer Protocol Secure) connection with the web server. HTTPS is a secure version of HTTP, which is the protocol used to transfer data between your browser and the web server. HTTPS uses SSL (Secure Sockets Layer) or TLS (Transport Layer Security) to encrypt the data being sent between your browser and the web server. This ensures that the data cannot be intercepted and read by anyone who may be listening on the network. &lt;/p&gt;

&lt;h2&gt;
  
  
  5. Load-Balancer
&lt;/h2&gt;

&lt;p&gt;Once the HTTPS connection is established, your request is sent to a load-balancer. A load-balancer is a device that distributes incoming network traffic across multiple servers. This is done to ensure that no single server becomes overloaded and that the website remains available to users. Load-balancers use various algorithms to determine which server should handle each request, such as round-robin, least connections, or IP hash. &lt;/p&gt;

&lt;h2&gt;
  
  
  6. Web Server
&lt;/h2&gt;

&lt;p&gt;The load-balancer forwards your request to one of the web servers hosting the website. The web server is responsible for processing your request and generating a response. This response may include HTML, CSS, JavaScript, images, or other resources that make up the website. Web servers like Apache, Nginx, or Microsoft IIS handle the request and serve the appropriate files to your browser. &lt;/p&gt;

&lt;h2&gt;
  
  
  7. Application Server
&lt;/h2&gt;

&lt;p&gt;If the website has dynamic content, your request may be forwarded to an application server. An application server is a server that runs applications that generate dynamic content. These applications may include server-side scripting languages like PHP, Python, or Java. The application server may interact with a database to retrieve data that is used to generate the response. &lt;/p&gt;

&lt;h2&gt;
  
  
  8. Database
&lt;/h2&gt;

&lt;p&gt;If the application server needs to retrieve data from a database, it sends a request to the database server. The database server retrieves the requested data and sends it back to the application server, which uses it to generate the response. Databases like MySQL, PostgreSQL, or MongoDB are commonly used to store and retrieve data for dynamic websites. &lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;As you can see, there are many steps involved in the process of loading a website. From the DNS request to the database server, each component plays a crucial role in ensuring that the website is loaded quickly and reliably. Understanding how these components work together can help you troubleshoot issues when they arise and appreciate the complexity of the modern web. Next time you type &lt;a href="http://www.google.com"&gt;www.google.com&lt;/a&gt; and press enter, you'll have a better understanding of the behind-the-scenes processes that make it all possible.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>STYLES CSS ET HTML : RELIER LES FEUILLES DE STYLE CSS AUX DOCUMENT HTML, STYLE CSS EN LIGNE OU EXTERNE.</title>
      <dc:creator>Bienvenu kipongo sayclopia</dc:creator>
      <pubDate>Wed, 16 Aug 2023 02:43:22 +0000</pubDate>
      <link>https://dev.to/kadea-academy/styles-css-et-html-relier-les-feuilles-de-style-css-aux-document-html-style-css-en-ligne-ou-externe-n69</link>
      <guid>https://dev.to/kadea-academy/styles-css-et-html-relier-les-feuilles-de-style-css-aux-document-html-style-css-en-ligne-ou-externe-n69</guid>
      <description>&lt;h2&gt;
  
  
  Feuilles de style en cascade
&lt;/h2&gt;

&lt;p&gt;CSS est l'un des langages principaux du Web ouvert et a été standardisé par le W3C. Ce standard évolue sous forme de niveaux (levels), CSS1 est désormais considéré comme obsolète, CSS2.1 correspond à la recommandation et CSS3, qui est découpé en modules plus petits, est en voie de standardisation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ressources principales&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Introduction à CSS&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Dans ce module, on commence avec les bases du fonctionnement de CSS : les sélecteurs, les propriétés, écrire des règles CSS, appliquer du CSS à un document HTML, utiliser des longueurs, des couleurs et d'autres unités. On voit également la cascade et l'héritage en CSS, les bases du modèle de boîtes et comment déboguer du code CSS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Mettre en forme le texte&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Dans ce chapitre, on voit comment mettre en forme du texte : changer la police, mettre en gras, mettre en italique, gérer les espaces entre les lignes et les lettres, ajouter des ombres portées, etc. En fin de chapitre, on voit comment appliquer des polices personnalisées sur une page et comment mettre en forme les listes et les liens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Mettre en forme les boîtes&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Ensuite, on voit comment mettre en forme les boîtes CSS qui sont un composant clé de la mise en page d'une page web. Dans ce module, on revoit le modèle de boîtes, comment régler les propriétés de remplissage, bordures et marges, comment définir des couleurs d'arrière-plan, des images et aussi comment appliquer des ombres et des filtres sur les boîtes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;La disposition en CSS&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Avant ce chapitre, on a vu les concepts fondamentaux en CSS, comment mettre en forme du texte, comment manipuler des boîtes correctement, etc. On voit ici comment correctement placer les boîtes dans la zone d'affichage (viewport). Grâce aux concepts précédents, on peut désormais étudier les différentes méthodes pour positionner les éléments sur une page : les boîtes flottantes, le positionnement fixe et les nouveaux outils comme les boîtes flexibles (flexbox).&lt;/p&gt;
&lt;h1&gt;
  
  
  Relier le fichier CSS au fichier HTML
&lt;/h1&gt;

&lt;p&gt;Vaut-il mieux lier sa feuille de styles CSS avec la balise  link  ou utiliser la règle @import dans un bloc style ? C'est une question fréquemment posée, car les deux techniques aboutissent apparemment au même résultat.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;La balise   &amp;lt;link&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;est une balise HTML qui n'est pas uniquement prévue pour lier des feuilles de styles, mais qui peut aussi faire référence à d'autres pages HTML sur le site, liées par une hiérarchie. Par exemple, il est possible d'indiquer la page suivante dans une série de documents, ou bien la page parente, pour remonter d'un niveau dans la navigation.  On peut aussi l'utiliser pour faire indiquer une ressource extern .&lt;br&gt;
Dans tous les cas, un élément  présente au moins deux attributs: rel (type de relation) et href (ressource liée).&lt;br&gt;
Exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"habillage.css"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt; &lt;span class="na"&gt;media=&lt;/span&gt;&lt;span class="s"&gt;"screen"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"texte.css"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt; &lt;span class="na"&gt;media=&lt;/span&gt;&lt;span class="s"&gt;"screen"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"impression.css"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt; &lt;span class="na"&gt;media=&lt;/span&gt;&lt;span class="s"&gt;"print"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;La règle @import&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Cette deuxième possibilité est intéressante car elle permet de créer des feuilles de styles plus évolutives (on lie un seul fichier depuis la page HTML, et on gère l'import des feuilles de styles directement depuis ce fichier CSS racine). Problème: ce fonctionnement peut légèrement ralentir le chargement des styles et donc de la page, et il est déconseillé dans une démarche d'optimisation des performances client.&lt;/p&gt;

&lt;p&gt;Exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;style &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="sx"&gt;url(/styles/habillage.css)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="sx"&gt;url(/styles/texte.css)&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;À partir du moment où vous créez un fichier .css pour appliquer du style à votre page web (écrite dans un fichier .html), il vous faut lier ces deux fichiers. Ainsi, les propriétés CSS que vous ajoutez vont pouvoir s'appliquer aux balises HTML auxquelles vous souhaitez qu'elles s'appliquent.&lt;/p&gt;

&lt;p&gt;Pour lier les fichiers .css et .html, vous allez rajouter une ligne dans le fichier .html pour indiquer au navigateur d'aller chercher la feuille de style (stylesheet en anglais) afin d'afficher la page web avec les propriétés de style qu'on lui a appliquées.&lt;/p&gt;

&lt;p&gt;Cette ligne à rajouter dans le fichier .html s'ouvre avec la balise orpheline et on la place à l'intérieur de la balise :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt; &lt;span class="nt"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;h3&amp;gt;&lt;/span&gt;Relier le fichier css au fichier Html &lt;span class="nt"&gt;&amp;lt;&lt;/span&gt; &lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="na"&gt;h3&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

          &lt;span class="nt"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;Head&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"utcf-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="nt"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;title&amp;gt;&lt;/span&gt;ma page&lt;span class="nt"&gt;&amp;lt;&lt;/span&gt; &lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                  &lt;span class="nt"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nt"&gt;link&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"style.css"&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
                    &lt;span class="nt"&gt;&amp;lt;&lt;/span&gt; &lt;span class="err"&gt;/&lt;/span&gt;&lt;span class="na"&gt;head&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lorsque vous cliquerez sur votre fichier HTML pour l'ouvrir dans le navigateur, ce dernier aura l'instruction d'appeler le fichier CSS associé pour afficher les propriétés de style de la page web.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Dans la pratique, quelles sont les différences ?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En pratique, le résultat pour la présentation du document HTML est exactement le même, mais il y a deux subtilités importantes :&lt;/p&gt;

&lt;p&gt;@import (CSS2) n'est pas reconnu par les très vieux navigateurs qui ne sont pas encore aux normes au niveau des CSS, par conséquent les styles seront appliqués partout sauf sur ces navigateurs dinosaures. Quel intérêt ? Tout simplement de permettre aux utilisateurs de ces dinosaures de consulter le site sans trop de problème. En effet, sans feuille de style le site reste mieux visible qu'avec des styles interprêtés n'importe comment. C'est donc une technique recommandée pour l'interopérabilité et la compatibilité ascendante.&lt;/p&gt;

&lt;p&gt;Sur certains navigateurs @import réduit sérieusement les performances, car cette technique ne permet pas un chargement parallélisé de plusieurs feuilles de style en même temps, ce qui ralentit le rendu de la page et fait patienter le visiteur un peu plus que nécessaire. Pour en savoir plus à ce sujet, consultez l'article original Don't use @import par Steve Souders.&lt;/p&gt;

&lt;p&gt;On pourra donc retenir, par précaution, qu'il vaut mieux n'utiliser @import qu'en connaissance de cause et en dernier recours.&lt;/p&gt;

&lt;h2&gt;
  
  
  Style CSS Externe, Interne et Inline
&lt;/h2&gt;

&lt;p&gt;La principale différence entre le style CSS inline et le style CSS externe est que le CSS inline est traité plus rapidement. En effet, il ne nécessite que le téléchargement d’un seul fichier par le navigateur alors que l’utilisation du CSS externe nécessitera le téléchargement séparé des fichiers HTML et CSS&lt;/p&gt;

&lt;p&gt;Dans cet article, nous allons comparer en profondeur les styles CSS : inline, externe et interne. Nous découvrirons également les avantages et les inconvénients de l’utilisation de chaque méthode.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS interne&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le CSS interne ou intégré exige que vous ajoutiez la balise style dans la section head de votre document HTML.&lt;/p&gt;

&lt;p&gt;Ce style CSS est une méthode efficace pour styliser une seule page. Toutefois, l’utilisation de ce style pour plusieurs pages prend beaucoup de temps, car vous devrez placer des règles CSS sur chaque page de votre site Web.&lt;/p&gt;

&lt;p&gt;Voici comment utiliser le CSS interne :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Ouvrez votre page HTML et repérez la balise d’ouverture head.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mettez le code suivant directement après la balise head&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt; &lt;span class="nt"&gt;&amp;lt;style &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Ajoutez les règles CSS sur une nouvelle ligne. Voici un exemple :
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt; &lt;span class="nt"&gt;body&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;60px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Ajoutez la balise de fermeture :
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Votre fichier HTML ressemblera à ceci :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;body&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;red&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;60px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; 
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Hostinger Tutorials&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This is our paragraph.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Les avantages du CSS interne :&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Vous pouvez utiliser des sélecteurs de classe et des sélecteurs d’ID dans cette feuille de style. Voici un exemple :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.class&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="py"&gt;property1&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
    &lt;span class="py"&gt;property2&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
    &lt;span class="py"&gt;property3&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;#id&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="py"&gt;property1&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
    &lt;span class="py"&gt;property2&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
    &lt;span class="py"&gt;property3&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Les inconvénients du CSS interne :&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;L’ajout du code au document HTML peut augmenter la taille et le temps de chargement de la page web.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS externe&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Avec le CSS externe, vous liez vos pages Web à un fichier .css externe, qui peut être créé par n’importe quel éditeur de texte sur votre appareil (par exemple, Notepad++).&lt;/p&gt;

&lt;p&gt;Ce type de CSS est une méthode plus efficace, notamment pour styliser un grand site Web. En modifiant un seul fichier .css, vous pouvez ainsi changer tout votre site en une seule fois.&lt;/p&gt;

&lt;p&gt;Suivez les étapes suivantes pour utiliser un CSS externe :&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Créez un nouveau fichier .css avec l’éditeur de texte, et ajoutez les règles de style. Par exemple :
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.xleftcol&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="nl"&gt;float&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;33%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#809900&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.xmiddlecol&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
   &lt;span class="nl"&gt;float&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;34%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;#eff2df&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;N’oubliez pas de remplacer style.css par le nom de votre fichier .css.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Les avantages du CSS externe :&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Étant donné que le code CSS se trouve dans un document séparé, vos documents HTML auront une structure plus propre et seront plus petits&lt;br&gt;
Vous pouvez utiliser le même fichier .css pour plusieurs pages.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Les inconvénients du CSS externe :&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Vos pages pourraient ne pas rendre correctement jusqu’à ce que le CSS externe soit chargé.&lt;br&gt;
Le téléchargement ou la liaison de plusieurs documents CSS peut augmenter le temps de téléchargement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS inline&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le CSS inline est utilisé pour donner un style à un élément HTML spécifique. Pour ce style CSS, il vous suffit d’ajouter l’attribut style à chaque balise HTML, sans utiliser de sélecteurs.&lt;/p&gt;

&lt;p&gt;Ce type de CSS n’est pas vraiment recommandé, car chaque balise HTML doit être stylisée individuellement. La gestion de votre site Web peut devenir trop difficile si vous n’utilisez que le CSS inline.&lt;/p&gt;

&lt;p&gt;Toutefois, le CSS inline en HTML peut être utile dans certaines situations. Par exemple, dans les cas où vous n’avez pas accès aux fichiers CSS ou lorsque vous devez appliquer des styles pour un seul élément.&lt;/p&gt;

&lt;p&gt;Prenons un exemple. Ici, nous ajoutons un CSS inline aux balises&lt;/p&gt;

&lt;p&gt;et&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background-color:black;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;h1&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color:white;padding:30px;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Hostinger Tutorials&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"color:white;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Something usefull here.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Les avantages du CSS inline :&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Vous pouvez facilement et rapidement insérer des règles CSS dans une page HTML. C’est pourquoi cette méthode est utile pour tester ou prévisualiser les modifications sur différents niveaux, et effectuer des corrections rapides sur votre site Web. Vous n’avez pas besoin de créer et de télécharger un document distinct comme avec le style externe.&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Les inconvénients du CSS inline :&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;L’ajout de règles CSS à chaque élément HTML prend du temps et rend votre structure HTML désordonnée. Le stylisme de plusieurs éléments peut affecter la taille de votre page et le temps de téléchargement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Dans cette article nous avons tout d'abord expliquer le CSS et son foctinnement ,ensuite nous avons parlé de la procedure pour relier le CSS au HTML comment cela se passe, et suite vous avez appris la différence entre les trois types de CSS : interne, externe et inline. Voici le récapitulatif :&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Interne ou incorporé&lt;/em&gt;&lt;/strong&gt;⁠:ajoutez la balise style dans la section head du document HTML&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Externe&lt;/em&gt;&lt;/strong&gt;⁠:liez la feuille HTML à un fichier .css distinct&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Inline&lt;/em&gt;&lt;/strong&gt;:appliquez des règles CSS pour des éléments spécifiques.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;L'AUTEUR&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Bienvenu K&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Bienvenu KIPONGO est un passionné du marketing digital et Etudiant en développement web et web mobile au sein de la Kadea academy , notre article est écrit pour apporter à nos chers lecteur une meilleure compréhension de HTML et CSS  et comment ces deux font une liaison.&lt;/p&gt;

</description>
      <category>css</category>
      <category>html</category>
    </item>
    <item>
      <title>Comment utiliser la propriété filter en css</title>
      <dc:creator>William Masivi</dc:creator>
      <pubDate>Tue, 08 Aug 2023 13:53:38 +0000</pubDate>
      <link>https://dev.to/kadea-academy/comment-utiliser-la-propriete-filter-4ae0</link>
      <guid>https://dev.to/kadea-academy/comment-utiliser-la-propriete-filter-4ae0</guid>
      <description>&lt;p&gt;Tout d'abord voici la définition que nous propose MDN:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;La propriété CSS &lt;code&gt;filter&lt;/code&gt; permet d'appliquer des filtres et d'obtenir des effets graphiques de flou, de saturation, etc. Les filtres sont généralement utilisés pour ajuster le rendu d'une image, d'un arrière-plan ou des bordures.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Développement:&lt;br&gt;
Pour utiliser la propriété CSS filter, on utilisera none ou une ou plusieurs des fonctions listées ci-après avec, pour chacune, un argument. Si la valeur est invalide, la fonction renverra none. Sauf mention contraire, les fonctions qui acceptent des valeurs exprimées en pourcentages (34%) acceptent également des valeurs décimales (0.34).&lt;/p&gt;

&lt;p&gt;Lorsqu'une seule propriété filter possède deux fonctions (ou plus), le résultat obtenu sera différent de l'application de deux propriétés filter (ou plus) séparées avec chacune une fonction. &lt;/p&gt;

&lt;p&gt;Quelques valeur du filter css:&lt;br&gt;
La propriété de Filtre CSS filter permet de spécifier une/des fonctions de Filtre CSS qui correspondront au divers effets à appliquer sur un élément HTML. Exemple de syntaxe CSS filter : filter : contrast(400%); filter : grayscale(0.5) blur(10px); filter : sepia(20%) opacity(10%) drop-shadow(20px 20px 20px #000);&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;http-equiv=&lt;/span&gt;&lt;span class="s"&gt;"X-UA-Compatible"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"IE=edge"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1.0"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;points anim&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"style.css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"contenaire"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"dot"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"dots"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.contenaire&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;translate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;-50%&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;-50%&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;142px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;40px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="no"&gt;beige&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;contrast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;20&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.contenaire&lt;/span&gt; &lt;span class="nc"&gt;.dot&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;12px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;blur&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;4px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;black&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;point&lt;/span&gt; &lt;span class="m"&gt;2.8s&lt;/span&gt; &lt;span class="n"&gt;infinite&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.contenaire&lt;/span&gt; &lt;span class="nc"&gt;.dots&lt;/span&gt; &lt;span class="nt"&gt;span&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;float&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;16px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;blur&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;4px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;black&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.contenaire&lt;/span&gt; &lt;span class="nc"&gt;.dots&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;margin-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;12px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;margin-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;31px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;points&lt;/span&gt; &lt;span class="m"&gt;2.8s&lt;/span&gt; &lt;span class="n"&gt;infinite&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;@keyframes&lt;/span&gt; &lt;span class="n"&gt;point&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="err"&gt;50&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;translateX&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;96px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;@keyframes&lt;/span&gt; &lt;span class="n"&gt;point&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="err"&gt;50&lt;/span&gt;&lt;span class="o"&gt;%&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;translateX&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;-31px&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Les sélecteurs en CSS</title>
      <dc:creator>audry1999</dc:creator>
      <pubDate>Mon, 07 Aug 2023 18:42:19 +0000</pubDate>
      <link>https://dev.to/kadea-academy/les-selecteurs-en-css-4oc</link>
      <guid>https://dev.to/kadea-academy/les-selecteurs-en-css-4oc</guid>
      <description>&lt;h2&gt;
  
  
  Qu’es ce qu’un sélecteur ?
&lt;/h2&gt;

&lt;p&gt;Toute règle CSS commence par un sélecteur. Un sélecteur est une expression qui indique au navigateur à quelle entité HTML s'applique la règle CSS correspondante. &lt;/p&gt;

&lt;h2&gt;
  
  
  Les sélecteurs de type
&lt;/h2&gt;

&lt;p&gt;Le premier sélecteur qui permet de cibler un ensemble d’éléments est le sélecteur de type. Ce sélecteur utilise le nom d’un élément, d’une balise HTML, pour appliquer une règle CSS sur toutes les balises d’un même type.&lt;br&gt;
HTML :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gyyHNEyx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/437jc6ua3vjkza9yx132.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gyyHNEyx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/437jc6ua3vjkza9yx132.PNG" alt="Image description" width="735" height="27"&gt;&lt;/a&gt;&lt;br&gt;
CSS :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rWZovgGx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qxafldv421ql3d4il2b0.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rWZovgGx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qxafldv421ql3d4il2b0.PNG" alt="Image description" width="741" height="107"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Les sélecteurs de classe
&lt;/h2&gt;

&lt;p&gt;Les sélecteurs de classe utilisent l’attribut « class » des éléments HTML pour les cibler.&lt;br&gt;
En CSS, il faut ajouter un « . » devant le nom d’une classe pour pouvoir lui appliquer des propriétés et valeurs CSS. Tous les éléments avec la classe ciblée seront affectés pas la règle CSS définie.&lt;br&gt;
HTML :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--shC1h3V2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/994ms4okvh9o3qyypci3.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--shC1h3V2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/994ms4okvh9o3qyypci3.PNG" alt="Image description" width="738" height="27"&gt;&lt;/a&gt;&lt;br&gt;
CSS :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--th0Y4rq2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xwlkj71tw4vewhpiy58z.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--th0Y4rq2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xwlkj71tw4vewhpiy58z.PNG" alt="Image description" width="738" height="102"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Les sélecteurs d’identifiant
&lt;/h2&gt;

&lt;p&gt;Semblables aux sélecteurs de classe, les sélecteurs d’identifiant permettent de cibler un élément HTML en fonction de la valeur de son identifiant.&lt;br&gt;
Ajoutez un « # » devant la valeur d’un identifiant pour y ajouter ensuite des déclarations CSS.&lt;br&gt;
HTML :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7NDcnECI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pn7onhf3be9wyzmj54gk.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7NDcnECI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pn7onhf3be9wyzmj54gk.PNG" alt="Image description" width="735" height="29"&gt;&lt;/a&gt;&lt;br&gt;
CSS :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BgU28rDP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qn8qnzsh5wars2gmku99.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BgU28rDP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qn8qnzsh5wars2gmku99.PNG" alt="Image description" width="740" height="104"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Le sélecteur universel
&lt;/h2&gt;

&lt;p&gt;Ce sélecteur est particulier, car il permet de cibler un ensemble d’éléments dans un document.&lt;br&gt;
Utilisez-le seul pour pouvoir modifier tous les éléments d’un document dans une seule règle CSS.&lt;br&gt;
Ce sélecteur est représenté par le caractère « * ».&lt;/p&gt;

&lt;h2&gt;
  
  
  Les sélecteurs d’attribut
&lt;/h2&gt;

&lt;p&gt;Les sélecteurs d’attributs sont des sélecteurs simples permettent de cibler des éléments HTML précis en fonction de leurs attributs et de leurs valeurs.  Entourez le nom de l’attribut cible avec des « [ ] » pour cibler cet attribut puis vous pouvez préciser la valeur que l’attribut doit avoir pour être ciblé en ajoutant sa valeur à la suite précédée d’un « = ».&lt;/p&gt;

&lt;p&gt;HTML :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AiUh5uHU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uqceznmjyava2ypdjfnz.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AiUh5uHU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uqceznmjyava2ypdjfnz.PNG" alt="Image description" width="743" height="103"&gt;&lt;/a&gt;&lt;br&gt;
CSS :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_i1KYDJF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jab4aflzy9tf8c46ne7.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_i1KYDJF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jab4aflzy9tf8c46ne7.PNG" alt="Image description" width="745" height="327"&gt;&lt;/a&gt;&lt;br&gt;
Sélectionner précisément avec les combinateurs CSS&lt;br&gt;
Pour continuer, voyons les combinateurs. Tous les combinateurs actuellement utilisables, non expérimentaux, sont représentés par un unique caractère et permettent de diversifier la sélection d’éléments dans une page web.&lt;br&gt;
Ils vous seront utiles pour créer des ciblages précis sur les éléments de votre page.&lt;/p&gt;

&lt;h2&gt;
  
  
  Les sélecteurs de voisin direct
&lt;/h2&gt;

&lt;p&gt;Les sélecteurs de voisin direct sont représentés par le combinateur « + ».&lt;br&gt;
Ce combinateur a l’avantage de sélectionner le prochain élément suivant celui donné.&lt;br&gt;
Dans l’exemple ci-dessous, on demande à ce que les déclarations CSS s’appliquent à tous les paragraphes (p) qui suivent directement une image (img).&lt;br&gt;
Ainsi, seul le paragraphe avec l’identifiant (id) « premier » sera affecté par les déclarations CSS.&lt;/p&gt;

&lt;p&gt;HTML :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SgAYJZ1J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/icuuj97uc0p949lp02c0.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SgAYJZ1J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/icuuj97uc0p949lp02c0.PNG" alt="Image description" width="745" height="188"&gt;&lt;/a&gt;&lt;br&gt;
CSS :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aJEGolZc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ba4gt4ktyfipv3815atb.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aJEGolZc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ba4gt4ktyfipv3815atb.PNG" alt="Image description" width="742" height="105"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Les sélecteurs de voisins
&lt;/h2&gt;

&lt;p&gt;Semblables aux sélecteurs de voisin direct, les sélecteurs de voisins utilisent le combinateur « ~ » pour sélectionner tous les éléments suivant un élément donné.&lt;br&gt;
En modifiant l’exemple des sélecteurs de voisin direct, on demande ici que les déclarations CSS s’appliquent à tous les paragraphes (p) qui suivent une image (img).&lt;br&gt;
Dans ce cas, tous les paragraphes suivant notre élément « img », c’est-à-dire » les paragraphes avec l’identifiant « premier » et « deuxieme », seront affectés, mais pas celui avec l’identifiant « avant ».&lt;br&gt;
HTML :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SR098tXa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oqrx05c3fmi0042ao5zn.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SR098tXa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oqrx05c3fmi0042ao5zn.PNG" alt="Image description" width="740" height="138"&gt;&lt;/a&gt;&lt;br&gt;
CSS :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ciwd5FNV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ilds5x1li5eymjsmlsj2.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ciwd5FNV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ilds5x1li5eymjsmlsj2.PNG" alt="Image description" width="738" height="104"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Les sélecteurs d’éléments enfants
&lt;/h2&gt;

&lt;p&gt;Les sélecteurs d’éléments enfants peuvent être comparés aux sélecteurs d’éléments voisin direct sauf qu’ici les éléments qui seront ciblés seront imbriqués à l’intérieur d’un l’élément donné.&lt;br&gt;
Le combinateur de ces sélecteurs est « &amp;gt; » qui s’ajoute après l’élément parent et avant les éléments enfants (ou imbriqués) à cibler.&lt;br&gt;
Ce combinateur affecte uniquement les enfants directs et ne prend pas en compte les sous-enfants de l’élément parent.&lt;br&gt;
Prenons l’exemple ci-dessous, nous avons un élément « div » contenant deux éléments « span » dont un avec un sous-élément « span » imbriqué. Avec le sélecteur « div &amp;gt; span » donné dans l’exemple, les déclarations CSS de cette règle seront appliquées aux premiers éléments « span » de l’élément « div » à savoir ceux avec la classe « enfant ».&lt;br&gt;
Cependant, l’élément « span » imbriqué dans le second élément « span », avec la classe « sous-enfant », ainsi que l’élément « span » hors de l’élément « div » ne seront pas affectés.&lt;br&gt;
HTML :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--384D-oSb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fjjvug9ei8ec3a7gat41.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--384D-oSb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fjjvug9ei8ec3a7gat41.PNG" alt="Image description" width="741" height="254"&gt;&lt;/a&gt;&lt;br&gt;
CSS :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mjjPE7pU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h79traq5c5vkmz1740om.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mjjPE7pU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h79traq5c5vkmz1740om.PNG" alt="Image description" width="746" height="105"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Les sélecteurs d’éléments descendants
&lt;/h2&gt;

&lt;p&gt;Contrairement aux sélecteurs d’éléments enfants, les sélecteurs d’éléments descendants affecteront tous les éléments imbriqués d’un type précis dans un élément donné.&lt;br&gt;
Le combinateur de descendance est un simple espace «   », qui s’ajoute après l’élément parent et qui précède l’élément type ciblé.&lt;br&gt;
Ainsi en reprenant l’exemple des sélecteurs d’éléments enfants avec le sélecteur d’éléments descendants « div span », tous les éléments « span » imbriqués dans l’élément « div » seront affectés par les déclarations CSS de la règle.&lt;br&gt;
L’élément « span » hors de l’élément « div » ne sera toujours pas ciblé par cette règle CSS.&lt;/p&gt;

&lt;p&gt;HTML :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5CLkx7oM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fb636de98a5kdvioox1y.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5CLkx7oM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fb636de98a5kdvioox1y.PNG" alt="Image description" width="740" height="253"&gt;&lt;/a&gt;&lt;br&gt;
CSS :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JanuX4So--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lqieb0hz594id4hwz2dd.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JanuX4So--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lqieb0hz594id4hwz2dd.PNG" alt="Image description" width="748" height="111"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sélecteurs CSS avancés avec les pseudo-classes
&lt;/h2&gt;

&lt;p&gt;Les pseudo-classes en CSS permettent de sélectionner des éléments pour une règle CSS en fonction d’un état précis qui peut leur être attribué, mais qui n’est pas inscrit dans le document HTML.&lt;br&gt;
Il existe une multitude de pseudo-classes que vous pouvez utiliser pour affecter un élément donné selon l’état dans lequel il se trouve.&lt;br&gt;
Une pseudo-classe est composée d’un mot-clé précédé par le caractère « : » et qui s’ajoute à la suite d’un autre sélecteur CSS sans espace.&lt;br&gt;
Parmi les pseudo-classe les plus couramment utilisés on retrouvera : &lt;br&gt;
• :hover : Permet d’affecter des déclarations CSS à un élément lorsque l’utilisateur le survole avec un pointeur (exemple : pointeur de souris d’ordinateur)&lt;br&gt;
• :visited : Permet de changer l’apparence d’un lien après que celui-ci ait été visité par l’utilisateur.&lt;br&gt;
• :checked : Peut être appliqué à une entrée (input) de type bouton radio, case à cocher ou option pour modifier son aspect lorsque celle-ci est cochée ou active.&lt;br&gt;
• :active : Permet de sélectionner un élément qui a été activé par l’utilisateur&lt;br&gt;
• :focus : Permet de cibler un élément uniquement lorsqu’il reçoit le focus.&lt;br&gt;
• :not() : C’est une pseudo-classe de négation qui prend un sélecteur en argument à ajouter entre les « ( ) » de la pseudo-classe et qui permet de ne pas prendre en compte le sélecteur donné en argument dans le sélecteur général de la règle CSS. Le sélecteur donné en argument ne peut pas être suivi d’une pseudo-classe de négation ou cibler de pseudo-élément.&lt;br&gt;
• :nth-child(an+b) : Permet de cibler les « an+b » éléments du sélecteur donné dans l’arbre du document.&lt;br&gt;
Exemple :&lt;br&gt;
• « p:nth-child(3) » ciblera le troisième paragraphe (p) dans le document&lt;br&gt;
• « p:nth-child(3n) » ciblera tous paragraphes (p) qui auront comme position un multiple de 3 dans le document =&amp;gt; 3ème, 6ème, 9ème … paragraphes (p)&lt;br&gt;
• « p:nth-child(3n+2) » ciblera tous paragraphes (p) qui seront 3 positions suivant le précédent paragraphe en commençant par celui en seconde position =&amp;gt; 2ème, 5ème, 8ème … paragraphes (p)&lt;br&gt;
• :first-child et :last-child : Ces deux pseudo-classe permettent de cibler respectivement le premier et le dernier élément enfant selon le sélecteur auquel il est associé dans un même parent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Aller plus loin avec les pseudo-éléments
&lt;/h2&gt;

&lt;p&gt;Les pseudo-éléments sont des éléments du document qui ne sont pas inscrits dans le document même et n’ont donc pas de correspondance en code HTML. Ceux sont des mots-clés précédés de deux « :: » qui s’ajoutent à la suite d’un sélecteur donné.&lt;br&gt;
Les pseudo-éléments sont très utiles pour créer des mises en page plus complexe et des changements d’apparences avancés.&lt;br&gt;
Plusieurs pseudo-éléments existent, mais les plus connus et ceux que vous verrez ou utiliserez le plus souvent sont les deux pseudo-élément « ::before » et « ::after » qui permettent d’ajouter respectivement un contenu avant et après un élément HTML.&lt;br&gt;
Dans l’exemple donné ci-dessous, on ajoute du texte avant et après un paragraphe (p) et on change la couleur des contenus ajoutés à l’aide des pseudo-élément :&lt;br&gt;
HTML :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zQugrp7s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ksqz51mi3se33v4cxy9a.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zQugrp7s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ksqz51mi3se33v4cxy9a.PNG" alt="Image description" width="736" height="28"&gt;&lt;/a&gt;&lt;br&gt;
CSS :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--poAF7SA---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cppgpohotnjpmc3cfyrd.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--poAF7SA---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cppgpohotnjpmc3cfyrd.PNG" alt="Image description" width="739" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Les sélecteurs CSS sont nombreux et demandent un temps d’apprentissage pour tous les connaître et surtout les maitriser.&lt;br&gt;
Les sélecteurs simples et les combinateurs seront présents dans tous vos fichiers CSS et sont indispensables à une mise en page réussie.&lt;br&gt;
Les pseudo-classes et pseudo-éléments sont à intégrer aux sélecteurs de base pour créer des mises en page plus avancées, mais permettent de créer des personnalisations complexes notamment grâce aux pseudo-éléments « ::after » et « ::before ».&lt;br&gt;
Bien utiliser les sélecteurs CSS pour obtenir le design attendu peut parfois se révéler complexe. Si vous ne parvenez pas à mettre en forme votre site comme vous le souhaitez, vous pouvez toujours confier l’intégration HTML et CSS à un freelance de Codeur.com. Postez votre projet gratuit pour recevoir des devis rapidement.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Le phénomène d'effondrement de marge en CSS expliqué!</title>
      <dc:creator>Jomagene</dc:creator>
      <pubDate>Mon, 07 Aug 2023 10:19:35 +0000</pubDate>
      <link>https://dev.to/kadea-academy/-pourquoi-la-marge-de-mon-element-disparait--287m</link>
      <guid>https://dev.to/kadea-academy/-pourquoi-la-marge-de-mon-element-disparait--287m</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;La mise en page, la lisibilité et l'espacement sont quelques-uns des grands défis que pose le développement d'un site web.&lt;br&gt;
Au cours de la conception, on rencontre des défis qui, suite à un manque d'information, constituent un casse-tête et une source de grande frustration par la suite.&lt;/p&gt;

&lt;p&gt;Pourquoi ces écarts de marge entre certains blocs de ma page web? Et comment comprendre que des marges disparaissent? Et pourquoi cette marge-là semble-t-elle s’appliquer à mon conteneur et pas à mon titre ou mon paragraphe? Il se pourrait que vous êtes entrain de faire face au phénomène de fusion des marges. &lt;/p&gt;

&lt;p&gt;Cet article va répondre à toutes ces questions.&lt;br&gt;
Tout d'abord:...&lt;/p&gt;

&lt;h2&gt;
  
  
  Le phénomène de fusion de marge, comment le comprendre?
&lt;/h2&gt;

&lt;p&gt;L’effondrement ou la fusion des marges est un phénomène assez simple à comprendre. &lt;br&gt;
Il peut cependant être très déroutant lorsque vous travaillez à la structuration des mises en page. Lorsque deux marges verticales se rencontrent, elles s’effondrent l’une sur l’autre pour n’en former plus qu’une. La hauteur de cette marge fusionnée est égale à la hauteur de la plus grande des deux.&lt;/p&gt;

&lt;p&gt;L’effondrement ou fusion des marges se produit si on est dans un des cas suivants :&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;a. Des éléments voisins adjacents&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Lorsque deux éléments se trouvent l’un directement en dessous de l’autre, la marge inférieure du premier élément fusionne avec la marge supérieure du second sauf quand le dernier voisin doit passer à la ligne pour dégager les flottements. C’est le cas de l'illustration à la Figure 1.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qd9wseuy91vnwivz4c3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qd9wseuy91vnwivz4c3.png" alt="Image description" width="485" height="287"&gt;&lt;/a&gt;&lt;br&gt;
Figure 1 : Exemple d’élément dont la marge supérieure fusionne avec celle de l’élément précédent.&lt;/p&gt;

&lt;p&gt;A la figure 1, l'élément supérieur a une marge inférieure de 30 pixels et l'élément inférieur a une marge supérieure définie à 20 pixels. Le bon sens semblerait suggérer que la marge verticale entre ces deux éléments soit d’un total de 30px + 20px, soit de 50px. Mais en raison de l'effondrement de la marge, la marge réelle finit par être de 30 pixels.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;b. Aucun contenu séparant le parent et ses descendants&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Lorsqu’un élément est contenu dans un autre élément et qu’il n’existe pas de remplissage de bordure, de contenu en ligne (inline), de contexte de formatage de blocs ou dégagement, de height, min-height ou max-height pour séparer les marges hautes ou basses d’un ou plusieurs blocs descendants avec celles de leur parent, il s’en suit des fusionnements (voir Fig. 2).&lt;br&gt;
La marge fusionnée termine en dehors de l’élément parent.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl5yuo13seevtavu0litw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl5yuo13seevtavu0litw.png" alt="Image description" width="510" height="208"&gt;&lt;/a&gt;&lt;br&gt;
Figure 2 : Exemple d’élément dont la marge supérieure se fusionne avec la marge supérieure de son élément parent.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;c. Des blocs vides&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;Aussi étrange que cela puisse paraître, les marges peuvent s’effondrer sur elles-mêmes. Si un élément vide possède une marge mais sans bordure ni remplissage, la marge supérieure touche la marge du bas et les deux fusionnent (voir Fig. 3).&lt;br&gt;
Cela sous condition qu’il n'y ait aucune bordure, remplissage, contenu en ligne, height ou min-height pour séparer la marge haute d'un bloc de sa marge basse.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5m0pcgly558bqsyfi2je.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5m0pcgly558bqsyfi2je.png" alt="Image description" width="482" height="130"&gt;&lt;/a&gt;&lt;br&gt;
Figure 3 : Exemple d’élément dont la marge supérieure fusionne avec la marge inférieure.&lt;/p&gt;

&lt;p&gt;--&amp;gt; Si cette marge touche la marge d’un autre élément, elle s’effondre elle-même à nouveau (voir Fig. 4).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftwrjw1ybd8odxgwxepvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftwrjw1ybd8odxgwxepvy.png" alt="Image description" width="461" height="184"&gt;&lt;/a&gt;&lt;br&gt;
Figure 4 : Exemple de marge effondrée d’un élément vide qui fusionne avec les marges d’un autre élément vide.&lt;/p&gt;

&lt;p&gt;C’est pour cette raison que les séries d’éléments de paragraphe vides ne prennent que très peu d’espace, car toutes les marges s’effondrent et fusionnent pour n’en former plus qu’une.&lt;/p&gt;

&lt;p&gt;On peut avoir des cas de fusion plus complexes lorsque ces cas de figures sont combinés.&lt;br&gt;
Ces règles s'appliquent également lorsque les marges sont égales à 0. Ainsi, la marge d'un descendant finit toujours en dehors de l'élément parent (selon la deuxième règle vue ci-avant) quelle que soit la marge de l'élément parent (nulle ou non).&lt;br&gt;
Lorsqu'on manipule des marges négatives, la taille de la marge fusionnée est la somme de la marge positive la plus grande et de la marge négative la plus petite (celle dont la valeur est plus éloignée de 0).&lt;br&gt;
Les marges des éléments flottants et positionnés de façon absolue ne sont jamais fusionnées.&lt;br&gt;
Dans une disposition en grille (display : grid), les marges verticales adjacentes des éléments de la grille ne s’effondrent jamais. Ces marges sont contenues par les contours invisibles de la grille.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mais l’effondrement de marge est-ce une erreur de conception de CSS ?
&lt;/h2&gt;

&lt;p&gt;Après avoir vu ce qu'est le phénomène d'effondrement des marges en CSS, examinons si cela constitue en soi une erreur de conception de la part de CSS.&lt;/p&gt;

&lt;p&gt;L’effondrement des marges peut dérouter, mais il est en réalité parfaitement cohérent; et comprenez-le bien, ce n'est pas une erreur de la part de Css.&lt;/p&gt;

&lt;p&gt;Pour comprendre cela, considérez une page classique composée de plusieurs paragraphes (voir Figure 5). L’espace au-dessus du premier paragraphe est égal à la marge supérieure. Sans l’effondrement des marges, l’espace entre tous les paragraphes subséquents correspondrait à la somme de leurs marges adjacentes. Il serait alors le double de celui du haut de la page. Grâce à l’effondrement des marges, les marges du haut et du bas de chaque paragraphe fusionnent et produisent un espacement égal partout.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0myahtovk77yhj5amd8j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0myahtovk77yhj5amd8j.png" alt="Image description" width="513" height="297"&gt;&lt;/a&gt;&lt;br&gt;
Figure 5 : les marges s’effondrent afin que l’espace reste partout le même entre les éléments.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>html</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Variables en CSS</title>
      <dc:creator>paluku-ezechiel</dc:creator>
      <pubDate>Sat, 05 Aug 2023 03:06:17 +0000</pubDate>
      <link>https://dev.to/kadea-academy/variables-css-523o</link>
      <guid>https://dev.to/kadea-academy/variables-css-523o</guid>
      <description>&lt;p&gt;La fonction var() est utilisée pour insérer la valeur d'une variable CSS.&lt;br&gt;
Les variables CSS ont accès au DOM, ce qui signifie que vous pouvez créer des variables avec une portée locale ou globale, modifier les variables avec JavaScript et modifier les variables en fonction des requêtes multimédias.&lt;br&gt;
Une bonne façon d'utiliser les variables CSS est lorsqu'il s'agit des couleurs de votre conception. Au lieu de copier et coller les mêmes couleurs encore et encore, vous pouvez les placer dans des variables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;La manière traditionnelle&lt;/strong&gt;&lt;br&gt;
L'exemple suivant montre la façon traditionnelle de définir certaines couleurs dans une feuille de style (en définissant les couleurs à utiliser, pour chaque élément spécifique) :&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WHsPQ4Uh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7gd93coqourcjzlcfjh4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WHsPQ4Uh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7gd93coqourcjzlcfjh4.png" alt="Image description" width="592" height="461"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZKzdRPnK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owqgugdy8e4jay20wm2l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZKzdRPnK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owqgugdy8e4jay20wm2l.png" alt="Image description" width="790" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;La manière moderne&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;La fonction &amp;lt;var&amp;gt; est utilisée pour insérer la valeur d'une variable CSS.&lt;br&gt;
La syntaxe de la var()fonction est la suivante :&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AMheamgu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hil18q5uoeeupe9tlfau.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AMheamgu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hil18q5uoeeupe9tlfau.png" alt="Image description" width="203" height="27"&gt;&lt;/a&gt;&lt;br&gt;
Remarque : Le nom de la variable doit commencer par deux tirets (--) et il est sensible à la casse !&lt;/p&gt;

&lt;p&gt;Comment fonctionne &amp;lt;var()&amp;gt;&lt;br&gt;
les variables CSS peuvent avoir une portée globale ou locale.&lt;br&gt;
a. Les variables globales&lt;br&gt;
Les variables globales sont accessibles/utilisées dans tout le document. &lt;br&gt;
b. Les variables locales&lt;br&gt;
Les variables locales ne peuvent être utilisées qu'à l'intérieur du sélecteur où elles sont déclarées.&lt;/p&gt;

&lt;p&gt;Créer une variable globale&lt;br&gt;
Pour créer une variable avec une portée globale, déclarez-la dans le &amp;lt;root sélecteur&amp;gt;&lt;br&gt;
exemple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pour créer une variable avec une portée locale, &lt;strong&gt;déclarez-la dans le sélecteur qui va l'utiliser.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;L'exemple suivant est égal à l'exemple ci-dessus, mais ici nous utilisons la var()fonction.&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gI6H7dfn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ouyfsn2o0fuppeoco9wz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gI6H7dfn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ouyfsn2o0fuppeoco9wz.png" alt="Image description" width="630" height="704"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--r6VsPT1L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owcadb49aow45drlctqw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--r6VsPT1L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owcadb49aow45drlctqw.png" alt="Image description" width="790" height="363"&gt;&lt;/a&gt;&lt;br&gt;
Tout d'abord, nous déclarons deux variables globales (--blue et --white). Ensuite, nous utilisons la var()fonction pour insérer la valeur des variables plus tard dans la feuille de style :&lt;br&gt;
&lt;strong&gt;Les avantages de l'utilisation de var() sont :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;rend le code plus facile à lire (plus compréhensible)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;facilite grandement la modification des valeurs de couleur&lt;/strong&gt;
Pour changer la couleur bleu et blanc en un bleu et blanc plus doux, il vous suffit de changer les deux valeurs variables :
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cmMjtCEx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ngwryxlkkpi1ujw1d48c.png" alt="Image description" width="634" height="692"&gt;
&lt;strong&gt;Remplacer la variable globale par une variable locale&lt;/strong&gt;
nous avons appris que les variables globales peuvent être consultées/utilisées dans tout le document, tandis que les variables locales ne peuvent être utilisées qu'à l'intérieur du sélecteur où elles sont déclarées.
Regardez l'exemple de la page précédente :
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gI6H7dfn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ouyfsn2o0fuppeoco9wz.png" alt="Image description" width="630" height="704"&gt;
Parfois, nous souhaitons que les variables ne changent que dans une section spécifique de la page.
Supposons que nous voulions une couleur de bleu différente pour les éléments de bouton. Ensuite, nous pouvons re-déclarer la variable --blue à l'intérieur du sélecteur de bouton. Lorsque nous utilisons var(--blue) dans ce sélecteur, il utilisera la valeur de la variable locale --blue déclarée ici.
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MfOx2ZlD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jmxegovne3auddhmzuzm.png" alt="Image description" width="667" height="688"&gt;
Nous voyons que la variable locale --blue remplacera la variable globale --blue pour les éléments du bouton :
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--13_lAAub--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t8vck8m9yqhhaostt88j.png" alt="Image description" width="781" height="357"&gt;
&lt;strong&gt;Ajouter une nouvelle variable locale&lt;/strong&gt;
Si une variable ne doit être utilisée qu'à un seul endroit, on aurait aussi pu déclarer une nouvelle variable locale, comme ceci:
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uq_fr9b0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nntxxt7u9l7b3gum1o16.png" alt="Image description" width="593" height="676"&gt;
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--13_lAAub--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t8vck8m9yqhhaostt88j.png" alt="Image description" width="781" height="357"&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Comment améliorer l’interactivité de son site web grâce à l’animation et à la transition ?</title>
      <dc:creator>Patrice Kalwira</dc:creator>
      <pubDate>Sat, 29 Jul 2023 21:47:04 +0000</pubDate>
      <link>https://dev.to/kadea-academy/comment-ameliorer-linteractivite-de-son-site-web-grace-a-lanimation-et-a-la-transition--4a18</link>
      <guid>https://dev.to/kadea-academy/comment-ameliorer-linteractivite-de-son-site-web-grace-a-lanimation-et-a-la-transition--4a18</guid>
      <description>&lt;p&gt;Depuis l’apparition de l’internet tous les webmasters essaient de trouver de nouvelles solutions pour améliorer l’expérience des utilisateurs afin de les retenir le plus longtemps possible sur leurs sites web.&lt;br&gt;
C’est pour cela qu’ils sont à l’affût de la moindre évolution technologique afin d’améliorer l’expérience utilisateur. &lt;br&gt;
C’est dans ce cadre que nous allons présenter l’une des propriétés CSS qui aident à améliorer l’interactivité entre le système et l’utilisateur.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alors comment pouvons-nous comprendre l’animation en CSS ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;L’animation en CSS consiste à donner de la réactivité à un élément inerte dans son site web, c'est un peu comme lui donner une vie, passant d'un état statique à un état dynamique. &lt;br&gt;
C’est là que les transitions interviennent pour contrôler la vitesse et le temps d’exécution d’une animation appliquée à une ou plusieurs propriétés de son site web.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Et c'est quoi une transition?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Les transitions CSS permettent de contrôler la vitesse d'animation lorsque les propriétés CSS sont modifiées. Plutôt que le changement soit immédiat, on peut l'étaler sur une certaine période. (Source : &lt;a href="https://developer.mozilla.org/fr/docs/Web/CSS/CSS_transitions/Using_CSS_transitions" rel="noopener noreferrer"&gt;MDN&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Il y a deux moyens de créer des animations en CSS : les transitions et les keyframes.&lt;br&gt;
Les transitions sont le moyen le plus simple et le plus facile à mettre en place pour créer des animations mais elles sont limitées, contrairement aux keyframes qui sont complexes mais qui permettent des animations beaucoup plus fun et bien plus élaborées.&lt;br&gt;
Pour que ça ne soit pas très complexe, dans ce post nous allons d’abord utiliser seulement la transition et peut-être les keyframes dans le post suivant.&lt;/p&gt;

&lt;p&gt;Pour créer une animation à l'aide d'une transition, on aura besoin de plusieurs informations comme :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Une propriété CSS à modifier ;&lt;/li&gt;
&lt;li&gt;Une valeur initiale de cette propriété ;&lt;/li&gt;
&lt;li&gt;Une valeur finale que prendra cette propriété ;&lt;/li&gt;
&lt;li&gt;Une durée d’animation exprimée en unité de temps ;&lt;/li&gt;
&lt;li&gt;Un évènement pour déclencher votre transition.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On va y aller par un exemple pour illustrer la petite théorie ci-haut :&lt;/p&gt;

&lt;p&gt;Créons d'abord deux boutons en HTML.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"viewport"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"width=device-width, initial-scale=1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"style.css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Animations et transitions&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Exemples avec les boutons&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"buttons-exercise"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"btn1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Bouton&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"btn2"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Bouton&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"btn1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Bouton&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Appliquons ensuite du style à ces boutons avec CSS.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.btn1&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;200px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#48D1CC&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#242424&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;30px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nc"&gt;.btn2&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;200px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#e67e22&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#242424&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;30px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Regardons un peu l'affichage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo5xi74br5wp1j8zyzp8c.JPG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo5xi74br5wp1j8zyzp8c.JPG" alt="Image description" width="623" height="136"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vous remarquerez que le bouton central est en orange comme défini en CSS, il a été défini avec une couleur différente des autres car c'est le bouton qui va nous aider dans notre série des transitions. &lt;/p&gt;

&lt;p&gt;Vous vous souvenez que nous avons expliqué que pour créer une animation il fallait avoir plusieurs informations?&lt;br&gt;
Dans notre cas nous avons déjà un élément à modifier (notre bouton central avec comme valeur btn2) et nous connaissons déjà sa valeur initiale avec tous les styles que nous lui avons appliqués avec CSS. &lt;br&gt;
Maintenant nous allons mettre en application d'autres éléments pour qu'on puisse regarder l'effet de l'animation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;cursor&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;pointer&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
  &lt;span class="nt"&gt;transition-property&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nt"&gt;transform&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
  &lt;span class="nt"&gt;transition-duration&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="err"&gt;200&lt;/span&gt;&lt;span class="nt"&gt;ms&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="no"&gt;blue&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1.15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Nous avons défini la durée de notre transition par rapport au survol de la souris au dessus du bouton par l'utilisateur. Le bouton va changer de couleur en rouge avec notre code &lt;code&gt;background: blue&lt;/code&gt;, le bouton va grossir de quelques millimètres avec le code &lt;code&gt;transform: scale(1.15)&lt;/code&gt; car par défaut le scale est défini à 1 et enfin, après le survol de la souris, le bouton va mettre 200 millisecondes avant de revenir à son état initial.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjw0r036ifjmgyotobj17.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjw0r036ifjmgyotobj17.png" alt="Image description" width="621" height="130"&gt;&lt;/a&gt;&lt;em&gt;Résultat après avoir appliquer la transformation à notre bouton&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Nous avons utilisé toutes nos cinq méthodes en utilisant pour le deuxième exemple un évènement qui déclenche notre animation. Dans notre cas c'était avec l'évènement du survol de la souris avec le mot clé &lt;code&gt;:hover&lt;/code&gt; qui est une pseudoclasse (Les pseudoclasses? Mais ce n'est pas ça notre sujet😉). Finalement l'état initial était différent de l'état final, au survol le bouton est devenu plus grand que les autres et a changé de couleur.&lt;/p&gt;

&lt;p&gt;Parlons un peu des pseudoclasses car c'est elle qui nous permettrons dans la plus part des cas d'appliquer une animation à un élément de notre page web.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;C'est quoi une pseudoclasse?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Une pseudoclasse peut être définie comme une condition qui sera lis par le navigateur pour produire, déclencher ou encore cesser un événement sur notre site. C'est un peu comme le if/else.&lt;br&gt;
Comme pour notre cas nous avons donné une condition de transformer un élément à l'aide de la pseudoclasse &lt;code&gt;:hover&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Il y a plusieurs pseudoclasses autres que &lt;code&gt;:hover&lt;/code&gt;. Nous pouvons citer par exemple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;:active&lt;/code&gt; : activé quand l'utilisateur clique sur un élément. Souvent appliqué aux boutons et aux liens&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:focus&lt;/code&gt; : quand un élément est sélectionné ;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:cheked&lt;/code&gt; : quand un élément est sélectionné dans un checkbox ou à l'aide d'un bouton radio ;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:valid&lt;/code&gt; : quand le input de l'utilisateur correspond au type de données voulu ;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:invalid&lt;/code&gt; : quand le input de l'utilisateur ne correspond pas au type de données voulu ;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Comme on vient de le voir avec les pseudoclasses, il y a plusieurs cas dans lesquels ou peut utiliser l'animation sur un site web et cela de plusieurs manières. Dans un formulaire, sur un bouton, sur un questionnaire, ...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmaupujsowaqbxrd4wwyx.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmaupujsowaqbxrd4wwyx.gif" alt="Image description" width="498" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;L'animation est un outil très puissant pour créer une réactivité sur son site et ainsi améliorer l'expérience utilisateur.&lt;/p&gt;

&lt;p&gt;Nous n'avons parler que d'une petite partie de cet outil puissant, mais il y a encore d'autres moyens qui nous permettent de créer des animations uniques, jolies et complexes, qui ressemblent parfois à des œuvres d'art.&lt;/p&gt;

&lt;p&gt;Il ne faut pas aussi abuser avec plus d'animations sur son site, il faut seulement le faire quand c'est nécessaire.&lt;/p&gt;

&lt;p&gt;Pour apprendre plus sur la transformation et l'animation, il y a une grande documentation sur le web :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://openclassrooms.com/fr/courses/5919246-creez-des-animations-css-modernes/6340912-decouvrez-les-animations-web" rel="noopener noreferrer"&gt;Openclassroom&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.w3schools.com/css/css3_animations.asp" rel="noopener noreferrer"&gt;W3Schools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/fr/docs/Web/CSS/CSS_animations/Using_CSS_animations" rel="noopener noreferrer"&gt;MDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>web</category>
      <category>css</category>
      <category>frontend</category>
      <category>animation</category>
    </item>
    <item>
      <title>Guide pour Identifier, Déboguer et Corriger les Erreurs HTML Courantes</title>
      <dc:creator>christian birego</dc:creator>
      <pubDate>Wed, 26 Jul 2023 11:41:53 +0000</pubDate>
      <link>https://dev.to/kadea-academy/guide-complet-pour-identifier-deboguer-et-corriger-les-erreurs-html-courantes-mil</link>
      <guid>https://dev.to/kadea-academy/guide-complet-pour-identifier-deboguer-et-corriger-les-erreurs-html-courantes-mil</guid>
      <description>&lt;p&gt;Lorsque vous créez ou développez un site web, il est fréquent de rencontrer des erreurs HTML. Ces erreurs peuvent compromettre le bon fonctionnement de votre site et causer des problèmes d'affichage ou de performance. Dans cet article, nous allons passer en revue les erreurs HTML courantes, vous fournir des conseils pour identifier et déboguer efficacement ces erreurs, et vous présenter des ressources et outils pour valider votre code HTML.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g4-UG5hJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/os1dbr4iig2q3ykn3al9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g4-UG5hJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/os1dbr4iig2q3ykn3al9.jpg" alt="Error" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Erreurs HTML Courantes et Comment les Identifier&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;a) Erreurs de Syntaxe : Ces erreurs sont généralement dues à des fautes d'orthographe, des erreurs de ponctuation ou un mauvais placement des balises dans votre code HTML. Elles peuvent être identifiées en utilisant un éditeur de code qui met en évidence les erreurs de syntaxe ou en utilisant un validateur HTML en ligne.&lt;/p&gt;

&lt;p&gt;b) Erreurs de Balisage : Il s'agit d'erreurs liées à la structure de votre code HTML. Par exemple, l'oubli d'une balise de fermeture, l'imbrication incorrecte des balises ou l'utilisation incorrecte des attributs. Vous pouvez identifier ces erreurs en examinant attentivement votre code et en vérifiant si les balises sont correctement alignées et imbriquées.&lt;/p&gt;

&lt;p&gt;c) Erreurs liées aux Attributs : Ces erreurs surviennent lorsque vous utilisez des attributs inexistants ou incorrects pour certaines balises. Vous pouvez identifier ces erreurs en consultant la documentation HTML pour vérifier les attributs valides pour chaque balise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conseils pour un Débogage et un Dépannage Efficaces&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;a) Utiliser les Outils de Développement du Navigateur : Les navigateurs modernes proposent des outils de développement qui vous permettent d'inspecter le code HTML en temps réel. Vous pouvez utiliser ces outils pour voir comment le navigateur interprète votre code et identifier les erreurs.&lt;/p&gt;

&lt;p&gt;b) Tester dans Différents Navigateurs : Les problèmes HTML peuvent parfois être spécifiques à certains navigateurs. Il est donc essentiel de tester votre site web dans différents navigateurs populaires pour vous assurer qu'il s'affiche correctement partout.&lt;/p&gt;

&lt;p&gt;c) Vérifier les Messages d'Erreur : Si votre site web ne fonctionne pas correctement, consultez la console des erreurs de votre navigateur pour obtenir des informations précieuses sur les erreurs rencontrées par le code HTML.&lt;/p&gt;

&lt;p&gt;d) Utiliser les Validations Interactives : Certains validateurs HTML en ligne proposent des options interactives qui vous permettent de voir instantanément les erreurs dans votre code à mesure que vous le tapez. Cela facilite l'identification et la correction des erreurs au fur et à mesure de votre travail.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ressources et Outils pour Valider le Code HTML&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;a) W3C Markup Validation Service : Le W3C offre un service de &lt;a href="https://validator.w3.org/"&gt;validation HTML&lt;/a&gt; en ligne qui permet de vérifier la conformité de votre code aux normes HTML recommandées. Il vous indiquera les erreurs et les avertissements afin que vous puissiez les corriger.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SM6IM7m7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1y84ue3mprhjn4iu1yzh.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SM6IM7m7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1y84ue3mprhjn4iu1yzh.gif" alt="w3c" width="700" height="343"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;b) Validateur HTML de Google : Google propose également un validateur HTML qui vous aide à détecter les erreurs et les problèmes potentiels dans votre code HTML.&lt;br&gt;
&lt;a href="https://h5validator.appspot.com/dcm/asset"&gt;h5validator&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8eXOAUDa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rzripjyhl2mhdin6vs8i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8eXOAUDa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rzripjyhl2mhdin6vs8i.png" alt="google val" width="800" height="330"&gt;&lt;/a&gt;&lt;br&gt;
c) Éditeurs de Code avec Vérification de Syntaxe : Utilisez des éditeurs de code populaires tels que &lt;a href="https://code.visualstudio.com/download"&gt;Visual Studio Code&lt;/a&gt;, Sublime Text ou Atom qui offrent une vérification en temps réel de la syntaxe HTML, ce qui vous permet de repérer rapidement les erreurs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En évitant les erreurs HTML courantes et en utilisant les outils de débogage et de validation appropriés, vous pouvez améliorer la qualité et la performance de votre site web. En suivant les conseils présentés dans cet article et en utilisant les ressources disponibles, vous serez en mesure d'identifier, de déboguer et de corriger efficacement les erreurs HTML, offrant ainsi une meilleure expérience utilisateur à vos visiteurs. Veillez à toujours vérifier et valider votre code HTML avant de publier votre site pour vous assurer qu'il fonctionne correctement et qu'il est conforme aux normes web.&lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
      <category>website</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>Comment insérer les contenus audios et videos sur une page web?</title>
      <dc:creator>firminfinva</dc:creator>
      <pubDate>Tue, 25 Jul 2023 09:29:06 +0000</pubDate>
      <link>https://dev.to/kadea-academy/comment-inserer-les-contenus-audio-et-videos-sur-une-page-web-304c</link>
      <guid>https://dev.to/kadea-academy/comment-inserer-les-contenus-audio-et-videos-sur-une-page-web-304c</guid>
      <description>&lt;p&gt;L'évolution constante d'Internet et des technologies web a conduit à l'émergence de nouvelles fonctionnalités et possibilités pour les concepteurs de sites et les développeurs. L'une de ces avancées remarquables est l'intégration de contenus audio et vidéo via les balises HTML5. Avec ces outils, il est maintenant possible  de créer une expérience multimédia immersive directement à partir du navigateur web. Dans cet article, nous explorerons quelques fonctionnalités d'intégration de contenus multimédias offertes par HTML5 et la manière dont elles peuvent être personnalisées pour offrir une expérience utilisateur riche et interactive.&lt;/p&gt;

&lt;p&gt;HTML5 a introduit des nouvelles balises comme &lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt; et &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; qui permettent d'ajoute facilement des contenus audio et vidéos dans une page web. Ces balises offrent une syntaxe simple et intuitive, rendant l'intégration de telles ressources aussi simple que d'inclure une image dans la page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Les contenus audio :&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;  &lt;span class="nt"&gt;&amp;lt;audio&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"audio.mp3"&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/audio&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frff05bkeqjzofaglulz4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frff05bkeqjzofaglulz4.png" alt="Image description" width="800" height="143"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;HTML5 fournit des attributs que vous pouvez utiliser pour contrôler et personnaliser la lecture &lt;code&gt;audio&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;Voici quelques exemples d'attributs pour la balise &lt;code&gt;audio&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;src&lt;/code&gt; : spécifie l'URL du fichier audio à lire.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;autoplay&lt;/code&gt; : définit si le lecteur audio doit être chargé automatiquement lorsque la page est chargée.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;loop&lt;/code&gt; : définit si le lecteur audio doit être en boucle.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;controls&lt;/code&gt;: affiche les contrôles audio (lecture, pause, relecture, volume, etc.).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;muted&lt;/code&gt;: définit si le volume audio doit être réduit par défaut.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;preload&lt;/code&gt;: spécifie la quantité de contenu audio à charger avant de commencer la lecture. Les valeurs possibles sont &lt;br&gt;
none, metadata et auto.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;audio&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"chemin/vers/mon_audio.mp3"&lt;/span&gt; &lt;span class="na"&gt;autoplay&lt;/span&gt; &lt;span class="na"&gt;loop&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt; &lt;span class="na"&gt;muted&lt;/span&gt; &lt;span class="na"&gt;preload=&lt;/span&gt;&lt;span class="s"&gt;"auto"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/audio&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Les contenus  vidéo  :&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;video&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"maVideo.mp4"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"video/mp4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/video&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8kde6g4tkknlx418ve12.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8kde6g4tkknlx418ve12.png" alt="Image description" width="800" height="219"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;HTML5 fournit des attributs que vous pouvez utiliser pour contrôler et personnaliser la lecture &lt;code&gt;video&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;-Voici quelques exemples d'attributs pour la balise &lt;code&gt;video&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;src&lt;/code&gt; : spécifie l'URL du fichier vidéo à lire.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;autoplay&lt;/code&gt; : définit si le lecteur vidéo doit être chargé automatiquement lorsque la page est chargée.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;loop&lt;/code&gt; : définit si le lecteur vidéo doit être en boucle.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;controls&lt;/code&gt; : affiche les contrôles vidéo (lecture, pause, relecture, volume, etc.).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;muted&lt;/code&gt;: définit si le volume audio doit être réduit par défaut.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;preload&lt;/code&gt; : spécifie la quantité de contenu vidéo à charger avant de commencer la lecture. Les valeurs possibles sont &lt;br&gt;
none, metadata et auto.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;width&lt;/code&gt; et &lt;code&gt;height&lt;/code&gt; : spécifient la taille de la vidéo en pixels.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;video&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"chemin/vers/mon_video.mp4"&lt;/span&gt; &lt;span class="na"&gt;autoplay&lt;/span&gt; &lt;span class="na"&gt;loop&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt; &lt;span class="na"&gt;muted&lt;/span&gt; &lt;span class="na"&gt;preload=&lt;/span&gt;&lt;span class="s"&gt;"auto"&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"640"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"360"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/video&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;HTML5 offre également la possibilité d'inclure des sous-titres et des légendes pour les vidéos à l'aide de la balise &lt;code&gt;&amp;lt;track&amp;gt;&lt;/code&gt;. Les développeurs peuvent fournir des fichiers de sous-titres dans différents formats (SRT, VTT, etc.) pour permettre aux utilisateurs de choisir leur langue préférée. De plus, il est possible de spécifier plusieurs sources multimédias alternatives afin de s'assurer de la compatibilité avec différents navigateurs et formats.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;video&lt;/span&gt; &lt;span class="na"&gt;controls&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"chemin/vers/mon_video.mp4"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"video/mp4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;source&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"chemin/vers/mon_video.webm"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"video/webm"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;track&lt;/span&gt; &lt;span class="na"&gt;kind=&lt;/span&gt;&lt;span class="s"&gt;"subtitles"&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"chemin/vers/mon_sous-titres.vtt"&lt;/span&gt; &lt;span class="na"&gt;srclang=&lt;/span&gt;&lt;span class="s"&gt;"fr"&lt;/span&gt; &lt;span class="na"&gt;label=&lt;/span&gt;&lt;span class="s"&gt;"Français"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;track&lt;/span&gt; &lt;span class="na"&gt;kind=&lt;/span&gt;&lt;span class="s"&gt;"subtitles"&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"chemin/vers/mon_sous-titres.vtt"&lt;/span&gt; &lt;span class="na"&gt;srclang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt; &lt;span class="na"&gt;label=&lt;/span&gt;&lt;span class="s"&gt;"Anglais"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;track&lt;/span&gt; &lt;span class="na"&gt;kind=&lt;/span&gt;&lt;span class="s"&gt;"captions"&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"chemin/vers/mon_légendes.vtt"&lt;/span&gt; &lt;span class="na"&gt;srclang=&lt;/span&gt;&lt;span class="s"&gt;"fr"&lt;/span&gt; &lt;span class="na"&gt;label=&lt;/span&gt;&lt;span class="s"&gt;"Français"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;track&lt;/span&gt; &lt;span class="na"&gt;kind=&lt;/span&gt;&lt;span class="s"&gt;"captions"&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"chemin/vers/mon_légendes.vtt"&lt;/span&gt; &lt;span class="na"&gt;srclang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt; &lt;span class="na"&gt;label=&lt;/span&gt;&lt;span class="s"&gt;"Anglais"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/video&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Optimisation du chargement et de la lecture de contenus multimédias :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;HTML5 propose des techniques d'optimisation pour améliorer la vitesse de chargement et offrir une expérience utilisateur plus fluide comme:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;le streaming adaptatif, qui permet au navigateur de choisir automatiquement le format de diffusion en continu en fonction de la qualité de la connexion Internet et de l'appareil.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mettre en cache des ressources, telles que des images, des fichiers CSS et JavaScript, pour les récupérer plus rapidement lors de leur prochaine utilisation. Cela permet également de réduire la quantité de données à transférer sur le réseau.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;La compression des fichiers multimédias, telle que la compression GIF, qui permet de réduire la taille des fichiers GIF sans perdre de qualité..&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En combinant ces techniques d'optimisation, HTML5 permet aux développeurs de créer des applications web qui offrent une expérience utilisateur plus fluide et rapide, même sur des connexions Internet lentes ou limitées.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;4. Support de la lecture multimédia sur différents navigateurs et périphériques :&lt;/strong&gt;&lt;br&gt;
Une autre caractéristique essentielle de HTML5 est sa compatibilité multiplateforme. Les balises &lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt; et &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt; sont prises en charge par la plupart des navigateurs modernes, y compris Chrome, Firefox, Safari et Edge. &lt;/p&gt;

&lt;p&gt;-audio&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyw93v07v3agxlyqdc1si.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyw93v07v3agxlyqdc1si.png" alt="Image description" width="717" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-video&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm97maf2o9ix15u597dx0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm97maf2o9ix15u597dx0.png" alt="Image description" width="744" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En conclusion, HTML5 représente un véritable pas en avant dans la manière dont les contenus multimédias sont intégrés et consommés sur le web moderne.&lt;/p&gt;

</description>
      <category>html</category>
      <category>video</category>
      <category>audio</category>
      <category>multimedias</category>
    </item>
    <item>
      <title>Grid CSS. Comment bien structurer une page web avec la propriété grid?</title>
      <dc:creator>Gérard Cubaka</dc:creator>
      <pubDate>Tue, 25 Jul 2023 07:22:57 +0000</pubDate>
      <link>https://dev.to/kadea-academy/grid-css-comment-bien-structurer-une-page-web-avec-la-propriete-grid-12je</link>
      <guid>https://dev.to/kadea-academy/grid-css-comment-bien-structurer-une-page-web-avec-la-propriete-grid-12je</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le but principale de cet article est de vous apprendre à utiliser la propriété CSS grid, via un exemple sous forme de maquette d’un site web afin de bien la maîtriser.&lt;/p&gt;

&lt;p&gt;Grace à cet outil CSS nous allons pouvoir faire la mise en page, l’habillage, l’agencement et la disposition de nos différents éléments sur notre page web d’une manière simple.&lt;/p&gt;

&lt;p&gt;Créé en 2011, CSS grid est venu étendre les possibilités offertes par le module de tableau CSS table, la propriété float et la propriété flexbox. En guise de rappel la propriété float indique qu'un élément doit être retirer du flux normal et doit être placer sur le coté droit ou sur le coté gauche de son conteneur.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Qu’est-ce que grid CSS?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pour comprendre le fonctionnement du module CSS grid, il faut imaginer une grille composée de colonnes et de lignes. L’intersection entre les colonnes et les lignes forme les cellules. Une ou plusieurs cellules occupées par un meme élément forment une zone. &lt;/p&gt;

&lt;p&gt;Cette grille est le conteneur parent qui ne s’affichent pas à l’écran, elle joue le rôle de repère pour placer verticalement et horizontalement les zones de contenu. Chaque zone est un conteneurs fils, positionné sur la grille en indiquant ses coordonnées ,c’est-à-dire les colonnes et les lignes dont il occupe l’espace. Chaque conteneur fils affiche alors son contenu, constitué d’un élément ou d’un groupe d’éléments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Condition d’utilisation de grid CSS?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pour utiliser CSS grid, il faut:&lt;br&gt;
    • Un conteneur parent : l’élément HTML &lt;/p&gt; prend la propriété CSS display : grid pour se comporter comme une grille.&lt;br&gt;
    • Des conteneurs fils : chaque élément  inclus dans le conteneur  parent constitue une zone de la grille, placée verticalement sur une ou plusieurs colonnes et horizontalement sur une ou plusieurs lignes.&lt;br&gt;

&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"grille"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;nav&amp;gt;&amp;lt;p&amp;gt;&lt;/span&gt;Navbar&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&amp;lt;/nav&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;main&amp;gt;&amp;lt;p&amp;gt;&lt;/span&gt;Main&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&amp;lt;/main&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"sidebar"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;p&amp;gt;&lt;/span&gt;Sidbar&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"content1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;p&amp;gt;&lt;/span&gt;Content1&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"content2"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;p&amp;gt;&lt;/span&gt;Content2&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"content3"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;p&amp;gt;&lt;/span&gt;Content3&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;footer&amp;gt;&lt;/span&gt;Fooder&lt;span class="nt"&gt;&amp;lt;/footer&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;Les valeurs que peut prendre la propriété grid&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;grid-template&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Cette valeur définit ce qui inclut « grid-template-columns ». « grid-template-rows » et « grid-template-areas ».&lt;/p&gt;

&lt;p&gt;&lt;em&gt;grid-auto-flow&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Cette valeur définit qui indique le fonctionnement de l’algorithme de placement automatique et qui détaille exactement comment les éléments placés automatiquement « coulent » dans la grille.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;grid-auto-rows&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Cette valeur définit qui indique la taille des pistes créées pour les lignes de façons implicite.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;grid-auto-columns&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Cette valeur définit qui indique la taille des pistes créées pour les colonnes de façon implicite.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Les propriété enrichies&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;La propriété grid-template-columns : définit la taille des colonnes.&lt;/li&gt;
&lt;li&gt;La propriété background-color colore l’arrière-plan de la grille, ou l’arrière-plan d’une zone de la grille.&lt;/li&gt;
&lt;li&gt;La propriété color colore le contenu des zones de la grille.&lt;/li&gt;
&lt;li&gt;La propriété grid-gap détermine l’espace entre les zones de la grille.&lt;/li&gt;
&lt;li&gt;La propriété border ajouter une bordure à la grille ou à une zone de la grille.
&lt;em&gt;Utiliser les propriétés « start » et « end »&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le propriété our indiquer l’emplacement de c&lt;br&gt;
start et end permettent également d’indiquer l’emplacement de chaque zone, le code CSS renseigne, pour chacune :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;à quelle colonne la zone commence, avec la propriété grid-column-start.&lt;/li&gt;
&lt;li&gt;à quelle colonne la zone s’arrète, avec la propriété grid-column-end. &lt;/li&gt;
&lt;li&gt;à quelle ligne la zone commence, avec la proprété grid-row-start. &lt;/li&gt;
&lt;li&gt;à quelle ligne la zone s’arrète, avec la propriété grid-row-end.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Comment centrer une grille en CSS&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Center une grille permet de positionner les zones de manières harmonieuse. Pour ce faire on utilise :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;La propriété align-items indique le positionnement des zones sur l’axe vertical de la grille. 
La valeur « center » permet de positionner les zones sur l’axe vertical de la grille en créant autant d’espace en haut et en bas à l’intérieur de la grille.&lt;/li&gt;
&lt;li&gt;La propriété justify-items indique le positionnement des zones sur l’axe horizontal de la grille. 
La valeur « center » permet de positionner les zones au centrer de la grille en créant autant d’espace à gauche et à droite à l’intérieur de la grille.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Utiliser les propriété raccourcies&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Les propriété raccourcies permettent de rédiger plus rapidement le code CSS, et améliorent sa lisibilité. Au lieu de renseigner le début et la fin de chaque ligne et de chaque colonne de la grille avec quatre propriétés distinctes, il suffit d’utiliser les propriétés raccourcies grid-column et grid-row, et de leur attribuer deux valeurs à chacune.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Utiliser la propriété grid-area&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Cette propriété raccourcit encore le code CSS grid. Au lieu de mentionner les lignes et les colonnes, la propriété grid-area suffit à déterminer l’espace occupé par chaque zone. La propriété grid-area fonctionne avec quatre valeurs :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;La première correspond au début de la ligne.&lt;/li&gt;
&lt;li&gt;La deuxième correspond au début de la colonne.&lt;/li&gt;
&lt;li&gt;La troisième correspond à la fin de la ligne.&lt;/li&gt;
&lt;li&gt;La quatrième correspond à la fin de la colonne.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Personnaliser la disposition des zones&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Dans les exemples précédents, chaque zone occupe une seule « case » de la grille. Pour personnaliser la disposition des zones, afin de créer une mise en page plus attractive, il faut ajouter les valeurs des propriétés grid-column et grid-row.&lt;/p&gt;

&lt;p&gt;Voici le code CSS où nous utilisons les propriétés grid pour structurer une page en partant du code HTML précédent:&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="err"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.grille&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100vh&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-template-columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt; &lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt; &lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt; &lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-template-rows&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.2&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt; &lt;span class="m"&gt;1.5&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt; &lt;span class="m"&gt;1.2&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt; &lt;span class="m"&gt;0.8&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-template-areas&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; 
    &lt;span class="s1"&gt;"nav nav nav nav"&lt;/span&gt;
    &lt;span class="s1"&gt;"sidebar main main main"&lt;/span&gt;
    &lt;span class="s1"&gt;"sidebar content1 content2 content3"&lt;/span&gt;
    &lt;span class="s1"&gt;"sidebar footer footer footer"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.2rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;800&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;text-transform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;uppercase&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;12px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#717475&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;La propriété grid-templates-area prend des valeurs qui sont les éléments HTML et qui doivent être préciser par la propriété qui s'applique aux éléments fils grid-aria de la manière suivante:&lt;br&gt;
&lt;/p&gt;

&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;nav&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#a7ffeb&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-area&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;nav&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;main&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#0e4848&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-area&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;#sidebar&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#18ffff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-area&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;sidebar&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;#content1&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#6fffd2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-area&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;content1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;#content2&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#64ffda&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-area&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;content2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;#content3&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#73ffba&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-area&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;content3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;footer&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#1de9b6&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;grid-area&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;footer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;padding-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nl"&gt;justify-content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Ainsi nous avons notre page web bien stucturé.&lt;br&gt;
L’en-tête de la page au dessus, &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tVD0edjs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mfa9scgzrmzrhf3rlga2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tVD0edjs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mfa9scgzrmzrhf3rlga2.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>grid</category>
      <category>css</category>
      <category>tutorial</category>
      <category>responsive</category>
    </item>
    <item>
      <title>Les Variables en CSS</title>
      <dc:creator>Emmanuelbinen</dc:creator>
      <pubDate>Sat, 22 Jul 2023 22:30:44 +0000</pubDate>
      <link>https://dev.to/kadea-academy/les-variables-en-css-3jo1</link>
      <guid>https://dev.to/kadea-academy/les-variables-en-css-3jo1</guid>
      <description>&lt;p&gt;Dans la Science Informatique, on appelle variable une donnée à laquelle on attribue une valeur. Sa valeur peut être modifiée sans changer le nom. Dans la programmation, dans le développement web dans notre cas ici, la variable se présente sous de nombreuses formes définies par le développeur ou programmeur.&lt;/p&gt;

&lt;p&gt;Pour pouvoir mieux comprendre ce que nous avons expliqué ci-haut, faisons un pas en arrière et parlons des variables en mathématiques.&lt;/p&gt;

&lt;p&gt;Par exemple :&lt;br&gt;
x = 1, dans ce cas précis, x est la variable et 1 est sa valeur. Ce qui signifie que si on faisait x + 3, cela sera égal à 4, parce que nous avons attribué la valeur de 4 à notre variable. Quelqu’un d’autre peut lui attribuer la valeur de 256 ou autre chose (Computerhope, 2022).&lt;/p&gt;

&lt;p&gt;Maintenant que nous avons une idée de ce qu'est une variable, voyons ce qu'est une variable en CSS.&lt;/p&gt;

&lt;p&gt;CSS (Cascading Style Sheet) est un langage de codage que nous utilisons pour styler ou donner une bonne apparence et mise en page à notre page web. Sans CSS, la page web est simplement du texte sur un fond blanc (BIGCOMMERCE, nd).&lt;/p&gt;

&lt;p&gt;On appelle variables en CSS les propriétés personnalisées définies par le développeur qui contiennent des valeurs spécifiques à réutiliser dans un document CSS.&lt;/p&gt;

&lt;p&gt;Selon le W3School, &lt;em&gt;« Une bonne façon d'utiliser les variables CSS est lorsque vous utilisez les couleurs de votre design. Au lieu de copier et coller les mêmes couleurs encore et encore, vous pouvez les placer dans des variables ».&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;En CSS, nous avons deux types de variables : les variables locales et globales.&lt;/p&gt;

&lt;p&gt;Pour créer une variable globale, déclarez-la à l'intérieur du sélecteur :root. Le nom de la variable commence par deux tirets (--) suivis du nom donné par le développeur, qui peut être une combinaison de lettres, chiffres ou autres caractères spéciaux tels que le trait d'union (-) ou le trait de soulignement (_) (MDN, webdocs).&lt;/p&gt;

&lt;p&gt;Par example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;:root {
  --couleur-fond-principale: brown;
  --couleur-texte-principale: white;
}

body {
  background-color: var(--couleur-fond-principale);
  color: var(--couleur-texte-principale);
}

.container {
  --couleur-fond-principale: blue;
  background-color: var(--couleur-fond-principale);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dans cet exemple ci-haut, nous avons defini deux propriétés personnalisées à l'aide de la pseudo-classe &lt;strong&gt;:root&lt;/strong&gt;. La première propriété est --couleur-fond-principale, qui est définie sur brown. La deuxième propriété est --couleur-texte-principale, qui est définie sur blanc. Nous utilisons ensuite ces propriétés dans le sélecteur de corps pour définir la couleur d'arrière-plan et la couleur du texte de la page.&lt;/p&gt;

&lt;p&gt;Nous définissons également une propriété locale personnalisée appelée --couleur-fond-principale dans le sélecteur .container. Cette propriété est définie sur blue, ce qui remplace la valeur globale de --couleur-fond-principale. Nous utilisons ensuite cette propriété pour définir la couleur d'arrière-plan de l'élément .container.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Références&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;BigCommerce: [&lt;a href="https://www.bigcommerce.com/ecommerce-answers/what-css-and-why-it-important/"&gt;https://www.bigcommerce.com/ecommerce-answers/what-css-and-why-it-important/&lt;/a&gt;]&lt;br&gt;
ComputerHope : [&lt;a href="https://www.computerhope.com/jargon/v/variable.htm"&gt;https://www.computerhope.com/jargon/v/variable.htm&lt;/a&gt;]&lt;br&gt;
MDN: [&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties"&gt;https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties&lt;/a&gt;]&lt;br&gt;
W3School : [&lt;a href="https://www.w3schools.com/css/css3_variables.asp"&gt;https://www.w3schools.com/css/css3_variables.asp&lt;/a&gt;]&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>web3</category>
      <category>biginners</category>
    </item>
  </channel>
</rss>
