¿Cómo crear una NavBar eficaz para tu proyecto web?
Al construir un sitio web, la NavBar es uno de los elementos más importantes que garantiza una experiencia de usuario óptima. En esta clase, aprenderemos a implementar una NavBar funcional y agradable estéticamente, que no solo mejora la navegación, sino que también complementa el diseño de la página.
¿Cómo estructurar la NavBar?
La estructura de la NavBar se divide en tres partes esenciales para asegurar su funcionalidad:
Div de Logo: Este es el espacio destinado al logo de tu sitio web, en este caso, "Platzi Travel", que se introduce usando un tag <p>.
Div de Iconos: Aquí se colocan los iconos interactivos, como la búsqueda, el Dark Mode y el perfil del usuario.
<divclass="flex space-x-4"><!-- Icono de búsqueda --><svgclass="fill-current text-primary"...></svg><!-- Icono de Dark Mode --><svgclass="fill-current text-primary"...></svg><!-- Icono de usuario --><svgclass="fill-current text-grey-300"...></svg></div>
¿Cómo darle estilo a la NavBar?
Para lograr que la NavBar se vea profesional y se ajuste a la estética de la página, es importante aplicar estilos como display: flex, espaciados, y colores coherentes que se alineen con la marca:
Flex y Espaciado: Utiliza display: flex para organizar los elementos de la NavBar. Agrega espaciado con space-x-* para separar los íconos adecuadamente.
Colores y Tamaños: Adapta colores con clases de Tailwind, por ejemplo, text-primary y text-grey-300, y cambia los tamaños con clases como text-xl y font-bold.
¿Cómo asegurar que la NavBar sea responsiva y funcional?
Para garantizar que la NavBar funcione correctamente en diferentes tamaños de pantalla, se recomienda:
Desaparecer en versión móvil: Esconde la NavBar en dispositivos móviles y úsala solo para escritorio.
.navbar{display: none;/* hidden por defecto */}@media(min-width:1024px){.navbar{display: flex;/* visible en pantallas grandes */}}
Posición fija: Utiliza position: fixed para que la NavBar se desplace con el usuario al hacer scroll.
.navbar{position: fixed;}
Navegación fluida: Asegúrate de que los enlaces se dirijan correctamente a las secciones correspondientes mediante IDs en el HTML.
¿Qué ajustes finales deben realizarse?
No olvides los detalles. Ajustar tamaño de imágenes y paddings, como cambiar el padding-top para centrar el contenido, puede hacer una gran diferencia en la apariencia final del proyecto. Además, los ajustes de tamaño y espacio en imágenes pueden mejorar significativamente la experiencia visual del usuario.
Con estos pasos bien definidos, no solo tendrás una NavBar eficiente, sino también un diseño completo y responsivo que satisfaga las expectativas de navegación de tus usuarios. Sigue explorando e implementa siempre nuevas herramientas y conceptos para mantener tu sitio web a la vanguardia. ¡Mantente motivado y sigue aprendiendo! La próxima clase exploraremos la implementación del Dark Mode.
Bueno hay varios errores que paso por alto
Cuando se le pone fixed al navbar las etiquetas de ancla dejan de funcionar y queda por debajo de la sección de recomendados cuando se hace scroll
para solucionarlo se agrega un z-10 (z-index) para que las anclas funciones y el navbar quede por encima de todas las secciones
pero cuando damos click para ir a cualquier sección de el navbar tapa los títulos de las secciones
aun no se com solucionarlo
Si utilizaste fontawesome, aqui esta el navbar listico :D
Cuando coloqué el fixed a la navbar no funcionaron los enlaces de ésta. Luego le coloqué el z-index en 10 con z-10 y funcionaron los enlaces, pero los textos de los titulo quedan tapado con la navbar, ¿cómo puedo solucionarlo, para que no se tape?
Uy el navbar con fixed da problemas :(
A mi por alguna razón no me toma el h-3/5 si le pongo h-96 funcioan sin problema
Tenia el mismo problema, pero lo solucione poniendo las clases de 3/4 agregando el lg:
lg:h-/34
Nota estoy usando reactJs cambia class por className
Tengo el mismo problema me imagino que en clases pasadas, colocaste en la clase del section h-auto para que pudieras dividir el footer del section y header ( por buenas practicas ), el problema aquí es que el código que esta escrito para colocar todo dentro del section (por lo que se es mala practica según los cursos de html y css básico y definitivo) así que tenemos que modificar el código.
La única solución que pude hacer para seguir estas reglas de dividir el header, main y footer gracias a la documentación es:
Para no complicarnos mucho colocar los lg:h en auto de nuestros div’s padres lg:h-auto, después de ello hay un tipo de atributo arbitrario para los height de tailwind (en resumen esto quiere decir que nosotros le damos el tamaño) se usa asi ejemplo:
lg:h-[tamañoen rems]
Este tipo de atributo se lo daremos al tamaño de la imagen calculando los 3/4 de la pantalla o un aproximado según tu criterio:
Ami no me aparece el navbar XD ._, ni con z-index de 20
Así se ve mi navbar 💚
Aquí dejo mi repositorio con el proyecto en Github por si necesitan guiarse en algo:
Sugerencia.. para aquellos que terminaron esta implementación y utilizaron la propiedad h-screen en un tag 🤨.. Les recomiendo ver lo que le paso al footer en modo desktop 🧐
Hay un choque de clases... cuidado con eso
<sectionclass="w-full h-auto"><divid="home"class="w-full h-3/4"><divclass="w-full h-auto"><divclass="w-full h-full flex flex-col absolute space-y-96 py-4 items-center lg:space-y-0 lg:items-start lg:pt-40 lg:justify-start"><inputclass=" w-8/12 outline-none p-3 rounded-full shadow-sm transition-all ease-in-out duration-300 focus-within:shadow-sm focus:ring-2 focus:w-11/12 lg:hidden"placeholder="San Francisco"type="search"><divclass="hidden h:auto lg:w-3/5 lg:flex pb-8"><pclass="text-4xl text-black ml-16 font-bold">Encuentra más ubicaciones como esta</p></div><buttonclass=" w-48 text-lg text-primary font-semibold p-4 bg-white rounded-full shadow-sm lg:ml-16 transition duration-500 ease-in-out hover:bg-primary hover:text-white hover:translate-y-1 hover:scale-110"> Explorar </button></div><divclass="w-full h-full lg:h-auto"><imgclass="lg:hidden"src="./img/sanFrancisco.jpg"alt="atardecer de San Francisco"><imgclass="hidden lg:block w-auto h-auto lg:w-auto lg:h-1/4 object-cover"src="./img/sanFranciscoDesktop.jpg"alt="Atardecer de San Francisco"></div></div></div>```Lo solucione asi, porque no me funcionaba lo de cambiar el h-96 por h-full en lg version.
Si le ocurrio a alguien más aqui esta mi solución 
😞
No me salió agrandar la imagen del cover y el navbar con fixed está triste.
Excelente clase, aprendí nuevas cosas con los id's, gracias