Escolar Documentos
Profissional Documentos
Cultura Documentos
1. INTRODUCCIÓN
Toda web de nueva factura tiene que estar maquetada siguiendo los principios del responsive
design. Un diseño adaptable se basa en cambiar la apariencia de la web (tanto el contenido como
su distribución) en función del dispositivo desde el cual se accede. No se debe confundir con tener
una versión de la página para cada dispositivo, sino que con la misma maquetación HTML y con el
mismo código CSS asociado, el diseño varía en función del dispositivo.
En este punto vamos a ver cómo usar la propiedad media queries para poder personalizar los
estilos CSS basándonos en las características del dispositivo como, por ejemplo: tv, pc, tablet,
móvil o si está horizontal (paisaje) o en vertical (retrato), etc; con ello y conociendo los tamaños
más comunes de dispositivos de salida: 320px, 480px, 600px, 768px, 900px, 1200px
podemos crear selectores CSS de este tipo:
/* Para 960px */
@media only screen and (max-width: 980px) and (min-width: 821px) { … }
/* Para 800px */
@media only screen and (max-width: 820px) and (min-width: 621px) { … }
/* Para 600px */
@media only screen and (max-width: 620px) and (min-width: 501px) { … }
/* Para 480px */
@media only screen and (max-width: 500px) and (min-width: 341px) { … }
/* Para 320px */
@media only screen and (max-width: 340px) and (min-width: 5px) { … }
Las media queries son propias de CSS3 y vienen a extender a los media, utilizando un
media type con una serie de expresiones relacionadas con las características del
dispositivo desde el cual se accede a la web. Las media queries dan como resultado
verdadero o falso. Si el resultado es verdadero, se leen las reglas CSS de su interior, si es
falso no.
@media (max-width: 600px) { . . .}
Significado: Cuando el ancho de la pantalla tenga un ancho menor a 600px lees el
código encerrado dentro de las llaves que abren y cierran la media querie.
En CSS podemos hacer que el fondo de la web sea verde, pero cuando la pantalla
sea menor a 600px el fondo será rojo.
body {
background: green;
}
@media (max-width: 600px) {
body {
background: red;
}
}
Incluimos en head, la hoja de estilos a un documento HTML
<link rel="stylesheet" type="text/css" media="all" href=“style.css">
Aunque hay varios elementos diferentes por los que podemos consultar, los que se usan
con mayor frecuencia para el diseño web adaptable son min-width, max-width, min-
height y max-height.
Parámetros
Orientatión
Valores: portrait | landscape No acepta los prefijos min / max.
El valor de “orientation” es ‘portrait’ (retrato) cuando el valor de la altura del medio de
salida es mayor o igual al valor de la anchura de ese medio. De lo contrario el valor es
‘landscape’ (paisaje).
Media queries para adaptarnos a los distintos dispositivos
Nota Al realizar nuestro desarrollo responsive nos encontramos con que podemos
definir nuestro responsive de dos maneras, utilizando max-width, max-height, min-width
y min-height o añadiendo la palabra device... max-device-width, max-device-height,
min-device-width y min-device-height
La diferencia entre ellos, es que los que tienen la palabra device hacen referencia al
tamaño del dispositivo, ya sea smartphone, tablet o monitor de pc. El resto (max-width,
max-height, min-width y min-height) hace referencia al tamaño de la ventana del
navegador.
Para nuestro ejemplo usado en los modernos frameworks CSS responsive design, se
basa en preparar primero la vista óptima para el móvil y utilizar las media queries para
ir adaptando la maqueta a dispositivos mayores.
Para hacer que el texto se muestre de la siguiente manera:
• Vista móvil: 1 columna.
• Vista tablet: 2 columnas.
• Vista PC: 3 columnas.
El código HTML será siempre el mismo:
<!DOCTYPE html>
<html>
<head>
<title>Texto a tres columnas con HTML5 y CSS3</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<link rel="stylesheet" href="./style_responsive.css" type="text/css"
media="all">
</head>
<body>
<section>
<p>En un lugar de la Mancha, de cuyo nombre no quiero acordarme,
no ha mucho tiempo que vivía un hidalgo …</p>
<p>Es, pues, de saber que este sobredicho hidalgo, los ratos que
estaba ocioso …</p>
</section>
</body>
</html>
Media queries para adaptarnos a los distintos dispositivos
section {
margin: 20px;
margin: 2rem;
}
Para terminar, sólo tenemos que utilizar las media queries para establecer que el texto se
mostrará a tres columnas cuando el dispositivo tenga un ancho superior a 900px. Para
ello, añadiremos al CSS el siguiente código: