Media Queries
A través de media queries podemos ajustar nuestra página a diferentes dispositivos como tabletas, teléfonos inteligentes y televisores de gran tamaño. A esta técnica se le conoce como responsive design.
Con media queries podemos aplicar diferentes estilos de acuerdo a alguna característica de la pantalla (p.e. la resolución, el ancho o alto de la ventana del navegador, el tamaño del dispositivo, etc).
Generalmente se utiliza el ancho del navegador en pixeles (px) y existen algunos valores que nos pueden ayudar a determinar el tipo de dispositivo:
  • Si el ancho de la ventana es menor a 768px corresponde a teléfonos inteligentes.
  • Si es entre 768px y 992px corresponde a tabletas.
  • Si es entre 992px y 1200px corresponde a computadores de escritorio.
  • Si es mayor a 1200px corresponde a pantallas grandes.
A los puntos en los que cambia el contenido se les conoce como puntos de quiebre (breakpoints).

Para definir un media query utilizamos @media seguido de una expresión que define para qué dispositivos van a aplicar los estilos que estén dentro de ese media query.
Por ejemplo, el siguiente media query va a aplicar cuando el ancho del navegador supere los 992px:
@media (min-width: 992px) {
/* acá van las reglas que aplican cuando el ancho es de más de 992px */
}
Por ejemplo, si queremos que el fondo de nuestro documento sea amarillo en anchos menores a 992px y rojo en anchos iguales o mayores podemos hacer lo siguiente:
/* por defecto va a ser amarillo */
body {
background-color: yellow;
}
@media (min-width: 992px) {
// esto solo aplica si el ancho es de más de 992px
body {
background-color: red;
}
}
Si el ancho es menor a 992px va a aplicar la regla que está por fuera del media query. Es como si el media query no existiera.
Cuando el ancho de la ventana es de 992px o más, la regla que está en el media query va a sobrescribir la que está definida por fuera del media query.

En mobile first las reglas CSS que están por fuera de media queries están dirigidas a teléfonos inteligentes y se utilizan media queries para ajustar el contenido a pantallas más anchas.
Veamos un ejemplo. Supongamos que queremos que en teléfonos inteligentes el tamaño de nuestra fuente sea de 14px, en tabletas de 15px, en computadores de escritorio 16px y en pantallas más grandes de 17px:
// mobile first
body {
font-size: 14px;
}
// tabletas
@media (min-width: 768px) {
body {
font-size: 15px;
}
}
// escritorio
@media (min-width: 992px) {
body {
font-size: 16px;
}
}
// pantallas grandes
@media (min-width: 1200px) {
body {
font-size: 17px;
}
}
Copy link
On this page
Nuestro primer media query
Mobile first