Las FAQ, o "Frequently Asked Questions", son una parte esencial de cualquier sitio web que desee ofrecer a los usuarios respuestas rápidas a preguntas comunes. El diseño y la implementación adecuada de una sección de FAQs pueden mejorar significativamente la experiencia del usuario al facilitar el acceso a la información importante. En el video exploramos cómo crear una sección efectiva de FAQs utilizando Flexbox para un diseño responsivo y bien estructurado.
¿Cómo estructurar la sección de FAQs en Figma?
Antes de pasar al código, es importante planificar el diseño utilizando Figma, una poderosa herramienta de diseño colaborativo.
Título de la sección: Empieza con un título claro, en este caso, "FAQs".
Organización de las preguntas: Cada pregunta debe estar bien separada y debe acompañarse de su respectiva respuesta.
Uso de Flexbox: Se recomienda usar Flexbox en columna para asegurar que todas las preguntas mantengan un espaciado uniforme y una presentación ordenada.
¿Cómo implementar la sección de FAQs en HTML y CSS?
La implementación de una sección de FAQs se puede realizar fácilmente con HTML para la estructura y CSS para el estilo. Aquí te guiamos paso a paso:
Estructura básica en HTML:
<divid="faqs"class="width-full height-full"><div><h1class="text-3xl text-primary font-semibold">FAQs</h1><divclass="faq-item"><pclass="text-xl font-medium text-primary">Política de cancelación</p><pclass="text-md pt-2">Descripción de la política de cancelación...</p></div><!-- Agregar más preguntas de la misma forma --></div></div>
Estilización con CSS:
.faq-item{display: flex;flex-direction: column;gap:1rem;/* Espaciado entre preguntas */}
Uso de Flexbox para el diseño:
Integra Flexbox para asegurar un formato en columna:
#faqs{display: flex;flex-direction: column;padding:1.5rem;/* Relleno en el eje X */}
Ajusta el diseño para que cada sección mantenga el mismo espaciado y apariencia.
¿Cómo aplicar estilos consistentes?
Asegúrate de que los estilos en las FAQs sean consistentes con el resto del sitio:
Tipografía: Utiliza la misma tipografía y tamaños de texto que otras secciones para mantener la coherencia visual.
Colores: Mantén una paleta de colores que refleje la estética del sitio.
¿Por qué es importante Flexbox en la creación de FAQs?
Flexbox es crucial para el desarrollo de interfaces modernas debido a su capacidad para crear diseños responsivos y flexibles sin complicaciones. Facilita la alineación y distribución de elementos, un aspecto vital cuando trabajamos con listas de elementos como las FAQs.
¿Cómo garantizar que las FAQs sean útiles?
Contenido relevante: Incluye preguntas frecuentes que respondan a las necesidades del usuario.
Claridad y concisión: Asegúrate de que las respuestas sean directas y fáciles de entender.
Actualización constante: Revisa y actualiza las FAQs regularmente para reflejar cualquier cambio de política o funcionalidad.
Al integrar estos pasos, no solo crearás una sección de FAQs visualmente atractiva, sino también funcional y valiosa para los usuarios. Continúa explorando más sobre Flexbox y diseño web para seguir mejorando tus habilidades. ¡Buena suerte en tu viaje de aprendizaje!
<div><p class="">Política de Cancelación</p><p class="">Para estancias menores a una semana es importante avisar con 3 días de
anticipación, de caso contario será sancionado.</p></div><div><p class="">Métodos de pago</p><p class="">Aceptamos distintos métodos de pago:VISA,MasterCard,AmericanExpress,Paypal y Binance</p></div><div><p class="">Mascotas</p><p class="">El tema de las mascotas dependerá directamente del anfitrión.</p></div><div><p class="">Información de Seguridad</p><p class="">Todas nuestras estancias cuentan con seguro en caso de accidentes
</p></div><div><p class="">EstanciasLargas</p><p class="">Contamos con estancias de hasta 3 meses, en este caso es requerido un
anticipo con un monto del 50% del valor de la renta
</p></div>
gracias!
Eres un crack
Yo agregué otra card en "Rentas Destacadas" y cuándo empecé con FAQS me quedó así.
Lo resolví cambiando el "px-2 h-full w-full" por "px-2 h-auto w-full"
Así el largo se va ajustando automáticamente a medida que vayamos agregando cards (como en el width automático en la sección de "Recomendados")
gracias compañero yo ya estaba usando un mt-24 en el contenedor de faqs hasta que vi este comentario :D
gran aporte, gracias crack💪🏽
Clases de Tailwind y sus equivalentes en propiedad CSS vistas en esta clase:
<divclass="w-full h-full px-6"id="faqs"><divclass="w-full h-full flex flex-col space-y-4"><pclass="text-3xl text-primary font-semibold mt-6">FAQs</p><div><pclass="text-xl font-semibold text-primary">Política de Cancelación</p><pclass="font-medium pt-2">Para estancias menores a una semana es importante avisar con 3 días de anticipación, de caso contario será sancionado.</p></div><div><pclass="text-xl font-semibold text-primary">Métodos de pago</p><pclass="font-medium pt-2">Aceptamos distintos métodos de pago: VISA, MasterCard, American Express, Paypal y Binance.</p></div><div><pclass="text-xl font-semibold text-primary">Mascotas</p><pclass="font-medium pt-2">El tema de las mascotas dependerá directamente del anfitrión.</p></div><div><pclass="text-xl font-semibold text-primary">Información de Seguridad</p><pclass="font-medium pt-2">Todas nuestras estancias cuentan con seguro en caso de accidentes.</p></div><div><pclass="text-xl font-semibold text-primary">Estancias Largas</p><pclass="font-medium pt-2">Contamos con estancias de hasta 3 meses, en este caso es requerido un anticipo con un monto del 50% del valor de la renta.</p></div></div></div>
--
Cabe mencionar que text-md no existe en Tailwind (al parecer es de Bootstrap), en su lugar se puede usar font-medium.
good
Los que usen tailwind v3.
Ya no existe text-md cambiar a text-base
gracias
Pequeño truco en visual estudio code si quieren generar todos los elementos rapidamente 😀:
(div>p{PaymentMethods}+p{We accept VISA,MasterCard,AmericanExpress, paypal and Binance.})*4
pero que truco tan raro xd solo funciona con la mavillosa extensión de emmet
Por si quieren saber un poco más de emmet les dejo algunas notas relevantes para que las revisen. 🐺
Después de colocar más de dos cards, me está colocando las FAQS encima de la tercera card. Alguien sabe porque pueda suceder?
Adjunto código por si alguien alcanza a verificar que es.
<!--Rentas destacadas.Sección3.--><div class="px-2 h-full w-full" id="rents"><p class="text-3xl text-primary font-semibold pb-6 mt-6">Rentas destacadas</p><div class="w-full h-full flex-col space-y-6 items-center justify-center"><div class="w-full h-96 bg-chicago bg-cover rounded-xl "><p class="CardTitle">Chicago</p><p class=" text-sm pl-8 text-white mr-24">2 habitaciones, baño y cocina</p></div><div class="w-full h-96 bg-bali bg-cover rounded-xl "><p class="CardTitle">Bali</p><p class=" text-sm pl-8 text-white mr-24">3 habitaciones,2 baños, piscina, sauna y cocina</p></div><div class="w-full h-96 bg-miami bg-cover rounded-xl "><p class="CardTitle">Miami</p><p class=" text-sm pl-8 text-white mr-24">3 habitaciones,2 baños, piscina, sauna y cocina</p></div><div class="w-full h-96 bg-switzerland bg-cover rounded-xl "><p class="CardTitle">Suiza</p><p class=" text-sm pl-8 text-white mr-24">2 habitaciones,2 baños y cocina</p></div></div></div><!--FAQSSección4.--><div class="w-full h-full" id="faqs"><div class="w-full h-full px-6 flex-col space-y-4"><p class="text-3xl text-primary font-semibold mt-6">FAQS</p><div><p class="text.xl font-medium text-primary">Polílitca de cancelación</p><p class="text-md pt-2">Para estancias menores a una semana es importante avisar con 3 días de anticipación, de caso contario será sancionado.</p></div><div><p class="text.xl font-medium text-primary">Métodos de pago</p><p class="text-md pt-2">Aceptamos distintos métodos de pago:VISA,MasterCard,AmericanExpress,Paypal y Binance</p></div></div></div>
En los divs que contienen el id "faqs" y "rentas_destacadas" les puse h-full-important. No es la mejor práctica pero no he encontrado el por qué lo hace.
FINALMENTE ASÍ LO RESOLVÍ: acabo de probar cambiando h-full por h-auto en los divs que tienen los id “faqs” y “rentas_destacadas”.
Cuando quieres agregar más de un elemento HTML puedes ocupar los snippets. Por ejemplo si necesitas 2 párrafos, solo tecleas (al final enter)
p*2
Y esto genera:
<p></p><p></p>
que esto solo funciona con emmet aaah! xd
Segun veo el SEO de este proyecto es terrible, no veo ningun uso de las etiquetas de titulo "h" por ningun lado y el uso de la etiqueta "div" es excesivo
AYUDA!!
en la altura full tengo que poner "-important" sino me lo ignora:
No puedo ver el resultado de lo que la profe programa 😡 primer curso que estoy cursando en el que esto sucede
Tailwind es un framework que, como muchos, realizan actualizaciones 'frecuentemente', así que este no será el único curso con el que te encontrarás problemas de ese tipo, sin embargo, tienes una comunidad que puede ayudarte con los problemas que presentes.
Específicamente, ¿Qué es lo que no te funciona?
Para no estar haciendo el comando de npm run tw:build cada que se hacen cambios en el archivo de configuración, se puede agregar --watch al final y esto estará escuchando los cambios que se hagan y recargará los archivos. Quedaría algo así:
Creo que esta fue la sección que más rápido logré hacer <3 Como siempre, les dejo mi repo y el resultado
Para los que tengan un error a la hora de amontonar con flex, el error esta en la medida de la anterior tarjeta, como tiene un h-full significa que tiene un height del 100% o 100vh mas no que vaya a ocupar el 100% del contenido, lo que significa que solo ocupara un pequeño espacio en comparacion al contenido para arreglarlo solo debemos colocar h-auto y eso aplicara el tamaño para la seccion de todo el contenido
Para los que tal vez lo estén haciendo con algún framework o lo quieran migrar posteriormente, en mi caso use Astro, les puede servir esto:
const faq =[{question:"Payment Methods",answer:"We accept VISA, Mastercard, American Express, Paypal and Binance.",},{question:"Cancellation Policy",answer:"Our cancellation policy varies depending on the type of reservation and the time of cancellation. Please refer to the specific terms outlined in your booking confirmation. Generally, cancellations made within 8 days of the check-in date may incur a penalty fee.",},{question:"Long Stays",answer:"we offer special rates for extended stays. Please contact our customer support team or check our website for more information on long-term accommodation discounts.",},{question:"Check-in and Check-out Times",answer:"Our standard check-in time is 12:00 pm and check-out time is 9:00 am. However, early check-in or late check-out may be available upon request and subject to availability. Additional charges may apply.",},{question:"Amenities and Facilities",answer:"Our accommodations typically include amenities such as complimentary Wi-Fi, toiletries, and access to [list specific facilities such as swimming pool, gym, etc.]. Please refer to the accommodation details or contact us for specific information regarding amenities.",},{question:"Pet Policy",answer:"We understand that pets are part of the family, and some of our properties may accommodate them. Please check the specific pet policy for the property you are interested in. Additional fees and restrictions may apply.",},];---<section class="w-full h-full px-10 " id="faqs"><aside class="w-full"><p class="text-2xl text-primary font-semibold">FAQS</p>{ faq.map((item)=>(<div class="group my-4 hover:px-2 flex flex-col cursor-default rounded-lg hover:bg-slate-800 hover:ring-2 hover:ring-slate-500 transition-all duration-200 "><p class="text-xl text-primary group-hover:font-bold transition-all duration-200 ">{item.question}</p><p class="text-pretty text-white">{item.answer}</p></div>))}</aside></section>```A mi me ha quedao así, ahorrándome varias líneas de código al repetir las mismas secciones,así lo he venido haciendo igual con las cards:![]()**Así es un poco como igual se va viendo la UI del resto del proyecto**![]()![]()
para poder agilizar conla maquetacion de tus paginas, puedes usar el sistema emmet, que esta puesto en vscode, si por ejemplo necesitas poner:
<div class="pb-5">hola<div>
enves de hacerlo a mano puedes hacer:
.pb-3{hola}
talves el ejemplo se vea no muy necesario, pero si son muchas mas clases que hay que poner es muy util y agiliza el trabajo.
les paso el link a su pagina si quieren aprender mas sobre este programa!