Creative Commons 3.0 RSS CSS 2.1 XHTML 1.0
Login  
Registro
 
Escrito por Yosi_ el jueves, 24 de enero de 2008

El código que pongo a continuación es una función JavaScript cuya utilidad es situar un "div" verticalmente en un punto concreto de la pantalla, independientemente del scroll de la página. En mi caso lo he utilizado para crear un popup (dentro de la propia web, sin utilizar una nueva ventana) que muestra entre otras cosas el formulario de login de este blog.

function setFixedHeight (div) 
{  
    div=document.getElementById(div);
    if(window.innerHeight) 
    { 
        altoActual = window.innerHeight; 
    } 
    else 
    { 
        altoActual = document.documentElement.clientHeight; 
    }
    alto = (altoActual/3)+document.documentElement.scrollTop;
    div.style.top = alto+ 'px';
}

El parámetro div de la función corresponde a la id del elemento que se desea posicionar, y siempre deberemos tener en cuenta que dicha posición se establecerá respecto a la parte superior del mismo. En este caso se colocará a 1/3 de la altura total de la pantalla (altoActual/3), pero se podria mover a cualquier otro sitio cambiando ese valor, o incluso centrarlo colocándolo a 1/2 de la altura y restando a la cantidad resultante la mitad de la altura del elemento.

Evidentemente sería muy sencillo realizar esta misma labor empleando solamente la propiedad "position:fixed" en CSS, pero dado que IE6 no la soporta, y teniendo en cuenta que desgraciadamente un alto porcentaje de internautas aún usa ese despropósito de navegador, nos vemos obligados a utilizar soluciones más complejas como la expuesta anteriormente. Para el caso de la posición en el eje horizontal la funcion sería análoga, pero en ese caso es más inteligente establecerla desde CSS mediante la propiedad "position:absolute", ya que al carecer la mayor parte de webs de scroll horizontal, es equivalente a fijar el elemento en un determinado punto.

Escrito por Yosi_ el domingo, 13 de enero de 2008

Hace unos días encontré en una noticia que no recuerdo una referencia a un programa con un aspecto muy interesante, y decidí echarle un vistazo. Se trata de Blender, una aplicación de diseño y animación en 3d de nivel profesional (o al menos a mi me lo parece, juzgad vosotros mismos visitando una galeria de ejemplos). La interface aparenta cierta dificultad, y hay quien comenta que al principio no resulta demasiado intuitiva (especialmente para los acostumbrados a una estructura de menús invariable tipo “Windows”), pero lógicamente un potencial tan grande implica una estructura compleja.



Funciona en todos los sistemas operativos mas comunes (Windows, Linux, Mac, FreeBSD, Solaris...), es gratuito y desde hace varios años esta liberado bajo licencia GPL. Aparte de todo esto y al contrario de lo que pudiera parecer en un programa de estas características, los requerimientos técnicos que señalan en la web oficial para trabajar con cierta fluidez oscilan en rangos asumibles por la práctica totalidad de los equipos actuales.




Después de todo esto y tras visitar varios foros específicos donde la gente comenta y expone sus creaciones, creo que merece la pena interesarse un poco más sobre el tema, especialmente si resulta atractivo, como es mi caso. Así que lo he establecido con prioridad dentro de todas esas cosas que se pretenden hacer cuando se disponga del tiempo necesario (un tiempo que desafortunadamente a veces no llega). En cualquier caso el primer paso para aprender es documentarse, así que ahí van unos cuantos links con los mejores manuales, guías y tutoriales que he encontrado sobre el tema:



Solo queda dar las gracias a toda la gente que se lo curra para que podamos disfrutar de herramientas como ésta a cambio de nada, tanto desarrollando el software como aportando material didáctico. Hace un buen puñado de años algo así habría sido impensable, seguimos en el buen camino.
Ver Comentarios (7) Temas relacionados: Informática  Linux