2011-08-03 11 views
7

Conozco las unidades CSS 3 vw, vh y vm, que parecen ser útiles para crear elementos que tengan tamaños de cuadros y tamaños de texto relativos al tamaño de la ventana del navegador. Sin embargo, lamentablemente, estos no son bien compatibles con los principales navegadores actuales; solo Internet Explorer 9+ lo hace.escalar un diseño web con la ventana gráfica

¿Qué otros métodos puedo usar para hacer cosas como las propiedades de CSS font-size que se escalan con la ventana gráfica? Me gustaría evitar las soluciones de JavaScript y/o jQuery si es posible.

+2

¡¡Finalmente !! Estaba cansado de ver cosas _no funcionaba en IE_ publicaciones :) – Mrchief

Respuesta

8

Hacer un sitio web 100% escalable es posible. Como dijo Rev, puedes hacer esto usando valores porcentuales, pero es complicado.

La mejor opción es utilizar @media queries. Estos le permiten aplicar reglas CSS a una página solo bajo ciertas condiciones. Al usar consultas de medios para detectar el ancho del dispositivo y/o el ancho de la página, puede aplicar un control preciso sobre cómo se ve su sitio en diferentes tamaños de ventanas. Por ejemplo:

@media screen and (max-device-width: 960px) { 
    font-size:14px; 
} 
@media screen and (max-device-width: 480px) { 
    font-size:13px; 
} 

Ahora, el ejemplo anterior es bastante trivial y artificioso. Para una comprensión más profunda de lo que puede lograr con las consultas de medios, le recomiendo que vea el W3C spec page. Algunas de las más potentes son las consultas width, min-device-width, max-device-width, portrait|landscape y print.

Como nota al margen, asegúrese de incluir estos estilos en la parte inferior de su CSS, para que no se sobrescriban por los estilos predeterminados.

+0

Esa es una gran idea. ¿También es posible tener un diseño completamente a escala, en lugar de solo dos "intervalos"? Además, ¿cuál es la diferencia entre 'max-device-width' y' max-width'? –

+0

@Delan No me preocuparía un sitio web completamente escalado simplemente porque un usuario puede simplemente "pellizcar" el texto a un nivel cómodo. Todo lo que debes enfocarte es establecer un tamaño de texto inicial que sea cómodo para ellos. (y como nota al margen, puede usar cualquier valor de píxel para los anchos, y no está limitado a solo dos. Lea sobre esos estilos y verá cuánto control tiene. – Moses

+0

Podría hacer un montón de diferentes tamaños, pero honestamente tener solo 2-3 es probablemente el mejor. Al diseñar sitios, es bueno ser tan constante en las computadoras como sea posible, por lo que tener unos cuantos medios @ diferentes es mejor que hacerlo completamente. Sin embargo, si quieres escalar completamente , puedes hacer todo en porcentajes, pero eso es un poco complicado. – JacobTheDev

Cuestiones relacionadas