WhatsApp

  
Cómo Crear una Sección de Preguntas Frecuentes
FAQ con HTML, CSS y JavaScript


Las secciones de Preguntas Frecuentes (FAQ) son fundamentales en cualquier página web. Ayudan a los visitantes a encontrar rápidamente respuestas a sus preguntas más comunes, mejorando así la experiencia del usuario. En este tutorial, te enseñaré a crear una sección de FAQ interactiva utilizando HTML, CSS y JavaScript.

 
 


.

HTML: Estructura del Contenido

Comencemos creando el archivo index.html. Este archivo contendrá la estructura básica de nuestra sección de FAQ.}


HTML

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Preguntas Frecuentes</title>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.14.0/css/all.min.css" integrity="sha512-1PKOgIY59xJ8Co8+NE6FZ+LOAZKjy+KY8iq0G4B3CyeY6wYHN3yt9PW0XpSriVlkMXe40PTKnXrLnZ9+fkDaog==" crossorigin="anonymous" />

<link rel="stylesheet" href="./style.css">

<script src="./script.js" defer></script>

</head>



<body>

<h1>Frequently Asked Questions</h1>

<div class="faq-container">

<div class="faq active">

<h3 class="faq-title">

Why shouldn’t we trust atoms?

</h3>

<p class="faq-text">

They make up everything.

</p>

<button class="faq-toggle">

<i class="fas fa-chevron-down"></i>

<i class="fas fa-times"></i>

</button>

</div>

<div class="faq">

<h3 class="faq-title">

What do you call someone with no body and no nose?

</h3>

<p class="faq-text">

Nobody knows.

</p>

<button class="faq-toggle">

<i class="fas fa-chevron-down"></i>

<i class="fas fa-times"></i>

</button>

</div>

<div class="faq">

<h3 class="faq-title">

What's the object-oriented way to become wealthy?

</h3>

<p class="faq-text">

Inheritance.

</p>

<button class="faq-toggle">

<i class="fas fa-chevron-down"></i>

<i class="fas fa-times"></i>

</button>

</div>

<div class="faq">

<h3 class="faq-title">

How many tickles does it take to tickle an octopus?

</h3>

<p class="faq-text">

Ten-tickles!

</p>

<button class="faq-toggle">

<i class="fas fa-chevron-down"></i>

<i class="fas fa-times"></i>

</button>

</div>

<div class="faq">

<h3 class="faq-title">

What is: 1 + 1?

</h3>

<p class="faq-text">

Depends on who are you asking.

</p>

<button class="faq-toggle">

<i class="fas fa-chevron-down"></i>

<i class="fas fa-times"></i>

</button>

</div>

</div>

</body>

</html>



CSS: Estilo del Contenido


CSS

@import url('https://fonts.googleapis.com/css?family=Muli&display=swap');



* {

box-sizing: border-box;

}



body {

font-family: 'Muli', sans-serif;

background-color: #f0f0f0;

margin: 0;

padding: 0;

}



h1 {

margin: 50px 0 30px;

text-align: center;

}



.faq-container {

max-width: 600px;

margin: 0 auto;

padding: 0 20px;

}



.faq {

background-color: #fff;

border: 1px solid #9fa4a8;

border-radius: 10px;

margin: 20px 0;

padding: 30px;

position: relative;

overflow: hidden;

transition: 0.3s ease;

}



.faq.active {

background-color: #f9f9f9;

box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1), 0 3px 6px rgba(0, 0, 0, 0.1);

}



.faq-title {

margin: 0 35px 0 0;

}



.faq-text {

display: none;

margin: 30px 0 0;

}



.faq.active .faq-text {

display: block;

}



.faq-toggle {

background-color: transparent;

border: 0;

border-radius: 50%;

cursor: pointer;

display: flex;

align-items: center;

justify-content: center;

font-size: 16px;

padding: 0;

position: absolute;

top: 30px;

right: 30px;

height: 30px;

width: 30px;

}


JavaScript: Lógica y Funcionalidad

Finalmente, vamos a crear el archivo script.js para manejar la lógica de nuestra sección de FAQ. Utilizaremos JavaScript para alternar la visibilidad de las respuestas al hacer clic en las preguntas.

JS

const toggles = document.querySelectorAll('.faq-toggle');



toggles.forEach(toggle => {

toggle.addEventListener('click', () => {

toggle.parentNode.classList.toggle('active');

});

});


¡Contáctanos!

Si tienes preguntas, aclaraciones, sugerencias de temas o cualquier otra consulta, ¡no dudes en ponerte en contacto con nosotros! Por favor, completa el formulario de contacto disponible en este enlace, y estaremos encantados de ayudarte.

Si quieres acceder a mi GitHub para tener acceso a este código y a muchos más accede en el siguiente link



Sebastian Granados 3 junio, 2024
Compartir


Iniciar sesión dejar un comentario

  
Cómo Crear un Generador de Frases
HTML, CSS y JavaScript