<?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>Front-End Zen &#187; Front-End</title>
	<atom:link href="http://blog.inspiroh.com/category/front-end/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.inspiroh.com</link>
	<description>Equilibrio y Control en el desarrollo web</description>
	<lastBuildDate>Sun, 06 Jun 2010 07:41:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Chiste del día</title>
		<link>http://blog.inspiroh.com/chiste-del-dia/</link>
		<comments>http://blog.inspiroh.com/chiste-del-dia/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 08:47:09 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Front-End]]></category>
		<category><![CDATA[humor]]></category>

		<guid isPermaLink="false">http://blog.inspiroh.com/?p=150</guid>
		<description><![CDATA[- ¿Cómo se llama uno de Front-End en élfico?
- Eldelfront&#8230;.
Demos las gracias una paliza a Ymikimono, por contarme este chiste el otro día en el curro y haberme causado secuelas mentales. El topicazo de los diseñadores se cumple, están zumbaos perdidos&#8230; y si encima tienen chispa&#8230;
Bueno&#8230; va, reconozco que en el fondo no es tan [...]]]></description>
			<content:encoded><![CDATA[<p>- ¿Cómo se llama uno de<em> Front-End</em> en élfico?</p>
<p><span id="more-150"></span>- Eldelfront&#8230;.</p>
<p>Demos<span style="text-decoration: line-through;"> las gracias</span> una paliza a <a href="http://www.ymikimono.com">Ymikimono</a>, por contarme este chiste el otro día en el curro y haberme causado secuelas mentales. El topicazo de los diseñadores se cumple, están zumbaos perdidos&#8230; y si encima tienen <em>chispa</em>&#8230;</p>
<p>Bueno&#8230; va, reconozco que en el fondo no es tan malo ^_^</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspiroh.com/chiste-del-dia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer 6 cada día más marginado</title>
		<link>http://blog.inspiroh.com/internet-explorer-6-cada-dia-mas-marginado/</link>
		<comments>http://blog.inspiroh.com/internet-explorer-6-cada-dia-mas-marginado/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 23:23:16 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Front-End]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[ie6]]></category>

		<guid isPermaLink="false">http://blog.inspiroh.com/?p=145</guid>
		<description><![CDATA[Me encantan estos titulares. Ya hemos observado cómo en los últimos meses grandes portales web han empezado a mostrar mensajes &#8220;aconsejando&#8221; que se actualicen el navegador a otro más moderno y seguro.
Goolge vuelve a dar un paso más contra este navegador mega obsoleto llamado Internet Explorer 6 amenazando adivirtiendo que a partir del 1 de [...]]]></description>
			<content:encoded><![CDATA[<p>Me encantan estos titulares. Ya hemos <a href="http://blog.inspiroh.com/youtube-marca-el-inicio-del-fin-de-internet-explorer-6/">observado </a>cómo en los últimos meses grandes portales web han empezado a mostrar mensajes &#8220;aconsejando&#8221; que se actualicen el navegador a otro más moderno y seguro.</p>
<p>Goolge vuelve a dar un paso más contra este navegador mega obsoleto llamado Internet Explorer 6 <span style="text-decoration: line-through;">amenazando</span> adivirtiendo que a partir del 1 de marzo sus aplicaciones online como el google docs o google sites ya no podrán usarse desde IE6. Así lo ha anunciado el Encargado de Producto de Google Apps, Rajen Sheth, en el blog oficial de Google Docs, donde afirma que la compañía retirará el soporte para el navegador a partir de esa fecha.</p>
<p>Otra gran noticia pues para los desarrolladores Front-End. El fin de los días de Internet Explorer 6 se ve cada vez más cerca.</p>
<p>Fuente: <a rel="external nofollow" href="http://www.cadenaser.com/tecnologia/articulo/google-da-espalda-internet-explorer/serpro/20100201csrcsrtec_1/Tes">cadenaser.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspiroh.com/internet-explorer-6-cada-dia-mas-marginado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El navegador Firefox supera a Internet Explorer</title>
		<link>http://blog.inspiroh.com/el-navegador-firefox-supera-a-internet-explorer/</link>
		<comments>http://blog.inspiroh.com/el-navegador-firefox-supera-a-internet-explorer/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 10:34:36 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Front-End]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[estadísticas]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[navegadores]]></category>

		<guid isPermaLink="false">http://blog.inspiroh.com/?p=131</guid>
		<description><![CDATA[Encontré la mejor forma de estrenar nuevo año en el blog, y es publicando la siguiente noticia: ¡Firefox ya es el navegador más usado del mundo! Superando así al duro-de-pelar Internet Explorer. Para un profesional del sector como yo, es una tremenda noticia, porque muchos (por no decir todos) especializados en el desarrollo Front-End esperábamos [...]]]></description>
			<content:encoded><![CDATA[<p>Encontré la mejor forma de estrenar nuevo año en el blog, y es publicando la siguiente noticia: <strong>¡Firefox ya es el navegador más usado del mundo!</strong> Superando así al <em>duro-de-pelar</em> Internet Explorer. Para un <a href="http://www.inspiroh.com">profesional del sector como yo</a>, es una tremenda noticia, porque muchos (por no decir todos) especializados en el desarrollo <strong>Front-End</strong> esperábamos con ansias una noticia así. <a rel="nofollow external" href="http://www.google.es/search?q=razones+para+no+usar+internet+explorer&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:es-ES:official&amp;client=firefox-a">Los motivos sobran</a>, además que yo personalmente uso Firefox para trabajar (con el componente <a rel="nofollow external" href="http://getfirebug.com/">firebug </a>para facilitar el desarrollo) Por fin el futuro parece tener luz y aquellos argumentos de:</p>
<blockquote><p>Tienes que validar la web para Internet Explorer 6, 7 y 8&#8230; porque la mayoría de gente usa Explorer // porque el cliente lo ve en ese navegador // porque me gusta tocarte los cojones&#8230;</p></blockquote>
<p>Van a pasar a formar parte de una pesadilla que tuvimos en el pasado. Y es que no uno  se cansa de repetir tantas veces que</p>
<p>Según unas estadísticas obtenidas de StatCounter (un servicio gratuito de estadística web, tipo google analytics), el navegador Firefox 3.5 supera por primera vez a Internet Explorer 7, coronándose como el navegador más usado.</p>
<p><span id="more-131"></span></p>
<p><img class="aligncenter" title="Top 8 navegadores" src="http://blog.inspiroh.com/wp-content/uploads/2010/01/Top-8-Browser-Versions-from-W27-08-to-W51-09-StatCounter-Global-Stats_1262425802036.png" alt="Top 8 navegadores" width="590" /></p>
<p style="text-align: center;"><em>Screenshot de la gráfica obtenida de statcounter.com</em></p>
<h3 style="text-align: left;">Eso sí, con matices</h3>
<p style="text-align: left;">La noticia es muy buena y esperanzadora pero hay que matizar. La gráfica muestra a los navegadores por sus versiones, y Firefox 3.5 está por encima de IE 7. Pero si juntamos las diferentes versiones de cada navegador, entonces sigue ganando Internet Explorer con bastante margen. De todas formas, la gráfica nos muestra claramente la tendencia ascendente de Firefox y el decrecimiento de IE, y lo demás es cuestión de tiempo.</p>
<p style="text-align: left;" class="fuente">Fuente: <a rel="nofollow external" href="http://es.engadget.com/2009/12/22/firefox-ya-es-el-navegador-mas-usado-del-mundo/">Engadget</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspiroh.com/el-navegador-firefox-supera-a-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detectar el navegador con javascript</title>
		<link>http://blog.inspiroh.com/detectar-el-navegador-con-javascript/</link>
		<comments>http://blog.inspiroh.com/detectar-el-navegador-con-javascript/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 10:11:21 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Front-End]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.inspiroh.com/?p=103</guid>
		<description><![CDATA[Hay varias formas de detectar en JS qué navegador está utilizando el cliente para visualizar nuestras webs. En un momento dado nos puede interesar saber el navegador que está utilizando para condicionar la funcionalidad de nuestro script.
Internet Explorer
Para detectar si usa Internet Explorer sin tener en cuenta la versión:
var ie=(document.all)? true:false;
if (ie) alert('Su navegador es [...]]]></description>
			<content:encoded><![CDATA[<p>Hay varias formas de detectar en JS qué navegador está utilizando el cliente para visualizar nuestras webs. En un momento dado nos puede interesar saber el navegador que está utilizando para condicionar la funcionalidad de nuestro script.</p>
<h3>Internet Explorer</h3>
<p>Para detectar si usa Internet Explorer sin tener en cuenta la versión:</p>
<pre name="code" class="js">var ie=(document.all)? true:false;
if (ie) alert('Su navegador es Internet Explorer');</pre>
<h3>Internet Explorer 6</h3>
<p>Muchos sabemos que IE6 es un caso especial. El siguiente script nos ayudará a detectar este caso y controlarlo:</p>
<pre name="code" class="js">var is_ie6 = (window.external &amp;&amp; typeof window.XMLHttpRequest == "undefined");
if (is_ie6 ) alert('Su navegador es Internet Explorer 6');</pre>
<h3>Safari</h3>
<p>Para detectar el navegador de Apple:</p>
<pre name="code" class="js">var is_safari = navigator.userAgent.toLowerCase().indexOf('safari/') &gt; -1;
if (is_safari ) alert('Su navegador es Safari');
</pre>
<h3>Google Chrome</h3>
<p>Aunque es un navegador que cumple bastante fielmente los estándares, sigue comportándose en determinados casos de forma especial. Controlaremos este caso así:</p>
<pre name="code" class="js">var is_chrome= navigator.userAgent.toLowerCase().indexOf('chrome/') &gt; -1;
if (is_chrome) alert('Su navegador es Google Chrome');</pre>
<p>No incluyo ningún script para detectar si el navegador es Firefox ya que es un navegador que cumple al 100% los estándares, el cual nos permite tratarlo como el caso <em>por defecto</em>.</p>
<h3>El objeto Navigator</h3>
<p>En los últimos 2 casos vemos que usamos el objeto <em>navigator </em>que contiene la info que buscamos. De hecho podríamos usar este objeto <em>navigator </em>para detectar cualquier navegador, ya que <em>navigator.userAgent.toLowerCase() </em>nos indica el tipo de navegador que usa, la versión y más información que nos puede servir para controlar cada caso.</p>
<p><a href="javascript:alert(navigator.userAgent.toLowerCase())">Haz clic aquí</a> para ver un ejemplo del objeto Navigator.</p>
<p>Al hacer clic te debe de salir la siguiente información:<br />
<em><script type="text/javascript">// <![CDATA[
document.write(navigator.userAgent.toLowerCase());
// ]]&gt;</script></em></p>
<p><span id="more-103"></span></p>
<h4>Propiedades</h4>
<p>Las propiedades de Navigator que podremos consultar son:</p>
<ul>
<li><span style="color: #006300; font-family: monospace; font-size: 10pt;">appCodeName</span>. Cadena que contiene el nombre del código del cliente.</li>
<li><span style="color: #006300; font-family: monospace; font-size: 10pt;">appName</span>. Cadena que contiene el nombre del cliente.</li>
<li><span style="color: #006300; font-family: monospace; font-size: 10pt;">appVersion</span>. Cadena que contiene información sobre la versión del cliente.</li>
<li><span style="color: #006300; font-family: monospace; font-size: 10pt;">language</span>. Cadena de dos caracteres que contiene información sobre el idioma de la versión del cliente.</li>
<li><span style="color: #006300; font-family: monospace; font-size: 10pt;">mimeTypes</span>. Array que contiene todos los tipos MIME soportados por el cliente. A partir de NS 3.</li>
<li><span style="color: #006300; font-family: monospace; font-size: 10pt;">platform</span>. Cadena con la plataforma sobre la que se está ejecutando el programa cliente.</li>
<li><span style="color: #006300; font-family: monospace; font-size: 10pt;">plugins</span>. Array que contiene todos los plug-ins soportados por el cliente. A partir de NS 3.</li>
<li><span style="color: #006300; font-family: monospace; font-size: 10pt;">userAgent</span>. Cadena que contiene la cabecera completa del agente enviada en una petición HTTP. Contiene la información de las propiedades appCodeName y appVersion.</li>
</ul>
<h4>Métodos</h4>
<ul>
<li><span style="color: #006300; font-family: monospace; font-size: 10pt;">javaEnabled()</span>. Devuelve <span style="color: #006300; font-family: monospace; font-size: 10pt;">true</span> si el cliente permite la utilización de Java, en caso contrario, devuelve <span style="color: #006300; font-family: monospace; font-size: 10pt;">false</span>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspiroh.com/detectar-el-navegador-con-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Youtube marca el inicio del fin de Internet Explorer 6</title>
		<link>http://blog.inspiroh.com/youtube-marca-el-inicio-del-fin-de-internet-explorer-6/</link>
		<comments>http://blog.inspiroh.com/youtube-marca-el-inicio-del-fin-de-internet-explorer-6/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 09:01:25 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Front-End]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://blog.inspiroh.com/?p=88</guid>
		<description><![CDATA[Pronto retiraremos el servicio de asistencia para Internet Explorer 6..
Youtube acaba de hacernos  un favor inmenso a todos los Front-End developers y desarrolladores web en general. Y es que desde ahora, cuando abres Youtube usando el  IE6, muestra al usuario un mensaje &#8220;invitándole&#8221; a actualizar su navegador por uno más reciente. Youtube acompaña el mensaje [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Pronto retiraremos el servicio de asistencia para Internet Explorer 6..</p></blockquote>
<p>Youtube acaba de hacernos  un favor inmenso a todos los Front-End developers y desarrolladores web en general. Y es que desde ahora, cuando abres Youtube usando el  IE6, muestra al usuario un mensaje &#8220;invitándole&#8221; a actualizar su navegador por uno más reciente. Youtube acompaña el mensaje recomendando los navegadores &#8216;Google Chrome&#8217;, el &#8216;Internet Explorer 8&#8242; o el &#8216;Firefox 3.5&#8242;.</p>
<div id="attachment_89" class="wp-caption aligncenter" style="width: 600px"><img class="size-full wp-image-89" title="Nuevo mensaje de Youtube sobre el IE6" src="http://blog.inspiroh.com/wp-content/uploads/2009/07/youtube_ie6_killer.gif" alt="Youtube da la espalda a IE6" width="590" height="474" /><p class="wp-caption-text">Youtube da la espalda a IE6</p></div>
<p>En el mensaje, Youtube informa que &#8220;Pronto retiraremos el servicio de asistencia para Internet Explorer 6, por lo que te recomendamos que actualices la versión ya.&#8221; Vamos,  un mensaje bastante claro de que va a dejar de preocuparse de que sus desarrollos funcionen en IE6 y se vea bien.</p>
<p><img class="aligncenter size-full wp-image-90" title="actualiza tu navegador" src="http://blog.inspiroh.com/wp-content/uploads/2009/07/youtube_ie6_killer_text.gif" alt="actualiza tu navegador" width="395" height="100" /></p>
<p>Siempre había pensado que esto es lo que teníamos que hacer los desarrolladores hace mucho tiempo. Porque hasta ahora siempre argumentábamos (o mejor dicho los clientes) que dado que más del 70% de usuarios usan IE6 (que por cierto se ha visto reducido notablemente ese porcentaje) teníamos que adaptar la web a ese navegador. La web se adapta al usuario, y no al revés. De esa forma no hay forma posible para evoucionar. Por una vez, debe ser el usuario que se tiene que adaptar a los tiempos, aprovecharse de las tecnologías nuevas.</p>
<p>Que una web como Youtube haya tomado esa postura sin duda se va a notar el impacto. No olvidemos que se trata de una de las webs que más visitas atrae a diario.</p>
<p>Tanto me ha animado esta noticia que yo también voy a mostrar el mismo mensaje en mis proyectos. De hecho, hace unos meses mostraba un mensaje similar en Cine25, pero lo quité&#8230; no sé por qué lo quité&#8230;</p>
<p>¡Haz lo mismo! <strong>¡¡Esto es el principio del fin de IE6!!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspiroh.com/youtube-marca-el-inicio-del-fin-de-internet-explorer-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripty2: Lo más nuevo de Prototype y Scriptaculous</title>
		<link>http://blog.inspiroh.com/scripty2-lo-mas-nuevo-de-prototype-y-scriptaculous/</link>
		<comments>http://blog.inspiroh.com/scripty2-lo-mas-nuevo-de-prototype-y-scriptaculous/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 14:52:15 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Front-End]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[scriptaculous]]></category>

		<guid isPermaLink="false">http://blog.inspiroh.com/?p=58</guid>
		<description><![CDATA[Cualquier Front-End Developer sabe que en la actualidad disponemos de una multitud de herramientas que nos ayuda con el día a día. Para desarrollar en Javascript existen frameworks potentes, entre los más populares están jQuery, Prototype, YUI y Mootools.  Todas estas librerías son proyectos open-source y tienen detrás una comunidad importante que los apoya y [...]]]></description>
			<content:encoded><![CDATA[<p>Cualquier Front-End Developer sabe que en la actualidad disponemos de una multitud de herramientas que nos ayuda con el día a día. Para desarrollar en Javascript existen frameworks potentes, entre los más populares están <strong>jQuery, Prototype, YUI </strong>y<strong> Mootools</strong>.  Todas estas librerías son proyectos open-source y tienen detrás una comunidad importante que los apoya y los ayuda a crecer y mejorar.</p>
<h3>Prototype vs jQuery</h3>
<p>De todos estos frameworks, sin duda hay 2 que están por encima de los demás, almenos a lo que a popularidad se refiere, y son el <a href="http://jquery.com/">jQuery </a>y el <a href="http://www.prototypejs.org">Prototype</a>. En este artículo me voy a ahorrar la explicación de los pros y contras de cada uno, o cual es el mejor de los 2, porque este debate ya se abrió hace mucho en Internet, hay mucha información <a href="http://www.google.es/search?hl=es&amp;client=firefox-a&amp;rls=org.mozilla:es-ES:official&amp;hs=Day&amp;ei=RBVKSpzdItfOjAeX4Yhj&amp;sa=X&amp;oi=spell&amp;resnum=0&amp;ct=result&amp;cd=1&amp;q=prototype+vs+jquery&amp;spell=1">allí fuera</a>.</p>
<p>Me voy a limitar a mí propia experiencia. Y yo me quedo con Prototype. Con esto estoy llendo en contracorriente porque parece que en la actualidad, jQuery le está ganando terreno a Prototype en cuanto a popularidad. Pero la gente creo que se equivoca cuando<span id="more-58"></span> argumentan que jQuery es más potente que Prototype.  Una cosa es que al tener más respaldo popular, se hayan creado  más plug-ins y más documentación para usar el framework, pero eso no implica que su core sea mejor que Prototype.</p>
<p>Llevo ya varios años usando Prototype, en conjunción con Scriptaculous, y nunca he tenido motivos para cambiarme de framework. La gente me dice, &#8220;eso es porque no has probado jQuery&#8230;&#8221; No es cierto, sí que lo he usado, y no veo una gran diferencia. Son bastante similares. Muchos me comentan que la posibilidad de concatenar varios métodos seguidos que permite jQuery es una pasada, pero no sé si saben que desde Prototype 1.6, también permite contatenar métodos.</p>
<h3>Scripty2: El próximo salto de Prototype + Scriptaculous</h3>
<p>La combinación de Prototype con Scriptaculous &#8211; una librería de efectos &#8211; se complementa a la perfección con Prototype, y este dúo te permite realizar prácticamente cualquier cosa que se te ocurra en la web frontal y jugar con los elementos DOM. La grandísima noticia que leí en el <a href="http://mir.aculo.us/2009/06/26/scripty2-for-a-more-delicious-web/">blog </a>de uno de los autores directos de Scriptaculous, Thomas Fuchs, es que está de camino una nueva versión del Scriptaculous, rebautizado como <a href="http://scripty2.com">Scripty2</a>. Todavía es una versión alpha pero hay una <a href="http://scripty2.com/demos/cards/">demo</a> online que nos da una ligera idea de las nuevas capacidades de la librería y&#8230; ¡¡madre mía!! ¡Tiene una pinta increíble!</p>
<p>Se ha mejorado en todos los aspectos la librería, separándolo en Core, UI y FX. Código más compacto pero más potente. La cosa promete, estaré observando con detalle la evolución de este proyecto. Cuando esté la versión final, me gustará escuchar la comunidad de desarrolladores web y Front-End&#8217;s, y en especial a los ultra defensores del jQuery <img src='http://blog.inspiroh.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Web oficial de Scripty2: <a href="http://scripty2.com">http://scripty2.com</a></p>
<p style="text-align: left;">Fuente: <a href="http://mir.aculo.us/2009/06/26/scripty2-for-a-more-delicious-web/">Mir.aculo.us</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspiroh.com/scripty2-lo-mas-nuevo-de-prototype-y-scriptaculous/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rainbow for Firebug: Dale color a tu firebug</title>
		<link>http://blog.inspiroh.com/rainbow-for-firebug-dale-color-a-tu-firebug/</link>
		<comments>http://blog.inspiroh.com/rainbow-for-firebug-dale-color-a-tu-firebug/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 10:02:15 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Front-End]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[plug-in]]></category>

		<guid isPermaLink="false">http://blog.inspiroh.com/?p=54</guid>
		<description><![CDATA[En la actualidad, un Front-End developer tiene un compañero inseparable en sus largas horas delante del ordenador: El firebug. Si no te suena este nombre y te consideras Front-End, entonces deberías correr a descargártelo! Me lo agradecerás.
Firebug es un componente o plug-in de Firefox que ofrece interesantes herramientas para desarrollar la parte frontal de una [...]]]></description>
			<content:encoded><![CDATA[<p>En la actualidad, un Front-End developer tiene un compañero inseparable en sus largas horas delante del ordenador: El firebug. Si no te suena este nombre y te consideras Front-End, entonces deberías correr a <a href="http://getfirebug.com/">descargártelo</a>! Me lo agradecerás.</p>
<blockquote><p>Firebug es un componente o plug-in de Firefox que ofrece interesantes herramientas para desarrollar la parte frontal de una web (css, html, js). La gran ventaja que ofrece es la de poder analizar en tiempo real cualquier elemento de la página, e incluso modificarlo y ver el cambio al momento.</p>
<p>Herramienta indispensable para un Front-End, sin lugar a dudas.</p></blockquote>
<h2>Nuevo componente para completar el Firebug: Rainbow</h2>
<blockquote><p>Colorea el código del javascript facilitando su análisis</p></blockquote>
<p>Hoy encontré un plug-in nuevo que se llama &#8220;Rainbow para Firebug&#8221;, y que mejora aún más el firebug en el sentido de que cuando consultas un script desde el entorno de firebug, colorea el código facilitando MUCHISIMO el análisis del código. Un detalle que parece poco, pero en realidad es mucho.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/9603">Descárgate el plug-in &#8220;Rainbow for Firebug 1.3&#8243; ahora</a></p>
<p><em>Observación: No es una versión estable sino que está en experimental, pero yo lo he probado y por ahora ningún problema.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspiroh.com/rainbow-for-firebug-dale-color-a-tu-firebug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problema de transparencia PNG en internet explorer 6 (IE6)</title>
		<link>http://blog.inspiroh.com/problema-de-transparencia-png-en-internet-explorer-6-ie6/</link>
		<comments>http://blog.inspiroh.com/problema-de-transparencia-png-en-internet-explorer-6-ie6/#comments</comments>
		<pubDate>Tue, 26 May 2009 13:55:36 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Front-End]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://blog.inspiroh.com/?p=46</guid>
		<description><![CDATA[Un desarrollador Front-End tarde o temprano acaba enfrentánose a uno de los múltiples problemas que tiene IE6, y en este caso se trata de las transparencias en las imágenes PNG. Lo normal es recurrir a la alternativa de las imágenes GIF, pero en ocasiones, la calidad no acaba de alcanzar la misma que un PNG. [...]]]></description>
			<content:encoded><![CDATA[<p>Un desarrollador Front-End tarde o temprano acaba enfrentánose a uno de los múltiples problemas que tiene IE6, y en este caso se trata de las <strong>transparencias en las imágenes <acronym title="Portable Network Graphics">PNG</acronym></strong>. Lo normal es recurrir a la alternativa de las imágenes GIF, pero en ocasiones, la calidad no acaba de alcanzar la misma que un PNG. Por suerte, en la actualidad existen distintas librerías que solucionan esta incompatibilidad y nos hacen la vida un poco más fáciles.</p>
<p>Cito algunas de las librerías que he utilizado personalmente y que corrigen la incompatibilidad de Internet Explorer 6 (IE6). Todos ellos son válidos y funcionan a la perfección, por tanto elegir un script es más una elección por gusto que por otra cosa:</p>
<h3>PNG fix</h3>
<p>Correcto script que habilita las transparencias de PNG en IE6.</p>
<p><a href="http://homepage.ntlworld.com/bobosola/"><em>http://homepage.ntlworld.com/bobosola/</em></a></p>
<h3>Unit PNG fix</h3>
<p>Otro script que soluciona el problema, esta vez todo en menos de 1kb!<br />
<a rel="nofollow" href="http://labs.unitinteractive.com/unitpngfix.php"><em>http://labs.unitinteractive.com/unitpngfix.php</em></a></p>
<h3>SuperSleight</h3>
<p>Esta vez un script salido de uno de los sitios web de referencia para todo Front-End o diseñador web.</p>
<p><a href="http://24ways.org/2007/supersleight-transparent-png-in-ie6"><em>http://24ways.org/2007/supersleight-transparent-png-in-ie6</em></a></p>
<h3>IE7-js</h3>
<p>Alojado en code.google.com, un script completo que además de corregir el problema de la transparencia, corrige otros problemas con IE6 y versiones anteriores.</p>
<p><a href="http://code.google.com/p/ie7-js/"><em>http://code.google.com/p/ie7-js/</em></a></p>
<p>He probado todas estas librerías y todos hacen más o menos lo mismo:</p>
<p>Le aplica un &#8220;filter&#8221;  a la imagen (<code>progid:DXImageTransform.Microsoft.AlphaImageLoader(...)</code>). Es un filtro que solo admite IE6 y lo que hace es habilitar las transparencias de la propia imagen.</p>
<p>Cada librería lo aplica a su manera, y su aplicación también varía ligeramente. En mi trabajo actual empecé usando <strong>Unit PNG fix</strong> pero he acabado usando <strong>IE7-js</strong> ya que me interesaba el resto del paquete.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspiroh.com/problema-de-transparencia-png-en-internet-explorer-6-ie6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Botones con imagen y con efecto rollover</title>
		<link>http://blog.inspiroh.com/botones-con-imagen-efecto-rollover/</link>
		<comments>http://blog.inspiroh.com/botones-con-imagen-efecto-rollover/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 14:08:03 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Front-End]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[nivel-medio]]></category>
		<category><![CDATA[oop-css]]></category>

		<guid isPermaLink="false">http://blog.inspiroh.com/?p=10</guid>
		<description><![CDATA[Nivel: medio
Para la creación de botones en un proyecto web, lo normal es recomendar la creación de botones con texto generado (mejor mantenimiento, mejor SEO) y que sean flexibles (mejor mantenimiento, accesible).  Pero cada proyecto es un mundo y puede ser que en alguno nos veamos forzados a optar por la utilización de imágenes como [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;">Nivel: medio</p>
<p>Para la creación de botones en un proyecto web, lo normal es recomendar la creación de botones con texto generado (mejor mantenimiento, mejor SEO) y que sean flexibles (mejor mantenimiento, accesible).  Pero cada proyecto es un mundo y puede ser que en alguno nos veamos forzados a optar por la utilización de imágenes como botones.</p>
<p>Evidentemente, como en casi todo, existen diferentes soluciones a esto. Yo voy a exponer una solución que he aplicado en persona.</p>
<h3>Breve intro a la etiqueta HTML: button</h3>
<p>Una etiqueta HTML que me gusta mucho es el <strong>&lt;button&gt;</strong>. Es una etiqueta que lleva mucho tiempo entre nosotros (desde HTML 4.01) pero que hasta hace relativamente poco no lo he empezado a usar en serio en mis proyectos. Antes lo que siempre usaba para los botones de formularios era el típico <em>input</em>:</p>
<pre><code class="html">// antigua forma: input tradicional
&lt;input type="button" value="Enviar" /&gt;
// nueva forma: button
&lt;button type="button"&gt;Enviar&lt;/button&gt;
</code></pre>
<p>Ambas formas son equivalentes y correctas, pero la ventaja del <em>button </em>es que es más manejable mediante CSS y permite jugar más con ella. La desventaja que tiene es que no es 100% compatible ya que solo está disponible a partir de HTML 4.01. De todas formas, hoy en día más del 95% de usuarios utiliza navegadores que soportar HTML 4.01 o superior por lo que recomiendo el uso de esta etiqueta.</p>
<h3>La imagen y el botón</h3>
<p>Lo primero que se me ocurriría hacer es:</p>
<pre><code class="html">
&lt;input src="RUTA_IMG" type="image" /&gt;
// o con button, que me gusta mas <img src='http://blog.inspiroh.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
&lt;button&gt;&lt;img src="RUTA_IMG" alt="" /&gt;&lt;/button&gt;
</code></pre>
<p>Pero como tenemos que aplicar un efecto rollover en el botón, el método más optimizado es usando el CSS y tratar la imagen como imagen de fondo en el botón. Haciendo esto no necesitaremos tirar de javascript, solo necesitaremos el CSS. Por lo tanto prepararemos algo parecido a esto:</p>
<p><span id="more-10"></span></p>
<pre><code>&lt;button class="btn btn-enviar"&gt;Enviar&lt;/button&gt;
</code></pre>
<p>Aplicaremos también la <strong>técnica de sprites</strong> (que explicaré un día de estos) para optimizar el tema de imágenes. Si no te suena esta técnica,  viene a ser la unificación de las imágenes para reducir el número de peticiones del servidor y agilizar la carga de imágenes. En nuestro ejemplo crearemos la imagen del botón de la siguiente manera:</p>
<p><img class="alignnone size-full wp-image-11" title="btn-enviar.gif" src="http://blog.inspiroh.com/wp-content/uploads/2009/04/btn-enviar.gif" alt="btn-enviar.gif" width="76" height="50" /></p>
<p>Y el CSS para el botón:</p>
<pre><code class="css">button {border:0}
.btn  {text-indent:-9999px;cursor:pointer;}
.btn-enviar {background:transparent url(/img/btn-enviar.gif) no-repeat 0 0;width:76px;height:25px}
.btn-devolver:hover {background-position:0 -25px;}
</code></pre>
<p>Observar 4 cosas:</p>
<ul>
<li>En el estilo <em>.btn-enviar</em> definimos la imagen del botón como <em>background</em>.</li>
<li>En este ejemplo nos interesa poner el texto dentro de la imagen (aunque habría que intentar evitar esto y conseguir que el texto sea generado). Para tales casos, observamos que en el estilo <em>.btn</em> he definido un <em>text-indent</em> negativo, para que la palabra <em>Enviar </em>que hemos puesto no se muestre y no se superponga a la imagen de fondo. Hago esto porque interesa mantener la palabra &#8220;Enviar&#8221; en el código por temas de accesibilidad y de SEO. La <strong>técnica del text-indent negativo </strong>es una técnica muy usada para las imágenes con texto, para no perder la accesibilidad y las palabras clave. En otro artículo profundizaré más sobre esta técnica.</li>
<li>Gracias a la técnica de los sprites, nos bastará introducir la línea 3  para crear el efecto rollover.</li>
<li>Podríamos habernos ahorrado el estilo <em>.btn</em> pero si tenemos en mente el concepto de <strong>OOP-CSS</strong> (Programación Orientada a Objetos aplicado al CSS), veremos que es mejor definirlo de esta forma, sobretodo si tenemos más botones en la web (que es lo más probable).  También dedicaré especial atención a este concepto en el futuro, porque actualmente es un concepto clave que influye en mi filosofía parar afrontar como Front-End mis proyectos.</li>
</ul>
<p>Y ya está. Ya hemos definido una imagen como botón, 100% accesible, con rollover y usando solamente CSS.</p>
<h3>Bienvenido al mundo con IE6</h3>
<p>Si pruebas de aplicar este ejemplo y visualizarlo en IE6, tendrás la &#8220;grata&#8221; sorpresa de ver que tu botón no aparecerá. Este problema lo causa el text-indent negativo, que no solo desplaza el texto fuera de la parte visible, sino que desplaza el botón entero. Por suerte, hay solución para <span style="text-decoration: line-through;">todo </span>casi todo y hay un<strong> IE6 fix</strong> para resolver este caso en concreto. Bastará con agregar un display:block al button y habremos solucionado el problema.</p>
<pre><code class="css">
.btn  {text-indent:-9999px;cursor:pointer;<strong>display:block</strong>}
</code></pre>
<p>Bueno, espero que mi primer artículo/tutorial explicando una técnica de Front te haya resultado interesante. Es posible que haya mezclado muchos conceptos distintos en un mismo artículo haciendo menos claro el ejemplo. Intentaré hacerlo mejor la siguiente vez.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.inspiroh.com/botones-con-imagen-efecto-rollover/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
