Truquito png semitransparente con css version 2.0

Estuve usando mi código el código que encontré por ahí para habilitar las transparencias en ie6 y he hecho un par de mejoras. A saber:

Incluyo el css con comentarios condicionales solo para ie6:

<!--[if lte IE 6]>

    <?php echo $html->css('fix_ie');?>

<![endif]-->

Como hago esto, no hace falta poner el * html antes de cada selector.

Además, tengo dos bloques de código distintos, uno es para imágenes sin repetir (no-repeat) y el otro para imágenes como sombras, bordes, etc. Que si bien son repeat-y o repeat-x, a mi me da lo mismo si se repiten o se estiran.

El problema con este método es que no encontré forma de hacer que la imágen se repita. Pero como para lo único que necesito imágenes repetidas es para hcer sombras, con una imágen de 1px, me da lo mismo si repite o estira, por ende puedo usar el otro modo.

El codigo entonces me queda con una base de dos bloques (dentro de fix_ie.css):

img, .png-no-repeat{
    behavior: expression((this.runtimeStyle.behavior="none")&&(this.pngSet?this.pngSet=true:(
    this.nodeName == "IMG" && this.src.toLowerCase().indexOf('.png')>-1?(this.runtimeStyle.backgroundImage = "none",
    this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "', sizingMethod='image')",
    this.src="transparent.gif"):(this.origBg = this.origBg? this.origBg
    :this.currentStyle.backgroundImage.toString().replace('url("','').replace('")',''),
    this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "',
    sizingMethod='image')",
    this.runtimeStyle.backgroundImage = "none")),this.pngSet=true));
}

y para los que deben “repetirse”:

.png-repeat {
    behavior: expression((this.runtimeStyle.behavior="none")&&(this.pngSet?this.pngSet=true:(
    this.nodeName == "IMG" && this.src.toLowerCase().indexOf('.png')>-1?(this.runtimeStyle.backgroundImage = "none",
    this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "', sizingMethod='image')",
    this.src="transparent.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("','').replace('")',''),
    this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "', sizingMethod='scale')",
    this.runtimeStyle.backgroundImage = "none")),this.pngSet=true));
}

Nótese donde dice sizingMethod=’scale’ que es la parte que hace la magia.
Agregando esto en nuestro html, ahora podemos hacer que cualquiera de nuestros pngs cargue la transparencia, tanto para no-repeat como para los repeat-x o repeat-y.

Un problema con el que me topé es que a veces, ie6 hace desaparecer el fondo cuando le pongo la opcion scale o repeat, la solucion a esto ha sido siempre especificar explícitamente el ancho en píxels del div en cuestión. Parece que ie tiene problemas para calcular tamaños.

Otra solución para el div que desaparece cuando le pongo transparencia es darle position:absolute; al div.

Leí por ahí que a algunas personas les desaparecen los links dentro de un div con fondo semitransparente. Y leí tambien que la solución a eso es poner position:relative; a todos los links dentro del div.

Hablando de Hackers….

Sueño Polifasico

Y si… me entere de que la gente puede dormir solo 2 horas por dia y me puse a analizar en que gasto mi tiempo.
Definitivamente puedo usar un par de horitas extra, verdad?

La idea básica es dormir de a pedazos, hay distintos cronogramas que uno puede seguir, siendo los mas conocidos (por mi) el llamado Uberman y el de Buckminister Fuller conocido como sueño Dymaxion. El primero es 20 minutos cada 4 horas y el segundo es de 30 minutos cada 6 horas.

Al principio mi idea era usar el cronograma Uberman, porque encontré más gente en la web contando experiencias y mas referencias en general, pero todos, invariablemente, dejan el sueño polifásico por incompatibilidad con el resto de la sociedad. Justamente por eso, estoy siguiendo el cronograma de Buckminister Fuller, que me da un poco más de tiempo despierto de un solo tirón y es mas compatible con cualquier actividad que tome más de 3 horas.

Bueno, la cuestión es que hoy empecé con esto (después de mucho
planear). Cuando tenga un tiempito (los planes son tener mucho tiempo
libre a partir de ahora) ahondo más en el tema. pero por ahora todo
bien.

Sigue aca

Ya lo decía yo: “En unos años toda la publicidad será a través de Internet”

Parece que se esta poniendo de moda internet como medio publicitario, en esta nota un comentario del gerente de marketing regional de google. copado.

Como Habilitar Transparencias en pngs de forma automatica para IE6

Bueno, lo prometido es deuda (o algo asi), aqui va una forma de parchar las imagenes que ya tenemos en el sitio en png para que se vean en el apestoso: simplemente agregando un archivo con el siguiente código (extraido de aca):

* html img,
* html .png { behavior: expression((this.runtimeStyle.behavior="none")
            &&(this.pngSet?this.pngSet=true:(this.nodeName == "IMG"
            && this.src.toLowerCase().indexOf('.png')>-1?
            (this.runtimeStyle.backgroundImage = "none",
            this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader
            (src='" + this.src + "', sizingMethod='image')", this.src="transparent.gif"):
            (this.origBg = this.origBg? this.origBg
            :this.currentStyle.backgroundImage.toString().replace('url("','').replace('")',''),
            this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "',
            sizingMethod='crop')",
            this.runtimeStyle.backgroundImage = "none")),this.pngSet=true)
       );

Si, es medio asqueroso, pero funciona. Para que siga validando:

<!--[if lte IE 6]>
link rel="stylesheet" type="text/css" href="png_fix.css" />
<![endif]-->

Y listo!
Todos los tag img con png y transparencia deberian ser automagicamente reemplazados por el AlphaImageLoader.
Además, si hay algun div con fondo png semitransparente, con solo agregarle la clase png entra dentro de los
selectores y arregla.

No se que tan nuevo sera esto en general, pero a mi me sirve bastante mucho.

Cabe aclarar que el codigo usa un gif transparente de 1×1 para parchar la imagen, aca lo tenes
para que no tire errores, hay que colocarlo en el mismo directorio donde está el css. Hay que ponerlo en el “directorio actual” o bien modificar la ruta en el css para que apunte bien al gif, por ejemplo:

this.src="/image/transparent.gif"

Solo faltaria retocar cosas como escalado para algunos fondos o detalles asi, pero seguro se darán cuenta de cómo hacerlo ;)

Pruebe su diseño web en distintos navegadores

Un sitio muy útil y que nos sirve a los desarrolladores web, de los muchos que existen sobre esto, mi preferido:
BrowserHosts

Extraido del sitio:

Browsershots hace capturas de pantallas de su diseño web en distintos navegadores.Es un servicio de código abierto creado por Johann C. Rocholl.Cuando usted envía su dirección web, es añadida a la cola de trabajos.Un número de computadoras distribuídas abrirá su sitio web en su navegador.Luego se harán capturas de pantallas y se cargarán aquí en el servidor central.

Es básicamente eso, se ingresa una url, se selecciona navegadores y sistemas operativos que se quieren probar, y luego se espera a que se generen las imágenes.
En mi experiencia, en mas o menos media hora se pueden tener mas de 20 screenshots de pagina completa en distintos browsers. Bastante bien, considerando que es gratis, libre y sobre todo, bastante nuevo ;)

Ofrecen tambien la posibilidad de colaborar al proyecto, simplemente instalando un programa que usará el procesadror mientras este ocioso, mas o menos como la idea de seti@home, totalmente no-invasivo y no deberia generar molestia alguna, simplemente genera screenshots cuando la compu no esta haciendo nada más.

Tambien, al contribuir al proyecto (tanto de forma monetaria como en cpu) bajan los tiempos de espera para los screenshots.

Termino felicitando a la gente de browserhosts por una tan buena version 0.4 beta que anda, en mi opinion, demasiado bien. Pruebenlo y me cuentan.

Internet superará en 2008 a la radio como canal publicitario

La radio se está poniendo vieja. Dice este articulo

Es el medio que más crece en términos publicitarios desde hace años y, a partir de 2008, tiene muchas posibilidades de superar a un clásico como es la radio a escala mundial. La previsión de ZenithOptimedia apunta a que internet acaparará en todo el mundo una inversión de 30.428 millones de euros el año próximo y la radio, 25.786 millones.

Ya ha sucedido en países como Reino Unido y, de cumplirse las
previsiones, también será en pocos meses una realidad a escala global.
Según las estimaciones de ZenithOptimedia, internet se convertirá en el
año 2008 en el cuarto medio de comunicación por inversión publicitaria,
con 44.583 millones de dólares en todo el mundo (30.428 millones de
euros, un 9,4% del total de la tarta publicitaria), por detrás de la
televisión (123.079 millones de euros, un 37,9% del total), la prensa
(86.927 millones, un 26,8% de la inversión) y las revistas (38.511
millones, el 11,9% del total).

Así, el medio online podría superar por primera vez a la radio, que
acaparará 37.782 millones de euros (7,9% del total). Por detrás se
sitúa el medio exterior, con 18.526 millones (5,7% de la tarta), y el
cine, 1,488 millones (0,5%).

Tiembla Pereyra! la publicidad online se esta poniendo de moda, y con razón, ya que se puede dar publicidad mucho más relevante que a través de folletos, televisión, radio y cualquier otro medio masivo. Se puede mostrar publicidad sobre exactamente lo que una persona está buscando, haciendo mucho más efectivas las campañas publicitarias.

Muy buena noticia, sobre todo para quien tenga planeado mantener un sitio online solo gracias a publicidad.

Amnesty gano el Mate.ar!

Felicitaciones a la gente de Amnesty Internacional Argentina por haber ganado el mate.ar!
Mas información en este post

Gran Sorteo Fin de Año del Grupo Bloggers!!!

El Grupo Bloggers de Córdoba realiza un gran sorteo de fin de año para que empieces el 2008 con todo!
Enterate, sumate, deja tu comentario y participá!
Sortea el 28 de diciembre y hay tiempo hasta el 27 para participar.
A sumarse gente!

Fiesta de fin de año CordobaWeblogs!

El sitio CórdobaWeblogs organiza una juntada para cerrar el año(con perdon de la url). Es el jueves 13 de diciembre a las 20 hs, lugar a confirmar.

Si bien me perdí la ultima reunión, que hubiera sido mi primera, me comprometo a, por lo menos, dar difusion a este evento con melosas palabras y sugerentes imágenes.
Esperen ver cientos y cientos de bloggers, mucha cerveza y charlas de todos los tipos, segun mi amigo Lucas,

La masificación de los blog hizo que estos se enriquecieran con una innumerable cantidad de temas e intereses. Periodismo, diseño, arte, literatura, actualidad son algunos de los temas que actualmente se pueden leer en la blogósfera cordobesa y que se agregaron a los tradicionales blogs tecnológicos y personales.

Hay que confirmar asistencia en esta pagina para que puedan buscar lugar y calculen la cantidad de elixires de cebada a consumir.

Bueno muchachos y muchachas, vayan preparando el hígado y las excusas, que se viene un fieston gigantesco!

Google: el hermano grande

Dice en este articulo

Google Inc. quiere almacenar los datos de las computadoras de los consumidores en sus propios discos duros, extendiendo su misión de organizar toda la información del mundo.
Es un servicio más del nuevo gigante? (muy útil) o es que google se está transformando en el nuevo “hermano grande” (no pienso usar la combinacion de palabras que fue reality show) global?


La compañía de Internet prepara un servicio que permitirá que los
usuarios guarden en computadoras de Google todos los archivos que
podrían almacenar en sus discos duros personales, desde documentos de
texto a música y videos, dicen fuentes al tanto. La empresa espera
lanzar el servicio el próximo año. Este permitirá que los usuarios
accedan a los archivos a través de Internet desde diferentes
computadoras y aparatos móviles y que los compartan con amigos.

Basicamente, la idea de google es tener toda la informacion del mundo en sus servidores. Primero la web, ahora lo que sea que la gente quiera subir. Despues, guardará en su “cache” los contenidos de tu disco duro, “para su facil indexación” aun sin preguntarnos?

Me suena a peligroso.

Por otro lado, esto podría ser un golpe al monopolio ofimático que lamentablemente tiene ahora Micro$oft Office. Las aplicaciónes on-line, créalo o no, son el futuro. Cansados de bajar parches y actualizaciones, podemos usar la suite on-line de oficina de google, y parece que en cualquier momento podremos dejar de comprar discos duros cada vez más grandes.

Queda por ver como harán para garantizar al mismo tiempo privacidad y no ilegalidad de los datos. Si es que lo hacen.

Technorati Tags: ,

« Entradas anterioresEntradas siguientes »

AJAXed with AWP