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.
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.
Voici un aperçu de la structure du projet :
FAQ-Accordion/ ├── index.html ├── style.css └── script.js
Pour démarrer le projet, suivez ces étapes :
Cloner le dépôt :
git clone https://github.com/abhishekgurjar-in/FAQ-Accordion.git
Ouvrez le répertoire du projet :
cd FAQ-Accordion
Exécuter le projet :
Le fichier index.html définit la structure de l'application FAQ Accordion, y compris les questions et réponses. En voici un extrait :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>FAQ accordion</title> <link rel="stylesheet" href="./style.css" /> <script src="./script.js" defer></script> </head> <body> <div class="conatiner"> <img src="./assets/images/background-pattern-desktop.svg" alt="" /> <div class="box"> <h1> FAQs <span class="imageStar"> <img src="./assets/images/icon-star.svg" alt="" /></span> </h1> <section class="section"> <div class="question"> <h3>Is Frontend Mentor free?</h3> <div class="icon-img"> <img src="./assets/images/icon-plus.svg" alt="" /> </div> </div> <div class="answer"> <p> 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. </p> </div> <hr /> </section> <section class="section"> <div class="question"> <h3>Can I use Frontend Mentor projects in my portfolio?</h3> <div class="icon-img"> <img src="./assets/images/icon-plus.svg" alt="" /> </div> </div> <div class="answer"> <p> 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. </p> </div> <hr /> </section> <section class="section"> <div class="question"> <h3>Can I use Frontend Mentor projects in my portfolio?</h3> <div class="icon-img"> <img src="./assets/images/icon-plus.svg" alt="" /> </div> </div> <div class="answer"> <p> Yes, you can use projects completed on Frontend Mentor in your portfolio. It's an excellent way to showcase your skills to potential employers! </p> </div> <hr /> </section> <section class="section"> <div class="question"> <h3> How can I get help if I'm stuck on a Frontend Mentor challenge? </h3> <div class="icon-img"> <img src="./assets/images/icon-plus.svg" alt="" /> </div> </div> <div class="answer"> <p> 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. </p> </div> <hr /> </section> </div> </div> </body> </html>
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; } }
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"; } }); });
Vous pouvez consulter la démo en direct du projet FAQ Accordion ici.
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 !
Ce projet a été développé dans le cadre de mon parcours d'apprentissage continu en développement Web.
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!