<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bicosyes - since evermore... &#187; ie</title>
	<atom:link href="http://bicosyes.com/tag/ie/feed/" rel="self" type="application/rss+xml" />
	<link>http://bicosyes.com</link>
	<description></description>
	<lastBuildDate>Sat, 06 Mar 2010 20:03:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Imágenes png transparentes en IE</title>
		<link>http://bicosyes.com/imagenes-png-transparentes-en-ie/</link>
		<comments>http://bicosyes.com/imagenes-png-transparentes-en-ie/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 21:24:49 +0000</pubDate>
		<dc:creator>blaxter</dc:creator>
				<category><![CDATA[Diseño Web]]></category>
		<category><![CDATA[behavior]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[png]]></category>

		<guid isPermaLink="false">http://bicosyes.com/?p=642</guid>
		<description><![CDATA[El "amado" Internet Explorer, ese navegador que tantas horas de diversión nos ha dado, no soporta imágenes png transparentes en sus versiones inferiores a la 7 (¿me lo dices o me lo cuentas?). Y aunque algunos traten de ignorar ya a IE6, sigue siendo un porcentaje inmenso que no se puede ignorar (aunque le quedan [...]]]></description>
			<content:encoded><![CDATA[<p>El <em>"amado"</em> Internet Explorer, ese navegador que tantas horas de diversión nos ha dado, no soporta imágenes png transparentes en sus versiones inferiores a la 7 (¿me lo dices o me lo cuentas?). Y aunque <a href="http://37signals.blogs.com/products/2008/07/basecamp-phasin.html">algunos traten de ignorar ya a IE6</a>, sigue siendo un <a href="http://marketshare.hitslink.com/report.aspx?qprid=3&qpcustom=Microsoft+Internet+Explorer+6.0">porcentaje inmenso</a> que no se puede ignorar (aunque le quedan par de años como mucho), al menos para aplicaciones y páginas Web públicas.</p>
<p>Este problema se puede resolver fácilmente con los <em>behavior</em> de IE, que básicamente es una forma de ejecutar código (javascript) asociado al selector css en cuestión. </p>
<p>Mediante el uso del filtro <a href="http://msdn.microsoft.com/en-us/library/ms532969.aspx">AlphaImageLoader</a> podemos mostrar imágenes que tengan zonas transparentes. La forma para resolver el problema consiste en sobreescribir todas las imágenes png con una imagen gif transparente (los cuales si son soportados) y aplicarle este filtro con la imagen real que queríamos mostrar. Esto sería algo así como:</p>
<pre class="html4strict">&nbsp;
<span style="color: #ddbb00;">&amp;lt;</span>img src=&quot;trans.gif&quot; style=&quot;filter:
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png')&quot; /<span style="color: #ddbb00;">&amp;gt;</span>
&nbsp;</pre>
<p>Todo esto lo podemos realizar únicamente añadiendo un <em>behavior</em> el cual hará todo de forma automática. El uso sería algo así como:</p>
<pre class="css">&nbsp;
img <span style="color: #66cc66;">&#123;</span>
   behavior: <span style="color: #993333;">url</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;iepngfix.htc&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>Podemos poner esto en un <em>css</em> específico para IE, usar unos condicionales y nos queda ya hasta elegante:</p>
<pre class="html4strict">&nbsp;
<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!--[if lt IE 7]&gt;</span>
</span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/link.html"><span style="color: #000000; font-weight: bold;">&lt;link</span></a> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;ie.css&quot;</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/css&quot;</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;</span>!<span style="color: #66cc66;">&#91;</span>endif<span style="color: #66cc66;">&#93;</span>--<span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;</pre>
<p>Por lo que, en resumen, necesitaremos lo siguiente:</p>
<ul>
<li><a href="http://bicosyes.com/wp-content/uploads/2008/07/ie.css">ie.css</a></li>
<li><a href="http://bicosyes.com/wp-content/uploads/2008/07/iepngfix.htc">iepngfix.htc</li>
<li><a href="http://bicosyes.com/wp-content/uploads/2008/07/trans.gif">gif transparente</a></li>
<li>Añadir el ie.css de la forma indicada anteriormente</li>
</ul>
<p>La imagen transparente gif podemos ponerla en cualquier lado de la aplicación si editamos el <em>htc</em> (o si definimos en javascript una variable tal que <em>var blankSrc = "/foo/bar/trans.gif";</em>, pero mejor la otra opción).</p>
<p>Por cierto, otro <em>hack</em>, para IE, similar y realmente útil es <a href="http://cueva.byethost18.com/2007/11/19/whateverhover/">este</a> con el cual podemos usar la pseudo clase <em><strong>:hover</strong></em> en más elementos aparte de <em>&lt;a&gt;</em>.</p>
<p><a href="http://webfx.eae.net/dhtml/pngbehavior/pngbehavior.html">Fuente</a></p>
<img src="http://bicosyes.com/?ak_action=api_record_view&id=642&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://bicosyes.com/imagenes-png-transparentes-en-ie/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

