El disseny web responsiu és una tècnica de disseny web que permet que les pàgines web s'adaptin a diferents mides de pantalla i dispositius. Amb l'augment de l'ús de dispositius mòbils per accedir a Internet, és essencial que els llocs web siguin accessibles i funcionals en qualsevol dispositiu, ja sigui un ordinador de sobretaula, una tauleta o un telèfon mòbil.
Conceptes clau del disseny responsiu
-
Flexibilitat de la graella (Grid Flexibility):
- Utilitzar una graella flexible basada en percentatges en lloc de píxels fixos.
- Permet que els elements de la pàgina s'ajustin proporcionalment a la mida de la pantalla.
-
Imatges flexibles (Flexible Images):
- Les imatges han de ser capaces de redimensionar-se dins dels seus contenidors.
- Utilitzar l'atribut
max-width: 100%
per assegurar que les imatges no excedeixin l'amplada del seu contenidor.
-
Media Queries:
- Utilitzar media queries per aplicar diferents estils CSS en funció de les característiques del dispositiu, com ara l'amplada de la pantalla.
- Permet canviar el disseny de la pàgina per adaptar-se millor a diferents mides de pantalla.
Avantatges del disseny responsiu
- Millora l'experiència de l'usuari: Els usuaris poden navegar pel lloc web fàcilment, independentment del dispositiu que utilitzin.
- SEO: Els motors de cerca, com Google, prioritzen els llocs web responsius en els resultats de cerca.
- Manteniment més fàcil: Un únic lloc web que s'adapta a tots els dispositius és més fàcil de mantenir que tenir versions separades per a mòbils i escriptori.
Exemples pràctics
Exemple 1: Graella flexible
<!DOCTYPE html> <html lang="ca"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Graella Flexible</title> <style> .container { display: flex; flex-wrap: wrap; } .box { flex: 1 1 100%; padding: 10px; box-sizing: border-box; } @media (min-width: 600px) { .box { flex: 1 1 50%; } } @media (min-width: 900px) { .box { flex: 1 1 33.33%; } } </style> </head> <body> <div class="container"> <div class="box" style="background-color: lightcoral;">Box 1</div> <div class="box" style="background-color: lightblue;">Box 2</div> <div class="box" style="background-color: lightgreen;">Box 3</div> </div> </body> </html>
Explicació del codi
- Container: Utilitza
display: flex
per crear una graella flexible.flex-wrap: wrap
permet que els elements es moguin a la següent línia si no hi ha prou espai. - Box: Cada caixa ocupa el 100% de l'ample del contenidor per defecte. Amb media queries, l'ample es redueix a 50% en pantalles de més de 600px i a 33.33% en pantalles de més de 900px.
Exemple 2: Imatges flexibles
<!DOCTYPE html> <html lang="ca"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Imatges Flexibles</title> <style> img { max-width: 100%; height: auto; } </style> </head> <body> <img src="example.jpg" alt="Exemple d'imatge flexible"> </body> </html>
Explicació del codi
- Imatge: L'atribut
max-width: 100%
assegura que la imatge no excedeixi l'ample del seu contenidor.height: auto
manté la proporció de la imatge.
Exercici pràctic
Exercici 1: Crear una pàgina responsiva
- Crea una pàgina HTML amb una graella flexible que contingui quatre caixes.
- Assegura't que les caixes ocupin el 100% de l'ample en pantalles petites, el 50% en pantalles mitjanes i el 25% en pantalles grans.
- Afegeix una imatge flexible dins d'una de les caixes.
Solució
<!DOCTYPE html> <html lang="ca"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Pàgina Responsiva</title> <style> .container { display: flex; flex-wrap: wrap; } .box { flex: 1 1 100%; padding: 10px; box-sizing: border-box; } @media (min-width: 600px) { .box { flex: 1 1 50%; } } @media (min-width: 900px) { .box { flex: 1 1 25%; } } img { max-width: 100%; height: auto; } </style> </head> <body> <div class="container"> <div class="box" style="background-color: lightcoral;">Box 1</div> <div class="box" style="background-color: lightblue;">Box 2</div> <div class="box" style="background-color: lightgreen;"> <img src="example.jpg" alt="Exemple d'imatge flexible"> </div> <div class="box" style="background-color: lightyellow;">Box 4</div> </div> </body> </html>
Conclusió
El disseny web responsiu és essencial per crear llocs web moderns que funcionin bé en qualsevol dispositiu. Utilitzant graelles flexibles, imatges flexibles i media queries, pots assegurar-te que el teu lloc web ofereixi una experiència d'usuari òptima, independentment de la mida de la pantalla. En el proper tema, explorarem l'etiqueta Meta del Viewport, una eina clau per al disseny responsiu.
Curs d'HTML
Mòdul 1: Introducció a l'HTML
- Què és l'HTML?
- Configuració del teu entorn
- Estructura bàsica de l'HTML
- Etiquetes i elements HTML
- Creant la teva primera pàgina HTML
Mòdul 2: Formatació de text en HTML
- Encapçalaments i paràgrafs
- Etiquetes de formatació de text
- Llistes: Ordenades i desordenades
- Cites i text preformatat
Mòdul 3: Enllaços i mitjans en HTML
Mòdul 4: Taules en HTML
- Estructura bàsica de taules
- Encapçalaments i peus de taula
- Fusionant cel·les: Colspan i Rowspan
- Estilitzant taules
Mòdul 5: Formularis en HTML
- Creant un formulari bàsic
- Elements de formulari: Input, Textarea, i Select
- Atributs i validació de formularis
- Enviant formularis
Mòdul 6: Elements semàntics d'HTML5
Mòdul 7: Tècniques avançades d'HTML
Mòdul 8: Integració d'HTML i CSS
- Enllaçant CSS a HTML
- CSS en línia, intern i extern
- Selectors bàsics de CSS
- Estilitzant elements HTML
Mòdul 9: Disseny web responsiu
- Introducció al disseny responsiu
- Etiqueta Meta del Viewport
- Media Queries
- Imatges i vídeos responsius
Mòdul 10: Millors pràctiques i accessibilitat
- Millors pràctiques d'HTML
- Conceptes bàsics d'accessibilitat web
- Utilitzant rols ARIA
- Proves d'accessibilitat