@media:

media-queries 

de CSS3

¿Qué son las

media-queries de CSS3?



Son consultas que se hacen desde CSS al navegador, para que éste detecte el tamaño u orientación del dispositivo (también llamado "medio") en el que se está visualizando un sitio o aplicación web.


Ventajas de utilizar @media-queries de CSS3


1. Permite aplicar la moderna técnica de Responsive Web Design en proyectos web, para que estén adaptados 100% a todo tipo de pantallas.

2. Ajusta el código CSS para que no haya que hacer varias versiones del website o de la webapp.

3. Permiten escribir, en un sólo archivo CSS, todo el código necesario para aplicarlo en las distintas versiones, pero sólo cargará la versión que coincida con la "media-query" especificada.


4. Altamente versátil, flexible y fácil de implementar.


5. Soportada por todos los navegadores modernos: Chrome, Mozilla, Safari, Internet Explorer, Maxthon, Opera, Konqueror.

Sintaxis Inicial - @media-queries


Existen dos maneras de implementar una media-query:

- Alternativa 1: Declarar la media-query en el tag <link> que carga un CSS:

 <link rel="stylesheet" media="(max-width: 699px)" href="example-1.css">
 <link rel="stylesheet" media="(min-width: 340px)" href="example-2.css">

De esta manera, se logra que el CSS que se carga sólo se aplique, si la condición que plantea la media-query se cumple.

Sintaxis Inicial - @media-queries


- Alternativa 2: Declarar una media-query dentro de un estilo CSS:

 @media (max-width: 1023px) {
	header #logo {
		float: none;
		width: 100%;
	}
}

De esta forma, se puede aplicar sólo una parte de un código CSS, en el caso de que el medio que reproduce el website o la webapp, cumpla con la condición que la media-query solicita.

Esta alternativa, es mucho más potente, flexible y profesional.

Propiedades Claves


max-width          min-width         max-height


min-height      device-aspect-ratio

device-height         device-width

orientation         resolution          scan

and         not          only

Operadores Lógicos


Se pueden definir media-queries utilizando operadores lógicos and , only y not :


and
 @media (max-width: 480px) and (orientation: portrait) { ... }
* Ejemplo 01: Media-query que aplicaría un fragmento CSS, siempre y cuando la pantalla mida máximo 480px de anchura y presente orientación vertical.
lista de condiciones
 @media (min-width: 700px), handheld and (orientation: landscape) { ... }
* Ejemplo 02: Aplicaría un fragmento CSS, cuando el equipo tenga un ancho mínimo de 700px o si el dispositivo está en orientación horizontal.

only

 @media only screen and handheld { ... }
* Ejemplo 03: La anterior media-query sólo aplicará para pantallas y móviles.

not
 @media not tv and print { ... }

* Ejemplo 04: La anterior media-query aplicará el CSS a todos los medios posibles, exceptuando a TV´s e impresoras.

Funciones Multimedia

A las funciones multimedia, siempre debemos asignarles un valor, ya que sino, retornarán false como valor del query.


max-width

 @media screen and (max-width:100%) { ... } @media handheld and (max-width:700px) { ... }
@media tv and (max-width:120em) { ... }

Determina el ancho máximo de una caja CSS, bien sea en px, em o %.

min-width

 @media only handheld and (min-width:1024px) { ... } @media tv and (min-width:80em) { ... }

Determina el ancho mínimo de una caja CSS, bien sea en px, em o %.


max-height

Altura máxima de una caja CSS, bien sea en px, em o %.


min-height

Altura máxima de una caja CSS, bien sea en pxem o %.

device-aspect-ratio

Describe la proporción de aspecto del dispositivo de salida.  Por ejemplo, en la siguiente media-query, se aplicaría un CSS solamente para pantallas de escritorio cuya proporción de aspecto sea 16/9 (widescreen).

 @media screen and (device-aspect-ratio: 16/9) { ... }


device-height / device-width 

Describe la anchura y la altura del dispositivo de salida. Es posible utilizar valores min- y max- para ambas funciones.

 <link rel="stylesheet" media="screen and (max-device-width: 980px)">

orientation  

Determina una de las dos posibles orientaciones del dispositivo de salida (vertical u horizontal).

 @media all and (orientation: portrait) { ... }@media all and (orientation: landscape) { ... }


resolution  

Define la resolución (densidad de pixeles) del dispositivo de salida, expresada en dpi (puntos por pulgada).

@media print and (min-resolution: 300dpi) { ... }

scan  

Función específica para televisores con conexión a internet, que describe el proceso de exploración de la imagen, por ejemplo, de exploración progresiva.

@media tv and (scan: progressive) { ... }

Sugerencias para trabajar  Responsive Web Design con @media-queries


- Antes de iniciar, decidir si trabajar bajo el enfoque "Mobile First", o bajo el enfoque "Desktop First".

- Testear nuestro proyecto web en emuladores para Responsive Web Design que corran sobre navegadores de escritorio, y en navegadores de móviles de las distintas plataformas.

- Media-queries para móviles de pantalla pequeña, móviles de pantalla de estándar, tablets, escritorio y tv.

Medidas de Pantalla y Resolución de Dispositivos Móviles más populares





Fuentes de Consulta




Mozilla Developer Network - (Media Queries CSS3)

NorfiPC - (Tamaños Pantallas Móviles)






ALBERTO MARIO ANGULO FLÓREZ

@media: media-queries de CSS3

By Angulo Digital - Web, SEO, SEM, Social Media y Apps

@media: media-queries de CSS3

@media: media-queries de CSS3

  • 4,167