<?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>emmgfx &#187; Hack</title>
	<atom:link href="http://www.emm-gfx.net/etiqueta/hack/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.emm-gfx.net</link>
	<description>Y ahora sin más; construye y destruye.</description>
	<lastBuildDate>Thu, 29 Jul 2010 12:21:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>inline-block cross-browser</title>
		<link>http://www.emm-gfx.net/2009/07/inline-block-cross-browser/</link>
		<comments>http://www.emm-gfx.net/2009/07/inline-block-cross-browser/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 09:40:20 +0000</pubDate>
		<dc:creator>Josep Viciana</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://www.emm-gfx.net/?p=33</guid>
		<description><![CDATA[En Foo Hack publicaron un recurso CSS que a veces utilizo y creo que estaría bien compartir, el problema es que no explican para qué sirve hacer lo que explican, y eso es lo que voy a hacer. Hay tres valores principales para el atributo display de CSS; normal, block e inline-block. El primero no [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float:left; margin:-34px 0px 0px -60px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.emm-gfx.net%2F2009%2F07%2Finline-block-cross-browser%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.emm-gfx.net%2F2009%2F07%2Finline-block-cross-browser%2F&amp;source=emmgfx&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>En <a href="http://foohack.com/2007/11/cross-browser-support-for-inline-block-styling/" target="_blank">Foo Hack</a> publicaron un recurso CSS que a veces utilizo y creo que estaría bien compartir, el problema es que no explican para qué sirve hacer lo que explican, y eso es lo que voy a hacer.</p>
<p>Hay tres <a href="http://www.emm-gfx.net/wp-content/uploads/2009/07/displays.gif" class="fancy" rel="display">valores principales para el atributo <code>display</code></a> de CSS; normal, block e inline-block.</p>
<ul>
<li>El primero no modifica el formato del contenedor al que se aplica, es decir, si es un div y se deja el <code>display</code> normal seguirá ocupando el 100% del ancho que disponga del contenedor padre.</li>
<li>El segundo si lo modifica, puede usarse por ejemplo para enlaces, para hacer que el enlace ocupe un tamaño determinado y se pueda hacer click en toda la zona que ocupa visualmente, no sólo en el texto. Esto es quizá dificil de entender pero con un par de ejemplos es más fácil: los <a href="http://www.emm-gfx.net/wp-content/uploads/2009/07/displays2.gif" class="fancy" rel="display">enlaces de la cabecera de Facebook</a> a día de hoy podrían estar hechos con <code>display:inline-block;</code> por que el enlace ocupa un tamaño determinado y para pulsarlo no hace falta que el click se haga en el mismo texto del enlace. Si el <code>display</code> fuera normal, el enlace sólo serviría desde la zona de texto, si se hace click fuera no serviría de nada.</li>
<li><code>display:block</code> sirve para eso, pero puede que no siempre sea lo que se quiere hacer. El valor block posiciona los elementos uno encima del otro, y pocas veces se quiere hacer eso. Lo más normal es que se coloquen uno al lado del otro hasta que llegue al limite de ancho y entonces haga una fila nueva. Para eso se hizo el <code>display:inline-block</code>.
</ul>
<p>El problema es que en bastantes navegadores el valor inline-block simplemente no existe (en todos los nuevos funciona sin problemas) y ante la duda parece comportarse como un block. Pero hay una forma de que funcione bien en &#8220;todos&#8221; los navegadores (lo pongo entre comillas por que en <a href="http://tredosoft.com/Multiple_IE">Explorer 3, 4.01, 5.01 o 5.55</a> ni lo he probado). Sólo hay que utilizar estos valores y el <em>hack</em> * para algunos explorers.</p>
<pre lang="html" line="1">
display:-moz-inline-stack;
display:inline-block;
zoom:1;
*display:inline;
</pre>
<p>Aunque yo soy de los que piensa que lo mejor es no dejar acceder a la aplicación a quienes no actualizan su navegador, entiendo que haya quien utiliza navegadores antiguos por razones extrañas; por eso siempre van bien este tipo de &#8220;hacks&#8221; que ensucian el código y frenan la mejora de la web.</p>
<h2  class="related_post_title">Articulos relacionados</h2><ul class="related_post"><li><a href="http://www.emm-gfx.net/2010/02/obtener-la-url-que-se-esta-visitando-con-php/" title="Obtener la URL que se esta visitando con PHP">Obtener la URL que se esta visitando con PHP</a> (0)</li><li><a href="http://www.emm-gfx.net/2009/12/comprobar-la-validez-de-un-dominio-con-php/" title="Comprobar la validez de un dominio con PHP">Comprobar la validez de un dominio con PHP</a> (0)</li><li><a href="http://www.emm-gfx.net/2009/12/hydrax-skyx-y-paradise-engine/" title="Hydrax, Skyx y Paradise Engine">Hydrax, Skyx y Paradise Engine</a> (1)</li><li><a href="http://www.emm-gfx.net/2009/11/eliminar-posicion-de-un-array-en-php/" title="Eliminar posición de un array en PHP">Eliminar posición de un array en PHP</a> (2)</li><li><a href="http://www.emm-gfx.net/2009/11/ui-is-the-killer-feature/" title="UI is the killer feature">UI is the killer feature</a> (0)</li><li><a href="http://www.emm-gfx.net/2009/11/str_replace-de-php-en-javascript/" title="str_replace() de PHP en Javascript">str_replace() de PHP en Javascript</a> (0)</li><li><a href="http://www.emm-gfx.net/2009/08/quitar-el-borde-de-los-input-con-foco-en-safari-y-chrome/" title="Quitar el borde de los input con foco en Safari y Chrome">Quitar el borde de los input con foco en Safari y Chrome</a> (1)</li><li><a href="http://www.emm-gfx.net/2009/07/centrar-texto-en-vertical/" title="Centrar texto en vertical">Centrar texto en vertical</a> (1)</li><li><a href="http://www.emm-gfx.net/2009/07/pngfix-js-para-internet-explorer-7/" title="PNGfix.js para Internet Explorer">PNGfix.js para Internet Explorer</a> (0)</li><li><a href="http://www.emm-gfx.net/2009/01/retrasar-eventos-y-efectos-de-jquery/" title="Retrasar eventos y efectos de jQuery">Retrasar eventos y efectos de jQuery</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.emm-gfx.net/2009/07/inline-block-cross-browser/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
