Maison >interface Web >tutoriel CSS >Créer un site Web accordéon FAQ

Créer un site Web accordéon FAQ

WBOY
WBOYoriginal
2024-09-03 13:33:41735parcourir

Build a FAQ Accordion Website

Introduction

Bonjour les développeurs ! Je suis ravi de partager mon dernier projet : une application Web FAQ Accordéon. Ce projet est parfait pour ceux qui cherchent à créer une section FAQ interactive et conviviale pour leurs sites Web. C'est un excellent moyen d'améliorer vos compétences en développement front-end en utilisant HTML, CSS et JavaScript tout en créant un composant pratique pouvant être utilisé dans diverses applications.

Aperçu du projet

La FAQ Accordéon est une application Web conçue pour afficher les questions fréquemment posées dans un format extensible et pliable. Avec un design épuré et moderne, il permet aux utilisateurs de cliquer sur une question pour révéler la réponse correspondante. Ce projet montre comment créer une section FAQ interactive qui améliore l'expérience utilisateur en rendant le contenu facilement accessible.

Caractéristiques

  • Accordéon interactif : les utilisateurs peuvent cliquer sur les questions pour basculer la visibilité des réponses, améliorant ainsi la lisibilité du contenu.
  • Conception réactive : L'application est entièrement réactive, garantissant une expérience visuelle optimale sur les ordinateurs de bureau et les appareils mobiles.
  • Icônes dynamiques : les icônes changent pour indiquer si une réponse est développée ou réduite.

Technologies utilisées

  • HTML : Fournit la structure de l'application FAQ Accordéon.
  • CSS : stylise l'application pour créer un design épuré et réactif.
  • JavaScript : gère les éléments interactifs, notamment le développement et la réduction des réponses et le basculement des icônes.

Structure du projet

Voici un aperçu de la structure du projet :

FAQ-Accordion/
├── index.html
├── style.css
└── script.js
  • index.html : Contient la structure HTML de l'application FAQ Accordéon.
  • style.css : inclut des styles CSS pour créer un design attrayant et réactif.
  • script.js : gère les éléments interactifs, tels que le développement et la réduction des réponses et la mise à jour des icônes.

Installation

Pour démarrer le projet, suivez ces étapes :

  1. Cloner le dépôt :

    git clone https://github.com/abhishekgurjar-in/FAQ-Accordion.git
    
  2. Ouvrez le répertoire du projet :

    cd FAQ-Accordion
    
  3. Exécuter le projet :

    • Ouvrez le fichier index.html dans un navigateur Web pour afficher l'application FAQ Accordion.

Usage

  1. Ouvrez l'application dans un navigateur Web.
  2. Cliquez sur une question pour activer/désactiver la visibilité de la réponse.
  3. Développez et réduisez différentes questions pour afficher leurs réponses.
  4. Mettre à jour ou ajouter de nouvelles questions selon vos besoins.

Explication du code

HTML

Le fichier index.html définit la structure de l'application FAQ Accordion, y compris les questions et réponses. En voici un extrait :

8b05045a5be5764f313ed5b9168a17e6
49099650ebdc5f3125501fa170048923
  93f0f5c25f18dab9d176bd4f6de5d30e
    7c8d9f814bcad6a1d7abe4eda5f773e5
    26faf3d1af674280d03ba217d87e9421
    b2386ffb911b14667cb8f0f91ea547a7FAQ accordion6e916e0f7d1e588d4f442bf645aedb2f
    d8b7823904473d155afe66ded7e78f93
    5de102113aede4703971b3b780c58efb2cacc6d41bbb37262a98f745aa00fbf0
  9c3bca370b5104690d9ef395f2c5f8d1
  6c04bd5ca3fcae76e30b72ad730ca86d
    7f673eaf394f0b5c3dca2aceb68a12d5
      ca5768eb787de1bcd21f5c4158b542b2
      8f9e4409b06fde1ff1d3a80f075ca0ed
        4a249f0d628e2318394fd9b75b4636b1
          FAQs
          a6d6d8732e7aab09e58fc20552ce9c66
            473be947d5c9cf409521472bde60f1a854bdf357c58b8a65c66d7c19c8e4d114
        473f0a7621bec819994bb5020d29372a
        d13b48bd4967f80660c6a04fe1b8824c
          17414f1b537c801ab0729a61553cc1ca
            684271ed9684bde649abda8831d4d355Is Frontend Mentor free?39528cedfa926ea0c01e69ef5b2ea9b0
            07e90b323838b387931d6dbf6680ca9e
              e5f2a86ab908242660e95bdf084ea432
            16b28748ea4df4d9c2150843fecfba68
          16b28748ea4df4d9c2150843fecfba68
          56c581cafed1e2f84ea91e1c5413333f
            e388a4556c0f65e1904146cc1a846bee
              Frontend Mentor offers realistic coding challenges to help
              developers improve their frontend coding skills with projects in
              HTML, CSS, and JavaScript. It's suitable for all levels and ideal
              for portfolio building.
            94b3e26ee717c64999d7867364b1b4a3
          16b28748ea4df4d9c2150843fecfba68
          231a563c997aa9e3e0ae614bd16728b0
        4d7ab0de9a42de71c682b0860bad1410
        d13b48bd4967f80660c6a04fe1b8824c
          17414f1b537c801ab0729a61553cc1ca
            684271ed9684bde649abda8831d4d355Can I use Frontend Mentor projects in my portfolio?39528cedfa926ea0c01e69ef5b2ea9b0
            07e90b323838b387931d6dbf6680ca9e
              e5f2a86ab908242660e95bdf084ea432
            16b28748ea4df4d9c2150843fecfba68
          16b28748ea4df4d9c2150843fecfba68
          56c581cafed1e2f84ea91e1c5413333f
            e388a4556c0f65e1904146cc1a846bee
              Yes, Frontend Mentor offers both free and premium coding
              challenges, with the free option providing access to a range of
              projects suitable for all skill levels.
            94b3e26ee717c64999d7867364b1b4a3
          16b28748ea4df4d9c2150843fecfba68
          231a563c997aa9e3e0ae614bd16728b0
        4d7ab0de9a42de71c682b0860bad1410
        d13b48bd4967f80660c6a04fe1b8824c
          17414f1b537c801ab0729a61553cc1ca
            684271ed9684bde649abda8831d4d355Can I use Frontend Mentor projects in my portfolio?39528cedfa926ea0c01e69ef5b2ea9b0
            07e90b323838b387931d6dbf6680ca9e
              e5f2a86ab908242660e95bdf084ea432
            16b28748ea4df4d9c2150843fecfba68
          16b28748ea4df4d9c2150843fecfba68
          56c581cafed1e2f84ea91e1c5413333f
            e388a4556c0f65e1904146cc1a846bee
              Yes, you can use projects completed on Frontend Mentor in your
              portfolio. It's an excellent way to showcase your skills to
              potential employers!
            94b3e26ee717c64999d7867364b1b4a3
          16b28748ea4df4d9c2150843fecfba68
          231a563c997aa9e3e0ae614bd16728b0
        4d7ab0de9a42de71c682b0860bad1410
        d13b48bd4967f80660c6a04fe1b8824c
          17414f1b537c801ab0729a61553cc1ca
            684271ed9684bde649abda8831d4d355
              How can I get help if I'm stuck on a Frontend Mentor challenge?
            39528cedfa926ea0c01e69ef5b2ea9b0
            07e90b323838b387931d6dbf6680ca9e
              e5f2a86ab908242660e95bdf084ea432
            16b28748ea4df4d9c2150843fecfba68
          16b28748ea4df4d9c2150843fecfba68
          56c581cafed1e2f84ea91e1c5413333f
            e388a4556c0f65e1904146cc1a846bee
              The best place to get help is inside Frontend Mentor's Discord
              community. There's a help channel where you can ask questions and
              seek support from other community members.
            94b3e26ee717c64999d7867364b1b4a3
          16b28748ea4df4d9c2150843fecfba68
          231a563c997aa9e3e0ae614bd16728b0
        4d7ab0de9a42de71c682b0860bad1410
      16b28748ea4df4d9c2150843fecfba68
    16b28748ea4df4d9c2150843fecfba68

  36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e

CSS

Le fichier style.css stylise l'application FAQ Accordion, garantissant qu'elle est visuellement attrayante et réactive. Voici quelques styles clés :

* {
  box-sizing: border-box;
  margin: 0;
}

body {
  background-color: hsl(275, 100%, 97%);

}

img {
  width: 100%;
  position: fixed;
}

.container {
  position: absolute;
}

.box {
  top: 100px;
  margin: 0 auto;
  background-color: hsl(0, 0%, 100%);
  max-width: 555px;
  position: relative;
  border-radius: 13px;
  padding: 20px;
}

.imageStar img {
  width: 36px;
  margin-left: 10px;
}

.section {
  padding: 5px;
}

.question {
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.answer {
  display: none;
  overflow: hidden;
  padding: 10px;
}

.answer.active {
  display: block;
}

.icon-img {
  display: flex;
  align-items: center;
  justify-content: center;
}

.icon-img img {
  position: fixed;
  width: 19px;
}

@media (max-width: 700px) {
  .box {
    max-width: 500px;
  }
}

@media (max-width: 500px) {
  .box {
    max-width: 400px;
  }
}

Javascript

Le fichier script.js contient la fonctionnalité permettant de développer et de réduire les réponses. Voici un extrait pour démonstration :

const questions = document.querySelectorAll(".question");

questions.forEach(question => {
  question.addEventListener("click", () => {
    const answer = question.nextElementSibling;
    const icon = question.querySelector(".icon-img img");

    // Toggle answer visibility
    answer.classList.toggle("active");

    // Change icon
    if (answer.classList.contains("active")) {
      icon.src = "./assets/images/icon-minus.svg";
    } else {
      icon.src = "./assets/images/icon-plus.svg";
    }
  });
});

Démo en direct

Vous pouvez consulter la démo en direct du projet FAQ Accordion ici.

Conclusion

La création de l'application FAQ Accordion a été une expérience enrichissante dans la création d'une section FAQ interactive et conviviale. Ce projet met en évidence l’importance de l’engagement des utilisateurs et de l’accessibilité du contenu. En appliquant HTML, CSS et JavaScript, nous avons développé un composant qui améliore l'expérience utilisateur en rendant les questions fréquemment posées facilement accessibles. J'espère que ce projet vous inspirera pour créer vos propres composants interactifs. Bon codage !

Crédits

Ce projet a été développé dans le cadre de mon parcours d'apprentissage continu en développement Web.

Auteur

  • Abhishek Gurjar
    • Profil GitHub

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn