¿Cómo estructurar la sección de rentas destacadas en un diseño móvil?
La creación de una sección visualmente atractiva y funcional para dispositivos móviles es un desafío único, y más cuando estamos hablando de componentes como las rentas destacadas. Utilizando Figma como herramienta, debemos tener en cuenta que en el diseño móvil empleamos un flex en columna.
¿Qué pasos seguir al codificar rentas destacadas?
Div Principal:
Crea un nuevo div dentro del elemento con el ID rentas destacadas.
Agrega un texto para la sección con recurso de clase. El texto podría ser "Rentas destacadas".
Estilizar el Texto Principal:
Tamaño de texto clase 3XL.
Color primario en el texto.
Fuente semi-bold.
Añade padding-bottom de tamaño 6.
¿Cómo diseñar las cartitas dentro de la sección?
Preparación del Div:
Asegúrate de que el div superior incluya clases: padding en el eje X de 6, height y width completos.
Crear una Cartita:
Dentro del div, crea un nuevo div para la primera cartita con múltiples paréntesis <p> en su interior.
Define las dimensiones: width completo, tamaño de 96 para ambas dimensiones.
Aplica un background temporal, como red 200, para entender su comportamiento inicial.
Incluir Imagen y Texto:
Utiliza background-image con una imagen representativa.
background cover para ajuste completo.
Agrega nombre y descripción: "Chicago", "dos habitaciones, un baño y cocina".
Ajustes de Diseño:
Añadir rounded grande (rounded-XL) para bordes curvados atractivos.
Estilos para texto: Clase cartitle para título común en todas las cartitas.
Para descripción: text-medium, padding-left de 8, text-white, margin-right de 24.
¿Cómo implementar flexbox en el diseño?
Contenedor Flexbox:
Utiliza flex y flex-column en el contenedor principal de cartitas.
Space entre elementos con valor de 4, centrado con item-center y justify-center.
Ajuste de Espaciados:
Modifica padding de la clase rentas destacadas.
Usa margin para separación adecuada, probando valores (por ejemplo, 6).
Recomendaciones finales
A escala aprenderás a personalizar visualmente, maximizar el uso de flexbox para contenedores adaptativos y estilizar componentes individuales mediante clases de CSS. Sigue perfeccionando tus habilidades, agrega las cartitas que desees y mantén la estructura clara y visualmente atractiva para los usuarios. ¡Ánimo! La práctica lleva a la maestría.
En lo personal no me ha funcionado agregarlo al package.json.
Me lanza siempre el mismo error:
!error
¿Alguna idea?
Al poner mas de 3 rentas destacadas empezaba a tener un problema, las cards se empezaban a ver mas cortas de altura, la solución fue poner en el container de ellas un h-auto
A mi también me pasó y justo eso arreglo el problema! gracias 🙌
También me sucedió algo similar, cuando puse más de 2 cards, la siguiente sección de FAQS me salían encima de la tercera card. Colocar el h-auto soluciona también ese error.
Si tienen problemas con las dimensiones de las cards, les recomiendo que cambien el 'h-full' del contenedor principal por 'h-auto', esto hará que el contenedor se ajuste al tamaño propio de las cards (h-96).
considero que una mejor practica es insertar las imagenes con etiquetas de img y no como background, incluso esto nos serviria para extender la funcionalidad. ya que podriamos agragar interactividad con javascript que al dar click en la imagen nos de detalles de lo que estamos observando
Usando nesting de PostCSS me quedó así:
CSS en archivo de src/css/tailwind.css
HTML
Y se ve así, le cambié los paddings para que fuera congruente con la sección de arriba:
como pones el script? veo que es muy parecido a SASS
#messirve haha gracias capo, eso andaba buscando no sabía que podía emplearlo con postcss 😁💚
Estoy aprendiendo cosas interesantes
Así logré hacer esta sección, aunque no les niego que me costó bastante trabajo.
La verdad es que yo me decidí en esta oportunidad a usar grid y me encantó el resultado, sin embargo le agregué un fondo a la información ya que no me gustaba que la imagen interfiriera con el texto.
Versión Mobile:
Versión Desktop:
Repositorio de Git con mis avances hasta ahora: 💚💚
Una pregunta, porque Card y CardTitle las pones en mayúsculas? Es como un "standard" cuando creo clases CSS basadas en @apply de clases de tailwind?
Buena pregunta, viendo la documentacion de tailwind en un ejemplo usan kebab-case como lo hacen con todas sus clases pero no encontre un estandar para el nombre de las clases, creo que es a gusto y Ana lo hace para diferenciarla de una clase de tailwind.
Te dejo el link de la documentacion
Por que en los titulos de las secciones la profesora utiliza etiquetas <p> en vez de <h>?
Se que tailwind le da los mismos estilos a todas las etiquetas <h>. Pero por SEO y buenas practicas de escribir HTML semantico no se deberian de utilizar?
Existe alguna razon para no utilizarlas?
Creo que no. Si bien en el proyecto no se utiliza html semantico por completo (porque no hay un header ni main), nosotros debemos hacerlo. Asi nos acostumbramos a las buenas buenas prácticas y seremos mejores desarrolladores.
Si la imagen de Los Angeles no se ve tan bien, podes aplicar bg-center para que se vea completo
Tengo mis imagenes agregadas pero cuando pongo bg-chicago o cualquier otra imagen no me sale, y las agregué bien en mi archivo de configuración de tailwind.
vuelve a correr en la terminal, npm run tw:build, me funcionó.
Mi sección de rentas destacadas 🤓
Muy lindo tailwind pero igual me quedo con sass...
Yo utilice GRID para los recomendados en Desktop...
<div class="p-5 grid grid-cols-1 gap-9 justify-items-center md:grid-cols-trending md:grid-rows-trending md:h-screen md:mx-auto"><div class="rounded-2xl w-10/12 h-96 px-6 py-12 text-white bg-cover bg-chicago md:w-full md:h-full md:col-start-1 md:col-end-3"><h2 class="font-bold text-2xl md:text-4xl">Chicago</h3><p class="text-base md:text-2xl">Architectural marvel by LakeMichigan</p></div><div class="rounded-2xl w-10/12 h-96 px-6 py-12 text-white bg-cover bg-LA md:w-full md:h-full md:row-start-2 md:row-end-4"><h2 class="font-bold text-2xl md:text-4xl">LosAngeles</h3><p class="text-base md:text-2xl">Architectural marvel by LakeMichigan</p></div><div class="rounded-2xl w-10/12 h-96 px-6 py-12 text-white bg-cover bg-miami md:w-full md:h-full"><h2 class="font-bold text-2xl md:text-4xl">Miami</h3><p class="text-base md:text-2xl">Architectural marvel by LakeMichigan</p></div><div class="rounded-2xl w-10/12 h-96 px-6 py-12 text-white bg-cover bg-bali md:w-full md:h-full"><h2 class="font-bold text-2xl md:text-4xl">Bali</h3><p class="text-base md:text-2xl">Architectural marvel by LakeMichigan</p></div></div>```Para definir las filas y columnas utilice en el tailwind.config.js lo siguiente dentro de theme.extend:
```js
gridTemplateColumns:{'trending':'40% 60%'},gridTemplateRows:{'trending':'44% 28% 28%'}```y ahora para asignarle a cada card donde quiero que vaya utilizo las propiedades `row-start`, `row-end`, `col-start`, `col-end`.Este fue el resultado:![]()