w3schools todos standard query queries pro para only los dispositivos and 959px 768px css responsive-design media-queries screen-resolution aspect-ratio

css - todos - Consultas de medios para cubrir todas las principales proporciones de PC y portátiles



media query min and max (2)

Quiero crear algunas consultas de medios para cubrir la mayor parte de la relación de aspecto para PC / portátiles.

Mi primer intento fue esto:

@media screen and (min-device-aspect-ratio: 4/3){ header::after{ content: ''4/3''; } } @media screen and (min-device-aspect-ratio: 16/9){ header::after{ content: ''16/9''; } } @media screen and (min-device-aspect-ratio: 16/10){ header::after{ content: ''16/10''; } }

Estaba probando esas consultas desde una computadora portátil con una resolución de 1366x768, que es una relación de aspecto de 16/9, en lugar de esto, se ejecuta la última consulta de 16/10.

Podría hacer esto de la manera clásica, con:

@media (min-width:1025px) { /* big landscape tablets, laptops, and desktops */ } @media (min-width:1281px) { /* hi-res laptops and desktops */ }

pero creo que el diseño receptivo debería enfocarse más en la relación de aspecto que en el ancho de la pantalla, porque es una gran diferencia entre 4: 3 y los anchos 16/9, o tal vez he entendido mal el concepto de diseño receptivo, pero esto es lo que pienso .


Para resolver la ejecución de 16/10 cuando 16/9 está activo, debe definir device-aspect-ratio lugar de la device-aspect-ratio de min-device-aspect-ratio , porque le está diciendo al navegador que ambos (16/10 y 16/9) ) son códigos válidos, y ejecuta el último definido.

@media screen and (device-aspect-ratio: 16/9) { /* execute only in 16/9 */ } @media screen and (device-aspect-ratio: 16/10) { /* execute only in 16/10 */ }

Edición

Como dijo God (MDN), la relación device-aspect-ratio está obsoleta y en su lugar debemos usar aspect-ratio . Acepta prefijos min y max .


La idea del diseño receptivo es simplemente esta: que su diseño responde a las variaciones o incluso a los cambios a pedido en los medios que consumen su diseño. Si lo hace mirando la resolución de pantalla o la relación de aspecto de pantalla es completamente un detalle de implementación, y no muy pertinente.

La relación 16/9 se evalúa a 1.777 ... mientras que la relación 16/10 se evalúa a 1.6. Como la relación 16/9 es claramente mayor que 16/10, cualquier cosa que sea min-device-aspect-ratio: 16/9 es necesariamente también min-device-aspect-ratio: 16/10 .

La solución es colocar la consulta 16/10 antes del 16/9, de modo que todas las relaciones estén en orden ascendente:

@media screen and (min-device-aspect-ratio: 4/3) { header::after { content: ''4/3''; } } @media screen and (min-device-aspect-ratio: 16/10) { header::after { content: ''16/10''; } } @media screen and (min-device-aspect-ratio: 16/9) { header::after { content: ''16/9''; } }

Vea mi respuesta a esta pregunta relacionada para obtener una explicación de cómo funciona esto.