|
Maquetaciones dinámicas con Javascript y CSS |
|
|
lunes, 15 de septiembre de 2008 |
Por lo general, cuando deseamos un diseño que se adapte a varias resoluciones de pantalla solemos realizarlo con una maquetación líquida. Y aunque es una buena solución, algunas veces no obtenemos los resultados deseados. Entonces es cuando comenzamos a buscar soluciones alternativas:
- Es un pequeño Javascript el cual incorpora una clase al body del HTML la cual cambia de nombre en base a a la resolución de pantalla del usuario. Su utilización es muy sencilla, tan solo debemos incorporarlo por debajo de la etiqueta body:
HTML
-
<script src="http://static.fortes.com/projects/dynamiclayout/dynamiclayout-1.0.min.js" type="text/javascript">
-
</script>
De forma predefinida, Dynamic Layout detecta tres anchos de pantalla: 800px, 1000px, y 1200px. Entonces, si el usuario posee un ancho de pantalla mayor a 1200px incorpora class="bw-1200" al body, en caso de estar entre 1000px y 1200px incorpora class="bw-1000", si se encuentra entre 800px y 1000px incorpora class="bw-800" y si es menor a 800px incorpora class="bw-min"
Además es posible definir los anchos de pantalla a detectar:
HTML
-
<script src="http://static.fortes.com/projects/dynamiclayout/dynamiclayout-1.0.js?sizes=600,800,1200" type="text/javascript">
-
</script>
En este caso se define que detecte como anchos 600px, 800px y 1200px. Finalmente en nuestra hoja de estilo tendremos que incorporar como se mostraran los elementos en base al valor que tome la clase, por ejemplo:
CSS
-
/* Si la clase es bw-1000, el ancho de header es de 950px y de color blanco*/
-
-
.bw-1000 #header {
-
width: 950px;
-
background-color:#FFF;
-
}
-
-
/* Si la clase es bw-1200, el ancho de header es de 1100px y de color negro*/
-
-
.bw-1200 #header {
-
width: 1100px;
-
background-color:#000;
-
}
- Es un plugin para jQuery que añade soporte de Media Queries, el cual permite definir mediante expresiones cuando se debe aplicar un estilo en base a las propiedades del medio. El plugin solamente permite definir las expresiones en base al ancho de pantalla del usuario. Utilización:
En el head añadimos los estilos a utilizar, en este caso vamos a cargar un estilo para una resolución mayor a 1100px, otro estilo para una resolución menor a 820px y un estilo por default en caso de estar entre los dos valores. En la propiedad "media" debemos añadir la expresión que define el ancho del medio y el tipo:
HTML
-
<!--Estilo predeterminado-->
-
<link href="default.css" rel="stylesheet" type="text/css" media="screen">
-
<!--Estilo para una resolución mayor a 1100px, tipo de medio screen-->
-
<link href="ancho.css" rel="stylesheet" type="text/css" media="only screen and (min-width: 1100px)">
-
<!--Estilo para una resolución hasta 820px, tipo de medio screen-->
-
<link href="angosto.css" rel="stylesheet" type="text/css" media="only screen and (max-width: 820px)">
Finalmente incorporamos a jQuery y al plugin:
HTML
-
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript">
-
</script>
-
<script src="http://www.leandrodonofrio.com/jquery.mediaqueries.js" type="text/javascript">
-
</script>
Y eso es todo, el plugin se encargará de cambiar la hoja de estilo en base a la expresión que hayamos definido.
..y tal vez te interese:
¿Te interesó este artículo?Puedes suscribirte al feed ó dejar tu email para recibir las últimas noticias, tal como lo hacen actualmente las 2513 personas que siguen al blog
|
- Por favor, mantenga el tópico de los mensajes en relevancia con el tema del artículo.
- Lenguaje inapropiado será borrado.
| |