¿Qué es el patrón Layout Shifter en diseño web Mobile First?
El diseño web Mobile First es una metodología que prioriza la experiencia del usuario en dispositivos móviles. Uno de los patrones que podemos utilizar en este enfoque es el Layout Shifter. Este patrón permite que, al aumentar el tamaño de la pantalla, los bloques o contenedores se reposicionen, ofreciendo así un diseño adaptativo. A continuación, te explicaré cómo construirlo utilizando HTML y CSS.
¿Cómo construir un Layout Shifter con HTML y CSS?
Para implementar un Layout Shifter, es esencial empezar con una estructura básica en HTML, donde los contenedores se organizan de forma jerárquica. Usaremos CSS para aplicar propiedades de flexbox que nos ayudarán a reposicionar elementos conforme el tamaño de pantalla cambia.
Paso a paso para crear el Layout Shifter:
Estructura básica en HTML:
Usa una etiqueta <main> como contenedor principal.
Añade contenedores <div> dentro del <main>, algunos de los cuales actuarán como contenedores de contenedores.
A cada <div>, asígnale una clase que te permitirá manipular sus propiedades con CSS.
Define un display: flex para el contenedor principal.
Usa la propiedad flex-wrap: wrap para permitir que los elementos se reubiquen.
Configura alturas y anchos automáticos para garantizar la adaptabilidad.
.container{display: flex;width:100%;flex-wrap: wrap;}.c1,.c2,.c3,.c4,.c5{height:150px;/* Ajustar según sea necesario */flex:1;}
¿Cómo implementar Media Queries para cambios de diseño?
Los Media Queries permiten que el diseño cambie cuando se detecta un tamaño de pantalla específico. Configura puntos de quiebre que se adapten al tipo de dispositivos en los que se visualizará tu diseño.
Crear Media Queries:
Primer breakpoint - 600 píxeles:
Cambia el ancho de los contenedores individuales para adaptarse a pantallas de tabletas.
El patrón Layout Shifter proporciona flexibilidad y un diseño adaptativo impresionante para varios tipos de dispositivos, desde móviles hasta pantallas más grandes. Usando combinado el HTML, el CSS y las Media Queries adecuadas, puedes lograr una transición fluida entre diferentes breakpoints.
Consejos y recomendaciones:
Agrega más contenedores y experimenta con la posición y el contenido según los breakpoints.
Introduce texto, imágenes o videos dentro de tus contenedores para un diseño más realista.
Usa esta técnica para crear layouts únicos que ofrezcan experiencias optimizadas tanto en móviles como en computadoras de escritorio.
Finalmente, prueba lo que has aprendido creando un proyecto personalizado empleando el Layout Shifter, y no dudes en compartir tus resultados. ¡Sigue explorando y aprendiendo para mejorar tus habilidades de diseño responsive!
Listo!! Me dio dolores de cabeza pero aqui esta. 💜
Mobile
Tablet
Desktop
Codigo HTML
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Cats</title><link rel="stylesheet" href="./style.css"/><link rel="stylesheet" href="./tablet.css" media="screen and (min-width: 600px)"/><link rel="stylesheet" href="./desktop.css" media="screen and (min-width: 800px)"/></head><body><header><div class="header-container"><figure class="header-img-container"><img src="./imgcats/logo.png" alt="logo"></figure><nav class="header-nav"><ul class="header-nav-list"><li><a href="#">Home</a></li><li><a href="#">Contactos</a></li><li><a href="#">About</a></li></ul></nav></div></header><main class="main-container"><section class="main-section"><article class="main-article bg-color-1"><div class="main-article-content"><h1>Gato1</h1><p>Lorem ipsum dolor sit amet consectetur adipisicing elit.Ex quaerat officiis eveniet repellat minus, magnam, totam quas sit incidunt rerum repellendus laborum alias veritatis similique autem distinctio non nostrum voluptate!</p></div><figure class="main-aticle-image"><img src="./imgcats/tumblr_f941f5998d17feac41160ded93dacfc2_b3f0c1af_640.jpg" alt="imagen-gato"></figure></article></section><section class="main-section"><article class="main-article bg-color-2"><div class="main-article-content"><h1>Gato2</h1><p>Lorem ipsum dolor sit amet consectetur adipisicing elit.Ex quaerat officiis eveniet repellat minus, magnam, totam quas sit incidunt rerum repellendus laborum alias veritatis similique autem distinctio non nostrum voluptate!</p></div><figure class="main-aticle-image"><img src="./imgcats/tumblr_msewk1cdAQ1sh2k30o1_400.jpg" alt="imagen-gato"></figure></article></section><section class="main-section"><article class="main-article bg-color-3"><div class="main-article-content"><h1>Gato3</h1><p>Lorem ipsum dolor sit amet consectetur adipisicing elit.Ex quaerat officiis eveniet repellat minus, magnam, totam quas sit incidunt rerum repellendus laborum alias veritatis similique autem distinctio non nostrum voluptate!</p></div><figure class="main-aticle-image"><img src="./imgcats/17dfc2c624df1c814564573ece3bf48b.jpg" alt="imagen-gato"></figure></article></section><section class="main-section"><article class="main-article bg-color-4"><div class="main-article-content"><h1>Gato4</h1><p>Lorem ipsum dolor sit amet consectetur adipisicing elit.Ex quaerat officiis eveniet repellat minus, magnam, totam quas sit incidunt rerum repellendus laborum alias veritatis similique autem distinctio non nostrum voluptate!</p></div><figure class="main-aticle-image"><img src="./imgcats/Esc_W18_1263_e713-tumblr-p3jbrwsl9a1qh66wqo1-1280.jpg" alt="imagen-gato"></figure></article></section></main><footer><div class="footer-container"><figure class="footer-container-image"><img src="./imgcats/logo.png" alt="logo"></figure><div><h5>CopyrightJenniferFernandez2020</h5></div></div></footer></body></html>
Hola, como sacas los cálculos en la parte de tablet.css y laptop.css?
buenas!!! me gustaria en lo posible ponerme en contacto con vos para hacerte una consulta sobre tu codigo, no comprendo como utilizaste calc(22vh - 1rem)
Aquí está mi reto :D.
Mobile:
Tablet:
Desktop:
Versión Móvil de un cuaderno virtual
Versión de Tablet
Versión Desktop
Daaam bro
Reto terminado!!
Me llevo 3 días pero he aquí jaja
Acepto criticas
MOVILE
TABLET
LAPTOP
INDEX.HTML
<!DOCTYPE html><html lang="es"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Desafio layout shifter</title><link rel="stylesheet" href="./style.css"><link rel="stylesheet" href="./tablet.css" media="screen and (min-width: 600px)"/><link rel="stylesheet" href="./desktop.css" media="screen and (min-width: 800px)"/><link rel="preconnect" href="https://fonts.gstatic.com"><link href="https://fonts.googleapis.com/css2?family=Yusei+Magic&display=swap" rel="stylesheet"></head><body><header class="header"><div class="header-container"><div class="header-logo"><figure><img class="header-logo_imagen" src="./pics/logo.png" alt="logo"></figure><div><h1 class="header-logo_texto">CostumbresArgentinas</h2></div></div><nav class="header-nav"><ul class="header-nav_list"><li><a href="#">Home</a></li><li><a href="#">Productos</a></li><li><a href="#">Contacto</a></li></ul></nav></div></header><main class="main"><h1 class="section-one_title">NOSOTROS</h2><section class="section-one"><div class="section-one_content"><article class="content1-article article-one"><h2 class="content1-article_title title-one">CLIENTESSATISFECHOS</h3><h3 class="content1-article_subtitle">LA ÚNICAFORMADEHACERNEGOCIO</h4><p class="content1-article_text">El valor de nuestra marca es conocer la tradición y costumbre de nuestra gente.Sabemos que es costumbre argentina buscar la mejor calidad al menor precio.Estudiamos el negocio, analizamos a los consumidores y creamos un producto en función de estas necesidades.Queremos ofrecer el mejor producto, con el mejor servicio en el mejor lugar.¡Sale como pan caliente!Nuestra propuesta abarca productos de panificados, facturería, pastelería seca, pastelería fresca, pizzas, sandwichs y empanadas.El concepto “producto caliente” es un sistema que ofrece durante todo el horario -desde la apertura al cierre de la tienda- medialunas y pan recién horneados
</p></article><article class="content1-article"><h2 class="content1-article_title">NUESTROSLOCALES</h3><h3 class="content1-article_subtitle">AUTONOMÍAYCOMODIDADDELSELFSERVICE</h4><p class="content1-article_text">Con un diseño moderno, funcional y práctico, nuestros locales son un paseo para los compradores.Los clientes disponen de la comodidad y autonomías del método self-service: el usuario capta, en pocos segundos, la dinámica y disposición de la compra.¡Cada uno elige y se lleva lo que quiere!</p></article></article><article class="content1-article"><h2 class="content1-article_title">LOSFRANQUICIADOS</h3><h3 class="content1-article_subtitle">CUIDAMOSYPROTEGEMOSSUINVERSIÓN</h4><p class="content1-article_text">Realizamos acuerdos comerciales con los principales proveedores para lograr el mejor emplazamiento de nuestros locales.Transmitimos seguridad y confianza a cada uno de nuestros franquiciados, protegemos su inversión; resguardada en materiales sólidos y durables.</p></article></div><div class="section-one_image"><figure><img class="section1-image_1" src="./pics/imagenPrincipalMovil.png" alt="imagen movil"></figure><figcaption><a class="link-franquicia" href="#">Franquicia1</a></figcaption><figure><img class="section1-image_2" src="./pics/imagenPrincipalDesktop.png" alt="imagen desktop"></figure><figcaption><a class="link-franquicia" href="#">Franquicia2</a></figcaption></div></section><h1 class="section-two_title">PRODUCTOS</h2><section class="section-two"><div class="section-two_products"><div class="products"><figure class="products-figure"><img src="./pics/criollitos.png" alt="criollitos"></figure><div class="product-content"><h1 class="products-name">CRIOLLITOS</h2><h1 class="products-price">$50</h2><button class="products-button">COMPRAR</button></div></div><div class="products"><figure class="products-figure"><img src="./pics/medialunas.png" alt="medialunas"></figure><div class="product-content"><h1 class="products-name">MEDIALUNAS</h2><h1 class="products-price">$130</h2><button class="products-button">COMPRAR</button></div></div><div class="products"><figure class="products-figure"><img src="./pics/baguette.png" alt="baguette"></figure><div class="product-content"><h1 class="products-name">BAGUETTE</h2><h1 class="products-price">$200</h2><button class="products-button ">COMPRAR</button></div></div><div class="products"><figure class="products-figure"><img src="./pics/pastafrola.png" alt="pastafrola"></figure><div class="product-content"><h1 class="products-name">PASTAFROLA</h2><h1 class="products-price">$300</h2><button class="products-button">COMPRAR</button></div></div></div></section></main><footer class="footer"><h2>THISTHEEND</h2></footer></body></html>
Layout shifter es cambiar tu layout completamente para diferentes pantallas, lo que hace que en cada pantalla parezca un proyecto totalmente diferente.
Aunque no es el único patrón que hace ese tipo de efecto.
Me perdi un poco, no entendi bien o no vi cual es la diferencia entre Mostly Fluid y Layout shifter, me puede ayudar indicandome la diferencia entre uno y otro?
La mayoría fluyen (Mostly Fluid) las ubicaciones se van agrandando dependiendo del Layout, comúnmente el Header y footer, y los demás fluyen entre tamaños específicos.
Corrimiento del Diseño (Layout Shifter) los puedes cambiar de posición, ademas de agrandar, etc
Normalmente es mas una combinación, pero se denomina según el patrón que predomine.
una vez tengas más práctica, este tipo de problemas se solucionan fácilmente con CSS Grid Layout.
buena pista compa
Desafio hecho!!Version movil
Version para tablet
Version de escritorio
Estos son los resultados que obtuve de este reto, haber que tal les parece y todos sus comentarios son bien recibidos
Reto terminado :D
Al principio me costo bastante, me estaba enredando y confundiendo conceptos, los volví a repasar, empecé de nuevo y este es el resultado.