Estilo Origami FAQ
Un componente FAQ creativo con animaciones de plegado inspiradas en origami y elementos de diseño tipo papel
Diseño Responsivo
Sí
Soporte para Modo Oscuro
No
líneas
239
Compatibilidad del Navegador
No
Vista Previa en Vivo
Interactúa con el componente sin salir de la página.
Componente de Estilo Origami FAQ
Un componente FAQ creativo con animaciones de plegado inspiradas en origami y elementos de diseño tipo papel para una experiencia de usuario única.
Características
- Diseño Inspirado en Origami: Texturas tipo papel y animaciones de plegado inspiradas en el arte japonés tradicional
- Elementos Visuales Creativos: Iconos únicos y patrones de plegado para interés visual
- Animaciones Suaves: Transiciones elegantes para expandir y contraer elementos del FAQ
- Efectos de Textura de Papel: Patrones de plegado sutiles y degradados para apariencia auténtica de papel
- Diseño Accesible: Proporciones adecuadas de contraste y soporte para navegación por teclado
- Totalmente Responsive: Se adapta a todos los tamaños de pantalla manteniendo efectos de origami
Estructura HTML
<div class="origami-faq-container">
<div class="faq-header">
<h2 class="faq-title">Origami FAQ</h2>
<p class="faq-subtitle">Desplegando conocimiento como arte en papel</p>
</div>
<div class="faq-wrapper">
<div class="faq-item">
<div class="paper-fold"></div>
<div class="faq-question">
<div class="origami-icon"> grulla </div>
<h3>¿Qué es el diseño estilo origami?</h3>
<div class="question-icon">+</div>
</div>
<div class="faq-answer">
<p>El diseño estilo origami usa animaciones de plegado y texturas tipo papel para crear una experiencia visual única inspirada en el plegado tradicional de papel japonés.</p>
</div>
</div>
<div class="faq-item">
<div class="paper-fold"></div>
<div class="faq-question">
<div class="origami-icon"> flor </div>
<h3>¿Cómo se crean los efectos de plegado?</h3>
<div class="question-icon">+</div>
</div>
<div class="faq-answer">
<p>Los efectos de plegado usan transformaciones CSS 3D y propiedades de perspectiva para simular animaciones de plegado de papel realistas.</p>
</div>
</div>
<div class="faq-item">
<div class="paper-fold"></div>
<div class="faq-question">
<div class="origami-icon"> barco </div>
<h3>¿Es este diseño accesible?</h3>
<div class="question-icon">+</div>
</div>
<div class="faq-answer">
<p>Sí, el diseño mantiene proporciones adecuadas de contraste e incluye soporte para navegación por teclado para accesibilidad.</p>
</div>
</div>
<div class="faq-item">
<div class="paper-fold"></div>
<div class="faq-question">
<div class="origami-icon"> estrella </div>
<h3>¿Puedo personalizar las texturas de papel?</h3>
<div class="question-icon">+</div>
</div>
<div class="faq-answer">
<p>¡Absolutamente! El componente usa propiedades CSS personalizadas para fácil personalización de colores, texturas y efectos de plegado.</p>
</div>
</div>
</div>
</div>Estilos CSS
.origami-faq-container {
max-width: 800px;
margin: 2rem auto;
padding: 2rem;
font-family: 'Inter', sans-serif;
background: linear-gradient(135deg, #f0f4f8 0%, #d9e2ec 100%);
position: relative;
overflow: hidden;
border-radius: 20px;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.faq-header {
text-align: center;
margin-bottom: 3rem;
position: relative;
z-index: 2;
}
.faq-title {
font-size: 2.5rem;
margin-bottom: 0.5rem;
color: #2d3748;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.faq-subtitle {
color: #4a5568;
font-size: 1.1rem;
}
.faq-wrapper {
display: flex;
flex-direction: column;
gap: 1.5rem;
position: relative;
z-index: 2;
}
.faq-item {
background: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 12px;
overflow: hidden;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
position: relative;
transform-origin: top center;
}
.faq-item:hover {
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
transform: translateY(-2px);
}
.paper-fold {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 8px;
background: linear-gradient(45deg, #e2e8f0 25%, transparent 25%),
linear-gradient(-45deg, #e2e8f0 25%, transparent 25%);
background-size: 8px 8px;
opacity: 0.3;
z-index: 1;
}
.faq-question {
display: flex;
align-items: center;
padding: 1.5rem;
cursor: pointer;
position: relative;
z-index: 2;
}
.origami-icon {
width: 40px;
height: 40px;
border-radius: 8px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 1.2rem;
margin-right: 1rem;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.faq-question h3 {
margin: 0;
font-size: 1.2rem;
color: #2d3748;
flex: 1;
}
.question-icon {
font-size: 1.5rem;
color: #718096;
transition: all 0.3s ease;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
}
.faq-item.active .question-icon {
transform: rotate(45deg);
color: #667eea;
}
.faq-answer {
padding: 0 1.5rem;
max-height: 0;
overflow: hidden;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
background: #f8fafc;
border-top: 1px solid #edf2f7;
transform-origin: top center;
}
.faq-item.active .faq-answer {
padding: 0 1.5rem 1.5rem;
max-height: 200px;
}
.faq-answer p {
margin: 1rem 0 0 0;
color: #4a5568;
line-height: 1.6;
}
@media (max-width: 768px) {
.origami-faq-container {
padding: 1rem;
}
.faq-title {
font-size: 2rem;
}
.faq-question {
padding: 1rem;
}
.faq-question h3 {
font-size: 1rem;
}
.origami-icon {
width: 32px;
height: 32px;
font-size: 1rem;
}
}Funcionalidad JavaScript
document.addEventListener('DOMContentLoaded', function() {
const faqItems = document.querySelectorAll('.faq-item');
faqItems.forEach(item => {
const question = item.querySelector('.faq-question');
question.addEventListener('click', () => {
const isActive = item.classList.contains('active');
// Close all other items
faqItems.forEach(otherItem => {
if (otherItem !== item) {
otherItem.classList.remove('active');
}
});
// Toggle current item
if (isActive) {
item.classList.remove('active');
} else {
item.classList.add('active');
}
});
});
});Guía de Implementación
- Copia la estructura HTML en tu proyecto
- Agrega los estilos CSS a tu hoja de estilos
- Incluye el código JavaScript en tu archivo de script
- Personaliza los colores de papel y efectos de plegado para que coincidan con tu marca
- Agrega tus propias preguntas y respuestas del FAQ
El componente de estilo origami FAQ presenta texturas tipo papel y animaciones de plegado inspiradas en el arte japonés tradicional. El diseño usa patrones de plegado sutiles y iconos creativos para crear una experiencia visual única manteniendo funcionalidad completa y accesibilidad.
HTML
56
líneas
CSS
158
líneas
JavaScript
25
líneas
<div class="origami-faq-container">
<div class="faq-header">
<h2 class="faq-title">Origami FAQ</h2>
<p class="faq-subtitle">Desplegando conocimiento como arte en papel</p>
</div>
<div class="faq-wrapper">
<div class="faq-item">
<div class="paper-fold"></div>
<div class="faq-question">
<div class="origami-icon"> grulla </div>
<h3>¿Qué es el diseño estilo origami?</h3>
<div class="question-icon">+</div>
</div>
<div class="faq-answer">
<p>El diseño estilo origami usa animaciones de plegado y texturas tipo papel para crear una experiencia visual única inspirada en el plegado tradicional de papel japonés.</p>
</div>
</div>
<div class="faq-item">
<div class="paper-fold"></div>
<div class="faq-question">
<div class="origami-icon"> flor </div>
<h3>¿Cómo se crean los efectos de plegado?</h3>
<div class="question-icon">+</div>
</div>
<div class="faq-answer">
<p>Los efectos de plegado usan transformaciones CSS 3D y propiedades de perspectiva para simular animaciones de plegado de papel realistas.</p>
</div>
</div>
<div class="faq-item">
<div class="paper-fold"></div>
<div class="faq-question">
<div class="origami-icon"> barco </div>
<h3>¿Es este diseño accesible?</h3>
<div class="question-icon">+</div>
</div>
<div class="faq-answer">
<p>Sí, el diseño mantiene proporciones adecuadas de contraste e incluye soporte para navegación por teclado para accesibilidad.</p>
</div>
</div>
<div class="faq-item">
<div class="paper-fold"></div>
<div class="faq-question">
<div class="origami-icon"> estrella </div>
<h3>¿Puedo personalizar las texturas de papel?</h3>
<div class="question-icon">+</div>
</div>
<div class="faq-answer">
<p>¡Absolutamente! El componente usa propiedades CSS personalizadas para fácil personalización de colores, texturas y efectos de plegado.</p>
</div>
</div>
</div>
</div>