<?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>Angel Custodio &#187; Diseño y Maquetación</title>
	<atom:link href="http://angelcustodio.net/categoria/diseno-maquetacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://angelcustodio.net</link>
	<description>Este es el lugar en el que iré escribiendo todo aquello que pienso, siento y creo, sin tapujos ni adornos... a veces incluso obviando la diplomacia, pero siempre con respeto e intentando aportar algo útil a todo aquello a lo que me refiera.</description>
	<lastBuildDate>Sat, 19 Dec 2009 13:58:19 +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>Una de CSS hacks para IE8, por favor</title>
		<link>http://angelcustodio.net/una-de-css-hacks-para-ie8-por-favor/</link>
		<comments>http://angelcustodio.net/una-de-css-hacks-para-ie8-por-favor/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 15:00:14 +0000</pubDate>
		<dc:creator>Angel Custodio</dc:creator>
				<category><![CDATA[Diseño y Maquetación]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Navegadores]]></category>

		<guid isPermaLink="false">http://angelcustodio.net/?p=446</guid>
		<description><![CDATA[Como todo buen maquetador sabe, hay ciertos programas que se pasan los estándares por el forro el pito del sereno. En consecuencia, nos obligan a utilizar esas líneas de código que hacen milagros donde había imposibles llamadas hacks.
Un hack no es más que una manera de introducir código de algún tipo (CSS en este caso), [...]]]></description>
			<content:encoded><![CDATA[<p>Como todo buen maquetador sabe, hay <em>ciertos programas</em> que se pasan los estándares por <strike>el forro</strike> el pito del sereno. En consecuencia, nos obligan a utilizar esas líneas de código que hacen milagros donde había imposibles llamadas <strong>hacks</strong>.</p>
<p>Un hack no es más que una manera de introducir código de algún tipo (CSS en este caso), de tal manera que <strong>se consigue su carga en un determinado programa</strong>, en este caso, en un determinado navegador.</p>
<p>Es por todos conocidos que la familia Internet Explorer interpreta con bastante <em>ligereza</em> lo que una web debe mostrar en realidad; que si yo interpreto los paddings y margins como me da la gana, que si el border también suma para el ancho total, que si esta propiedad no la conozco&#8230; etc. Multitudes de fallos por una estrategia errónea de Microsoft que ha ido arrastrando durante años, pero eso es otro tema.</p>
<p>Al grano.<br />
<strong>IE8 es un buen navegador</strong> en comparación con su predecesor IE7 y exageradamente superior a su ancestro IE6. Respeta bastante bien la mayoría de estándares, pero también tiene &#8220;sus cosas&#8221;, las cuales vamos a solucionar con las siguientes líneas de código en el CSS.</p>
<blockquote><p>
1) *:first-child+html elemento { propiedad: valor; }<br />
2) elemento { propiedad /*\**/: valor\9 }
</p></blockquote>
<p><strong>¿Qué estamos haciendo con esas líneas?</strong><br />
Si buscamos por Google, veremos que el 2º hack corre por internet como el <em>milagro antigrasa</em> de IE8, pero no es así. Ese código lo interpreta también IE7, por lo que habrá que re-hackear de tal manera que IE7 interprete &#8220;otra cosa&#8221;.</p>
<p>La solución está en el <strong>first-child</strong>. Lo pongamos donde lo pongamos será lo que interprete IE7 sin tener el cuenta <em>el hack de los asteriscos</em>. Digamos que actúa como un <em>!important</em>.</p>
<p>Obviamente, esto no valida ni de broma, pero es otra solución si como a mí no os gusta nada llenar el código de condicionales comprobando la versión de IE.</p>
<p>Aunque existe otra forma más la cual no he podido comprobar si valida.<br />
El código que os pongo a continuación no va sobre el CSS si no directamente sobre el archivo XHTML que estéis maquetando y hace algo más &#8220;bestia&#8221; pero bastante efectivo y que ahorra tiempo, sudor y lágrimas.</p>
<blockquote><p>&lt;meta http-equiv=&#8221;X-UA-Compatible&#8221; content=&#8221;IE=7&#8243; /&gt;</p></blockquote>
<p>Con ese <em>meta</em> que pondremos dentro del <em>head</em>, haremos que IE8 entre en el Compatibility Mode y renderice la web como IE7. Con esto conseguiremos poder reducir el número de hacks ya que no hará falta tener en cuenta a IE8 a la hora de maquetar. De todas formas, no es la vía más recomendable por ser algo <em>drástica</em>. Sólo debería usarse en el supuesto de que tengamos la web perfectamente adaptada a IE7 y suponga demasiado tiempo su arreglo.</p>
<p>La mejor solución; utilizar <a href="http://www.mozilla-europe.org/es/firefox/">Firefox</a>, <a href="http://www.apple.com/es/safari/">Safari</a>, <a href="http://www.opera.com/browser/">Opera</a> o <a href="http://www.google.es/chrome/">Chrome</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://angelcustodio.net/una-de-css-hacks-para-ie8-por-favor/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

