<?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>pon css en tu vida! &#187; CSS</title>
	<atom:link href="http://blog.joanfernandez.es/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.joanfernandez.es</link>
	<description>css, html, javascript, php y mucho mas...</description>
	<lastBuildDate>Fri, 23 Jul 2010 12:28:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Señalizar el idioma de los enlaces mediante CSS.</title>
		<link>http://blog.joanfernandez.es/2009/07/senalizar-el-idioma-de-los-enlaces-mediante-css/</link>
		<comments>http://blog.joanfernandez.es/2009/07/senalizar-el-idioma-de-los-enlaces-mediante-css/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 15:14:52 +0000</pubDate>
		<dc:creator>Joan</dc:creator>
				<category><![CDATA[Accesibilidad]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Cómo se hizo]]></category>
		<category><![CDATA[enlaces]]></category>

		<guid isPermaLink="false">http://blog.joanfernandez.es/?p=311</guid>
		<description><![CDATA[Todos estamos acostumbrados a ver señalizados los enlaces externos con la típica flecha.
Algo no tan común, y que quería añadir al blog desde el principio, era la de señalizar el idioma de los enlaces externos. Desgraciadamente, en el mundo web el 80% de los contenidos de calidad están en ingles, y hoy en día todavía [...]]]></description>
			<content:encoded><![CDATA[<p>Todos estamos acostumbrados a ver señalizados los enlaces externos con la típica flecha.</p>
<p>Algo no tan común, y que quería añadir al blog desde el principio, era la de señalizar el idioma de los enlaces externos. Desgraciadamente, en el mundo web el 80% de los contenidos de calidad están en ingles, y hoy en día todavía hay gente a la que esto le supone un problema.</p>
<p>Por ello, he decidido que en este blog se señalizarán aquellos enlaces que lleven a páginas en otros idiomas que no sean castellano, tanto por código como visualmente.</p>
<p>Para señalizar el idioma en del enlace mediante el HTML, es realmente sencillo. Tan solo deberemos utilizar el atributo <em><strong>hreflag</strong></em></p>
<pre class="brush: xml;">
&lt;a href=&quot;#&quot; title=&quot;Titulo del enlace&quot; hreflang=&quot;en-US&quot;&gt;Enlace&lt;/a&gt;
</pre>
<p>El atributo <em>hreflang </em>proporciona a los agentes de usuario información sobre el idioma del recurso del otro extremo del vínculo, igual que el atributo <em>lang </em>proporciona información sobre el idioma del contenido o de los valores de los atributos de un elemento.</p>
<p>Ahora, para mostrar la bandera del idioma, utilizaremos el pseudo-selector <em>:after</em> junto con el selector <em>[attr|=val]</em></p>
<pre class="brush: css;">
a[hreflang|='en']:after {
content: url(images/gb.png);
margin-left: 3px;
vertical-align: middle;
}
</pre>
<p>El selector <em>[attr|=val]</em> se utiliza para seleccionar elementos cuyo atributo sea exactamente &#8220;val&#8221; o empiece por &#8220;val&#8221; seguido inmediatamente por un guión &#8220;-&#8221;. Este selector se creó para utilizarlo en el atributo hreflang de los elementos a, por lo que si fue creado especialmente para esto, ¿no vamos a desperdiciarlo, verdad?</p>
<p>Marcando nuestro html correctamente, y mediante una sencilla regla de CSS, ya tendremos señalizados aquellos enlaces que, en este caso, dirijan a páginas en inglés.</p>
<p>Un ejemplo:<br />
<a title="Enlace a google.es, en castellano" hreflang="es-ES" href="http://www.google.es/">Enlace a google.es, en castellano</a><br />
<a title="Enlace a la W3C, en inglés" hreflang="en-US" href="http://www.w3.org/">Enlace a la W3C, en inglés</a></p>
<p><strong>Documentación.</strong></p>
<p><a href="http://www.w3.org/TR/CSS2/selector.html#attribute-selectors" title="Selectores por atributos en CSS" hreflang="en-US">Selectores por atributos en CSS</a></p>
<p><a href="http://html.conclase.net/w3c/html401-es/struct/links.html#h-12.1.5" title="Vínculos en HTML" hreflang="es-ES">Vínculos en HTML</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joanfernandez.es/2009/07/senalizar-el-idioma-de-los-enlaces-mediante-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sistema de rating con jQuery.</title>
		<link>http://blog.joanfernandez.es/2009/07/sistema-de-rating-con-jquery/</link>
		<comments>http://blog.joanfernandez.es/2009/07/sistema-de-rating-con-jquery/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 10:10:27 +0000</pubDate>
		<dc:creator>Joan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Cómo se hizo]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[rating]]></category>
		<category><![CDATA[tutoriales]]></category>

		<guid isPermaLink="false">http://blog.joanfernandez.es/?p=289</guid>
		<description><![CDATA[Uno de los primeros posts que escribí en este blog, fue un tutorial para crear un sistema de valoración por css.
Ese sistema nos puede interesar cuando no necesitamos la valoración del usuario, y tan solo queremos mostrar un ranking estático de forma mucho más visual de lo que podría ser el típico numero de 1 [...]]]></description>
			<content:encoded><![CDATA[<p>Uno de los primeros posts que escribí en este blog, fue un tutorial para crear un <a title="Sistema de valoración por css" href="http://blog.joanfernandez.es/2009/05/sistema-de-valoracion-por-css/">sistema de valoración por css</a>.</p>
<p>Ese sistema nos puede interesar cuando no necesitamos la valoración del usuario, y tan solo queremos mostrar un ranking estático de forma mucho más visual de lo que podría ser el típico numero de 1 a 5.</p>
<p>Hoy, para cerrar el círculo, vamos a ver como crear otro sistema de valoración, esta vez utilizando jQuery.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-290" title="sistema-rating-jquery" src="http://blog.joanfernandez.es/wp-content/uploads/2009/07/sistema-rating-jquery.png" alt="sistema-rating-jquery" width="550" height="339" /></p>
<p style="text-align: center;"><a title="Ver ejemplo valoración jQuery" href="http://blog.joanfernandez.es/ejemplos/valoracion-jquery/">- VER DEMO -</a> | <a title="Descargar archivos tutorial" href="http://blog.joanfernandez.es/ejemplos/tutorial-valoracion-jquery.rar">- DESCARGAR EJEMPLO -</a></p>
<p><span id="more-289"></span></p>
<h3>Creando el HTML</h3>
<p>El código HTML necesario es muy simple:</p>
<pre class="brush: xml;">
&lt;h1&gt;Test rating jQuery&lt;/h1&gt;
&lt;div id=&quot;rating&quot;&gt;
&lt;span class=&quot;moving-bg&quot;&gt;&amp;nbsp;&lt;/span&gt;
&lt;span&gt;&amp;nbsp;&lt;/span&gt;
&lt;/div&gt;
&lt;div id=&quot;status2&quot;&gt;8.0&lt;/div&gt;
&lt;div id=&quot;msg&quot;&gt;&lt;/div&gt;
</pre>
<p>Necesitamos 2 capas, una para la barra (<em>rating</em>), otra para el valor numérico de la votación (<em>status2</em>). La tercera capa (<em>msg</em>) es simplemente para mostrar al usuario la votación que ha realizado, y es totalmente prescindible.</p>
<p>Como veis, el código no es demasiado semántico, pero es algo que se puede perdonar en favor de una mayor interactividad por parte del usuario.</p>
<p>Los resultados, por ahora, <a title="Ver ejemplo valoración jQuery - Paso 1" href="http://blog.joanfernandez.es/ejemplos/valoracion-jquery/index-html.html">no son espectaculares</a>.</p>
<h3>Añadiendo CSS.</h3>
<p>Para formar la &#8220;rejilla&#8221; de valoración, necesitaremos 2 imágenes: <a title="Rejilla" href="http://blog.joanfernandez.es/ejemplos/valoracion-jquery/images/grid.png">la rejilla</a> y el <a title="Fondo degradado" href="http://blog.joanfernandez.es/ejemplos/valoracion-jquery/images/rainbow.png">fondo con el degradado</a>.</p>
<p>La idea es la siguiente:</p>
<p><img class="aligncenter size-full wp-image-293" title="esquema" src="http://blog.joanfernandez.es/wp-content/uploads/2009/07/esquema.png" alt="esquema" width="411" height="145" /><em>rainbow.png</em> y <em>grid.png</em> son imágenes de fondo para el <em>div#rating </em>y el segundo <em>span</em>, respectivamente. El <em>span.moving-bg</em>, situado en medio de los dos, es el que iremos moviendo dependiendo de la posición del cursor, o del valor de la votación.</p>
<p>Al desplazar el span gris,  a través de las transparencias de grid.png se podrá ver el degradado que hay como fondo, dando la sensación de que son las &#8220;celdas&#8221; de grid.png las que se van &#8220;llenando&#8221;.</p>
<p>El CSS quedaría así:</p>
<pre class="brush: css;">
#rating {
background: transparent url(images/rainbow.png) 0 0 no-repeat;
width: 216px;
height: 41px;
float: left;
position: relative;
z-index: 2;
overflow: hidden;
cursor: pointer;
}
#rating span{
display: block;
width: 216px;
height: 41px;
background: transparent url(images/grid.png) 0 0 no-repeat;
position: relative;
z-index: 1;
}
#rating span.moving-bg{
position: absolute;
top:0;
left:0;
background-image: none;
background-color: #CCC;
}
#status2 {
width: 50px;
float: left;
border: 1px solid #ccc;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
-khtml-border-radius: 5px;
font-size: 2em;
text-align: center;
font-weight: bold;
margin-left: 10px;
}
#msg {
clear: both;
}
</pre>
<p>Después aplicar los estilos del CSS, el <a title="Ver ejemplo valoración jQuery - Paso 2" href="http://blog.joanfernandez.es/ejemplos/valoracion-jquery/index-css.html">resultado mejora notablemente</a>.</p>
<h3>Dale vida con jQuery</h3>
<p>Ahora, lo tenemos todo ya preparado para añadir el &#8220;toque mágico&#8221; con jQuery, y convertir esto en un sistema de valoración como esperamos.</p>
<p>Analizando la situación, nos damos cuenta de que tendremos cuatro escenarios diferentes:</p>
<ol>
<li>Carga de la página</li>
<li>El usuario sitúa el cursor encima de la barra.</li>
<li>El usuario hace clic para emitir su voto.</li>
<li>El usuario quita el cursor de la barra.</li>
</ol>
<p>Sabemos que una tarea que tendremos que repetir con frecuencia es la de actualizar la posición del fondo gris, por lo tanto vamos a crear una sencilla función, para que nuestro código esté lo más limpio posible.</p>
<pre class="brush: jscript;">
/**
 * Mueve la capa de &quot;color&quot; para que se adapte al valor
 * pasado.
 * @param valor int
 * @param tamanyo_capa int
 */
function actualizarPos (valor, tamanyo_capa) {
var p = Math.round(valor * tamanyo_capa / 10);
$('#rating span.moving-bg').animate( { left: p }, 500 );
}
</pre>
<p>actualizarPos tan solo actualiza, dependiendo del tamaño de la capa contenedora, la posición del fondo gris, dependiendo de la valoración (valor).<br />
Nos valdremos de la función de jQuery <strong>document.ready</strong>, para ejecutar nuestro código cuando ya el DOM esté cargado:</p>
<pre class="brush: jscript;">
$(document).ready( function() {
// Obtenemos el valor inicial
var valoracion_defecto = parseFloat($('#status2').html());
// Obtenemos el tamaño del div
var w = $('#rating').css('width');
// eliminamos el px
var width_div = parseInt(w.slice(0,w.length-2));

// Al usuario siempre mostraremos una cifra con un solo decimal
var valoracion_defecto_num = valoracion_defecto.toPrecision(2);
actualizarPos(valoracion_defecto, width_div);

   $(&quot;#rating&quot;).mousemove(function(e){

// Obtenemos la posición del cursor dentro del elemento
var x = e.pageX - this.offsetLeft;
// Desplazamos la barra gris hasta esa posición
$('#rating span.moving-bg').css('left', x);
// Actualizamos el valor numérico
// Este valor siempre será un entero
$('#status2').html(Math.round(x*10/width_div));

   });
   $(&quot;#rating&quot;).click(function(e){
// Obtenemos la posicion del cursor dentro del elemento.
var x = e.pageX - this.offsetLeft;
// Obtenemos el resultado de la votación
var r = Math.round(x*100/width_div/10);

// Actualizamos el valor numerico
valoracion_defecto = (valoracion_defecto + r) / 2;
// lo mostramos en pantalla, siempre con un solo decimal
valoracion_defecto_num = valoracion_defecto.toPrecision(2);
$('#status2').html(valoracion_defecto_num);

// Actualizamos la posición de la barra gris
actualizarPos(valoracion_defecto, width_div);
// Mostramos el mensaje al usuario de su voto.
$('#msg').html(&quot;Has votado: &quot; + r);
   });

   $(&quot;#rating&quot;).mouseout(function(e){
// Actualizamos el valor numérico al que pertenece
$('#status2').html(valoracion_defecto_num);
// Actualizamos la posición de la barra gris
actualizarPos(valoracion_defecto, width_div);
   });

});
</pre>
<p>Dividimos el código en cuatro bloques:<br />
<strong>Al cargar la página</strong>, obtenemos el valor por defecto de la votación y posicionamos la barra gris dependiendo del valor obtenido.<br />
La valoración que se muestra al usuario siempre será una cifra con 1 decimal, por lo que utilizamos la función <strong>toPrecision()</strong>.</p>
<p><strong>Cuando el usuario situé el cursor encima del elemento</strong>, se ejecutará la función <strong>mousemove</strong>. En este caso, obtenemos la posición del cursor dentro del elemento, y movemos la barra gris a la posición del cursor. También actualizamos el valor numérico, que deberá ser un entero.</p>
<p><strong>Cuando el usuario mueva el cursor fuera de la barra (<em>mouseout</em>)</strong>, esta volverá a tomar el valor del campo numérico por defecto.</p>
<p><strong>Si el usuario hace click sobre la barra (<em>click</em>)</strong>, lo tomaremos como que quiere realizar una valoración. Entonces, actualizaremos el valor para hacer la media entre el valor existente, y su votación.<br />
Si asociamos el sistema a una base de datos, es en este método donde deberemos realizar la consulta de actualización mediante AJAX. Para este tutorial, nos conformaremos con actualizar el valor en pantalla, y que se vea reflejado en la barra.</p>
<p>Utilizando los métodos <strong>mousemove</strong>, <strong>mouseout </strong>y <strong>click</strong> de jQuery, cubrimos todos los posibles estados por los que puede pasar nuestro sistema de valoración, y con <strong>pageX </strong>y <strong>offsetLeft</strong>, seremos capaces de conocer la posición del cursor dentro del elemento.</p>
<p>Cómo conectar este sistema a una base de datos, y registrar las votaciones mediante AJAX, lo dejaremos para un próximo capítulo <img src='http://blog.joanfernandez.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a title="Ver ejemplo valoración jQuery" href="http://blog.joanfernandez.es/ejemplos/valoracion-jquery/">- VER DEMO -</a><br />
<a title="Descargar archivos tutorial" href="http://blog.joanfernandez.es/ejemplos/tutorial-valoracion-jquery.rar">- DESCARGAR EJEMPLO -</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joanfernandez.es/2009/07/sistema-de-rating-con-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Phoenix. Edita y prueba CSS y javascript online en Firefox.</title>
		<link>http://blog.joanfernandez.es/2009/07/phoenix-edita-y-prueba-css-y-javascript-online-en-firefox/</link>
		<comments>http://blog.joanfernandez.es/2009/07/phoenix-edita-y-prueba-css-y-javascript-online-en-firefox/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 09:45:57 +0000</pubDate>
		<dc:creator>Joan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Maquetación]]></category>
		<category><![CDATA[extensión]]></category>

		<guid isPermaLink="false">http://blog.joanfernandez.es/?p=278</guid>
		<description><![CDATA[Aunque no creo que existan datos oficiales, creo que si no todo el mundo, el 95% de los que nos dedicamos al mundo web utilizamos Firebug.
Personalmente, ¡no soy capaz de imaginar cómo maquetar una web sin utilizarlo!
Una de las funcionalidades que echo en falta es poder ver el CSS en formato plano. Me explico:
Cuando durante [...]]]></description>
			<content:encoded><![CDATA[<p>Aunque no creo que existan datos oficiales, creo que si no todo el mundo, <strong>el 95% de los que nos dedicamos al mundo web utilizamos Firebug</strong>.<br />
Personalmente, ¡no soy capaz de imaginar cómo maquetar una web sin utilizarlo!</p>
<p>Una de las funcionalidades que echo en falta es poder ver el CSS en formato plano. Me explico:<br />
Cuando durante la maquetación modificas propiedades de 4 o 5 elementos, después me resulta muy engorroso tener que acordarme de qué he hecho, y dónde.<br />
Y, ¿a que viene todo esto?</p>
<p>Ayer descubrí una <strong>extensión para firefox</strong>, que si bien no está destinada a reemplazar a firebug, puede ser un gran complemento.</p>
<p><a title="Phoenix. Extensión para Firefox" href="https://addons.mozilla.org/es-ES/firefox/addon/11708">Phoenix</a> permite editar el código CSS y Javascript de cualquier web, y ejecutar esas modificaciones para observar los resultados. También podremos ver el código HTML, tanto el original como el generado después de ejecutar el javascript. Eso sí, no podemos hacer modificaciones en el HTML.</p>
<p><a href="http://blog.joanfernandez.es/wp-content/uploads/2009/07/Phoenix.png"><img class="aligncenter size-full wp-image-286" title="Phoenix. Complemento para Firefox" src="http://blog.joanfernandez.es/wp-content/uploads/2009/07/Phoenix.png" alt="Phoenix. Complemento para Firefox" width="249" height="311" /></a></p>
<p>Pero eso no es todo, Phoenix nos muestra los archivos CSS y js que se cargan en la página y su tamaño. Su <strong>editor de código, que colorea la sintaxis, es capaz de comprimir y minificar cualquier CSS o javascript</strong>, y también hacerlo a la inversa. <strong>Cualquier script de javascript comprimido (con packer ) o minificado (minify), Phoenix es capaz de descomprimirlo para que sea perfectamente legible</strong>.</p>
<p>Podremos ver en vivo los cambios que realicemos, tanto en CSS como en javascript. No tan &#8220;en vivo&#8221; como con Firebug, pero sí después de activarlo a través de &#8220;Execute CSS&#8221; o &#8220;Execute JS&#8221;.</p>
<p>Por último, Phoenix también permite guardar en nuestro ordenador los archivos.</p>
<p>Recordad que Phoenix está todavía en <a title="Experimental Addons" href="https://addons.mozilla.org/es-ES/firefox/pages/faq#experimental-addons" hreflang="en-US" hreflang="en-US">versión experimiental</a>, por lo que, dicho finamente, tiene licencia para pegar todos los petardazos que quiera <img src='http://blog.joanfernandez.es/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Sin embargo, a mí todavía no me ha fallado en los días que llevo utilizándola.</p>
<p>Eso sí, aún tiene un problema con la codificación de caracteres, al menos en los CSS: <em>&gt;</em> que convierte en <em>&amp;gt;</em> , etc&#8230;</p>
<p>Sin embargo, es una extensión totalmente recomendable, con la que se pueden hacer grandes cosas si se acompaña con firebug, y alguna que otro add-on interesante.</p>
<p>Animaos a probarla, y contadme que os ha parecido.</p>
<p><a title="Project Phoenix" href="http://www.pc-facile.com/projects/phoenix/" hreflang="en-US">Web del proyecto Phoenix.</a></p>
<p><a title="Phoenix. Extensión para Firefox" href="https://addons.mozilla.org/es-ES/firefox/addon/11708">Descarga la extensión para Firefox Phoenix.</a></p>
<p>Vía <a title="Perfil de vladocar" href="http://twitter.com/vladocar" hreflang="en-US">@vladocar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joanfernandez.es/2009/07/phoenix-edita-y-prueba-css-y-javascript-online-en-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 interesantes técnicas CSS.</title>
		<link>http://blog.joanfernandez.es/2009/06/10-interesantes-tecnicas-css/</link>
		<comments>http://blog.joanfernandez.es/2009/06/10-interesantes-tecnicas-css/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 19:16:47 +0000</pubDate>
		<dc:creator>Joan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Maquetación]]></category>

		<guid isPermaLink="false">http://blog.joanfernandez.es/?p=125</guid>
		<description><![CDATA[Vía ribosomatic encuentro un artículo muy interesante sobre esas técnicas CSS que, aunque no sepamos al dedillo, es interesante conocerlas, ya que algún día vamos a necesitarlas.
Concretamente, el autor a destacado las siguientes:

inline-block cross browser.
Cómo desactivar el autoresize de los textarea en safari.
Esquinas redondeadas cross browser.
min-height cross browser.
Imágenes con bordes &#8220;internos&#8221;, para no romper el [...]]]></description>
			<content:encoded><![CDATA[<p>Vía <a title="RiboSomatic" rel="external" hreflang="es-ES" href="http://www.ribosomatic.com/">ribosomatic</a> encuentro un artículo muy interesante sobre esas técnicas CSS que, aunque no sepamos al dedillo, es interesante conocerlas, ya que algún día vamos a necesitarlas.</p>
<p>Concretamente, el autor a destacado las siguientes:</p>
<ul>
<li>inline-block cross browser.</li>
<li>Cómo desactivar el autoresize de los textarea en safari.</li>
<li>Esquinas redondeadas cross browser.</li>
<li>min-height cross browser.</li>
<li>Imágenes con bordes &#8220;internos&#8221;, para no romper el layout.</li>
<li>Elementos con transparencia cross browser.</li>
<li>Lightbox mediante CSS.</li>
<li>Tooltips con CSS.</li>
<li>Modificar el color de fondo al seleccionar texto (solo Safari y Firefox)</li>
<li>Añadir un icono diferente a cada tipo de enlace.</li>
</ul>
<p>Como veis, algunas están en el menú diario de cualquier maquetador, y otras simplemente son más &#8220;específicas&#8221;&#8230; pero estoy seguro que todas pueden llegar a ser muy útiles en el momento oportuno.</p>
<p><a title="10 css hacks and techniques" rel="external" hreflang="en-US" href="http://www.catswhocode.com/blog/10-astonishing-css-hacks-and-techniques/">Artículo completo en Cats Who Code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joanfernandez.es/2009/06/10-interesantes-tecnicas-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe BrowserLab. Revisa tu maqueta en distintos navegadores.</title>
		<link>http://blog.joanfernandez.es/2009/06/adobe-browserlab-revisa-tu-maqueta-en-distintos-navegadores/</link>
		<comments>http://blog.joanfernandez.es/2009/06/adobe-browserlab-revisa-tu-maqueta-en-distintos-navegadores/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 12:56:54 +0000</pubDate>
		<dc:creator>Joan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Maquetación]]></category>
		<category><![CDATA[browserlab]]></category>
		<category><![CDATA[cross browser]]></category>

		<guid isPermaLink="false">http://blog.joanfernandez.es/?p=82</guid>
		<description><![CDATA[
BrowserLab es una nueva herramienta de Adobe que proporciona bajo demanda, imágenes renderizadas de como se verán nuestras webs en distintos navegadores, corriendo en sistemas operativos diferentes.
Actualmente, soporta los siguientes navegadores:

Firefox 2.X y 3.X (Windows XP y Mac OS X)
Internet Explorer 6.X y 7.X (Windows XP)
Safari 3.X (Mac OS X)

Las capturas realizadas, pueden verse una [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-86" title="adobe_browserlab" src="http://blog.joanfernandez.es/wp-content/uploads/2009/06/adobe_browserlab.jpg" alt="adobe_browserlab" width="244" height="46" /></p>
<p><strong>BrowserLab</strong> es una nueva herramienta de Adobe que proporciona bajo demanda, imágenes renderizadas de como se verán nuestras webs en distintos navegadores, corriendo en sistemas operativos diferentes.</p>
<p>Actualmente, soporta los siguientes navegadores:</p>
<ul>
<li>Firefox 2.X y 3.X (Windows XP y Mac OS X)</li>
<li>Internet Explorer 6.X y 7.X (Windows XP)</li>
<li>Safari 3.X (Mac OS X)</li>
</ul>
<p>Las capturas realizadas, pueden verse una por una, comparando los resultados de dos navegadores o superponiendo los resultados mediante transparencias que podemos ajustar a nuestro gusto.</p>
<p><a href="http://blog.joanfernandez.es/wp-content/uploads/2009/06/adobe_browserlab_screenshot.jpg"><img class="alignnone size-medium wp-image-90" title="adobe_browserlab_screenshot" src="http://blog.joanfernandez.es/wp-content/uploads/2009/06/adobe_browserlab_screenshot-300x208.jpg" alt="adobe_browserlab_screenshot" width="300" height="208" /></a></p>
<p>BrowserLab también es capaz de guardar la configuración de navegadores que nos interesa.</p>
<p>Además, para rematar la faena, BrowserLab puede integrarse con Dreamweaver CS4 mediante una extensión, que nos permitirá comparar nuestra maquetación en local.</p>
<p><a title="Adobe BrowserLab en Adobe Labs" rel="extern" hreflang="en-US" href="http://labs.adobe.com/technologies/browserlab/">Más información sobre BrowserLab (ingles)</a></p>
<p><a title="Adobe BrowserLab" rel="extern" hreflang="en-US" href="http://browserlab.adobe.com/">Prueba BrowserLab</a></p>
<p>Via | <a title="vladocar en Twitter" rel="extern" href="http://twitter.com/vladocar">@vladocar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joanfernandez.es/2009/06/adobe-browserlab-revisa-tu-maqueta-en-distintos-navegadores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hartija. Framework CSS para imprimir.</title>
		<link>http://blog.joanfernandez.es/2009/06/hartija-framework-css-para-imprimir/</link>
		<comments>http://blog.joanfernandez.es/2009/06/hartija-framework-css-para-imprimir/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 18:32:15 +0000</pubDate>
		<dc:creator>Joan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://blog.joanfernandez.es/?p=69</guid>
		<description><![CDATA[Que a estas alturas de la vida, todos utilizamos CSS para asignar los estilos en nuestra web, es sabido por todos. Lo que si podemos tener más olvidado, es crear una hoja de estilos para impresión.
Las hojas de estilo para impresión, no tienen ninguna diferencia a las tradicionales, salvo por cómo las llamamos en el [...]]]></description>
			<content:encoded><![CDATA[<p>Que a estas alturas de la vida, todos utilizamos <a title="CSS" href="http://blog.joanfernandez.es/category/css/">CSS</a> para asignar los estilos en nuestra web, es sabido por todos. Lo que si podemos tener más olvidado, es crear una hoja de estilos para impresión.</p>
<p>Las hojas de estilo para impresión, no tienen ninguna diferencia a las tradicionales, salvo por cómo las llamamos en el HTML.</p>
<pre class="brush: xml;">
&lt;!-- Hoja de estilos para web --&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;
&lt;!-- Hoja de estilos para impresión --&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;print.css&quot; type=&quot;text/css&quot; media=&quot;print&quot; /&gt;
</pre>
<p>Vladimir Carrer, del que ya hablé hace unos días cuando os comentaba el <a title="Framework CSS para mejorar legibilidad en la web" href="http://blog.joanfernandez.es/2009/05/mejora-la-legibilidad-de-tu-web-con-better-web-readability/">framework para css para mejorar la legibilidad de la web</a>, resulta que también es autor de <strong>Hartija</strong>, un CSS que adapta las páginas para la impresión.</p>
<p><strong>Hartija</strong>, que ya está funcionando en este blog (podeis comprobarlo previsualizando para impresión este post) tiene un funcionamiento bastante correcto. Elimina colores e imágenes de fondo, establece distintos tamaños de al texto dependiendo de su importancia (H1&#8230;H6), y quizás lo más importante,<strong> inserta automáticamente después de los enlaces la url de destino</strong>.</p>
<p>Con todo, creo que <strong>Hartija </strong>se va a convertir en otro de los indispensables para mis proyectos.</p>
<p><a title="Hartija - Css Print Framework" rel="extern" hreflang="en-US" href="http://code.google.com/p/hartija/">Descargar Hartija</a></p>
<p><strong>Blog del autor |</strong> <a title="Vladimir Carrer" rel="extern" hreflang="en-US" href="http://www.vcarrer.com">Vladimir Carrer</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joanfernandez.es/2009/06/hartija-framework-css-para-imprimir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>X-UA-Compatible. Meta etiqueta para Internet Explorer 8</title>
		<link>http://blog.joanfernandez.es/2009/05/x-ua-compatible-meta-etiqueta-para-internet-explorer-8/</link>
		<comments>http://blog.joanfernandez.es/2009/05/x-ua-compatible-meta-etiqueta-para-internet-explorer-8/#comments</comments>
		<pubDate>Wed, 27 May 2009 22:41:31 +0000</pubDate>
		<dc:creator>Joan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://blog.joanfernandez.es/?p=44</guid>
		<description><![CDATA[Con el lanzamiento de Internet Explorer 8, los maquetadores web nos encontramos ante un nuevo reto en nuestro trabajo diario, un nuevo navegador de Microsoft que, por suerte o por desgracia, poco o nada tiene que ver con sus antecesores.
Para los próximos desarrollos la estrategia a seguir está clara, asegurar nuestras maquetas en IE 7  [...]]]></description>
			<content:encoded><![CDATA[<p>Con el lanzamiento de Internet Explorer 8, los maquetadores web nos encontramos ante un nuevo reto en nuestro trabajo diario, un nuevo navegador de Microsoft que, por suerte o por desgracia, poco o nada tiene que ver con sus antecesores.</p>
<p>Para los próximos desarrollos la estrategia a seguir está clara, asegurar nuestras maquetas en IE 7  y 8. Pero, ¿qué pasa con nuestros proyectos que ya están en producción? ¿Partimos desde cero para crear una hoja de estilos que funcione correctamente en IE 8?</p>
<p>La compañia de Redmond nos ha tenido en cuenta (aunque sea por primera vez) a nosotros, sufridos maquetadores y se ha sacado de la manga una nueva meta etiqueta, concretamente esta:</p>
<pre class="brush: xml;">
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=7&quot; /&gt;
</pre>
<p>Con esta simple linea, forzaremos al motor de IE 8 a renderizar como lo hace  IE 7, haciendo las mismas barbaridades que su predecesor e incumpliendo exactamente los mismos estándares. Lo que hará que todas aquellas webs maquetadas a la perfección en IE 7, se vean exactamente igual en la nuva versión del navegador de Microsoft.</p>
<p>Su funcionamiento es muy simple. Tan solo debemos añadir la meta etiqueta en la cabecera del HTML, pero ojo,<strong> la etiqueta deberá estar obligatoriamente justo después de la apertura de la cabecera (&lt;head&gt;)</strong>. Si la situamos en cualquier otro sitio del documento, no funcionará.</p>
<p>Veamos un ejemplo de donde insertarla utilizando el html de este blog:</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; dir=&quot;ltr&quot; lang=&quot;en-US&quot;&gt;

&lt;head profile=&quot;http://gmpg.org/xfn/11&quot;&gt;
&lt;!-- ES IMPRESCIDIBLE QUE LA ETIQUETA X-UA-COMPATIBLE SEA LA PRIMERA QUE APAREZCA EN EL HEADER --&gt;
&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=7&quot; /&gt;
&lt;!-- ES IMPRESCIDIBLE QUE LA ETIQUETA X-UA-COMPATIBLE SEA LA PRIMERA QUE APAREZCA EN EL HEADER --&gt;

&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&lt;title&gt;X-UA-Compatible. Meta etiqueta para Internet Explorer 8 | pon css en tu vida!&lt;/title&gt;
</pre>
<p>Modificando una sola línea de nuestros antiguos proyectos, conseguiremos que el nuevo Internet Explorer 8 muestre correctamente el fruto de nuestras horas de maquetación para ese suplicio llamado IE7.</p>
<p><strong>¿Y tú? ¿Conocías y/o utilizas ya la etiqueta X-UA-Compatible para Explorer?</strong></p>
<p>Fuente: <a href="http://netadictos.weblog.discapnet.es/articulo.aspx?idA=694">Netadictos</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joanfernandez.es/2009/05/x-ua-compatible-meta-etiqueta-para-internet-explorer-8/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Sistema de valoración por CSS.</title>
		<link>http://blog.joanfernandez.es/2009/05/sistema-de-valoracion-por-css/</link>
		<comments>http://blog.joanfernandez.es/2009/05/sistema-de-valoracion-por-css/#comments</comments>
		<pubDate>Wed, 27 May 2009 17:51:26 +0000</pubDate>
		<dc:creator>Joan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Cómo se hizo]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[sprites]]></category>
		<category><![CDATA[tutoriales]]></category>

		<guid isPermaLink="false">http://blog.joanfernandez.es/?p=14</guid>
		<description><![CDATA[Tener un sistema visual de valoración en nuestra web puede darle el toque diferente a nuestro proyecto.
Durante la maquetación de mi portfolio, me propuse utilizar este método de valoración para representar mi participación en los proyectos que he participado.
La idea.
El sistema es el típico método de valoraciones que todos conocemos (las tan conocidas estrellitas). Dándole [...]]]></description>
			<content:encoded><![CDATA[<p>Tener un sistema visual de valoración en nuestra web puede darle el toque diferente a nuestro proyecto.</p>
<p>Durante la maquetación de mi portfolio, me propuse utilizar este método de valoración para representar mi participación en los proyectos que he participado.</p>
<h3>La idea.</h3>
<p>El sistema es el típico método de valoraciones que todos conocemos (las tan conocidas estrellitas). Dándole &#8220;media&#8221; vuelta al diseño, cambiando las estrellas por asteríscos, podemos obtener algo así:</p>
<p style="text-align: center;"><img class="size-full wp-image-17 aligncenter" title="Final" src="http://blog.joanfernandez.es/wp-content/uploads/2009/05/final.png" alt="Final" width="205" height="203" /></p>
<p style="text-align: center;"><a href="http://blog.joanfernandez.es/ejemplos/valoracion-css/"> &#8211; VER EJEMPLO FUNCIONANDO -<br />
</a></p>
<p><span id="more-14"></span></p>
<h3>Ejecución</h3>
<p>A la hora de convertir el diseño en código HTML semántico, lo más adecuado es utilizar la etiqueta <strong>&lt;dl&gt;</strong>, para definir una lista compuesta por términos (<strong>&lt;dt&gt;</strong>) y descripciones (&lt;<strong>dd&gt;</strong>).  Veamos el HTML necesario para crear esta lista:</p>
<pre class="brush: xml;">
&lt;dl&gt;
&lt;dt&gt;xhtml&lt;/dt&gt;
&lt;dd class=&quot;star stars5&quot; title=&quot;Total&quot;&gt;Total&lt;/dd&gt;

&lt;dt&gt;css&lt;/dt&gt;
&lt;dd class=&quot;star stars4&quot; title=&quot;Muy significativa&quot;&gt;Muy significativa&lt;/dd&gt;

&lt;dt&gt;zendFramework&lt;/dt&gt;
&lt;dd class=&quot;star stars3&quot; title=&quot;Significativa&quot;&gt;Significativa&lt;/dd&gt;

&lt;dt&gt;jQuery&lt;/dt&gt;
&lt;dd class=&quot;star stars2&quot; title=&quot;Parcial&quot;&gt;Parcial&lt;/dd&gt;

&lt;dt&gt;diseño&lt;/dt&gt;
&lt;dd class=&quot;star stars1&quot; title=&quot;Puntual&quot;&gt;Puntual&lt;/dd&gt;
&lt;/dl&gt;
</pre>
<p>Observamos el código html antes de empezar con los estilos para comprobar que es perfectamente legible y comprensible sin la necesidad de CSS.</p>
<p style="text-align: center;"><img class="size-full wp-image-26 aligncenter" title="Resultado sin estilos" src="http://blog.joanfernandez.es/wp-content/uploads/2009/05/html-plano.png" alt="Resultado sin estilos" width="227" height="213" /></p>
<p>A la hora de crear las imágenes, vamos a utilizar <em>sprites</em>. Es decir, juntaremos todas las imágenes necesarias en una sola, que posicionaremos mediante CSS para obtener el resultado deseado. En el caso del diseño original, las imágenes de las &#8220;estrellas&#8221; debían tener el fondo transparente, sin embargo la versión que os muestro para que se aprecie mejor tiene color de fondo:</p>
<p style="text-align: center;"><img class="size-full wp-image-31 aligncenter" title="Sprites" src="http://blog.joanfernandez.es/wp-content/uploads/2009/05/sprites.png" alt="Sprites" width="75" height="54" /></p>
<p>Utilizar sprites para nuestras imágenes tiene como resultado más significativo la reducción de peticiones al servidor. Suponiendo que creando las cinco imágenes por separado el peso será el mismo que creando tan solo una, la mejora la encontramos en que reducimos de 5 a 1 las veces que el servidor debe entregar archivos al navegador para obtener el mismo resultado.</p>
<h4>Mejor con estilos&#8230;</h4>
<p>Es el momento de darle vida a nuestro HTML, para ello hemos dotado a los elementos de difinición (<strong>&lt;dd&gt;</strong>) de la lista con dos clases: <em>star</em> y <em>stars5</em>.</p>
<p>Con la primera clase (<em>star</em>) proporcionaremos los estilos comunes a todos los elementos: ancho, alto, imagen de fondo, etc&#8230; La segunda clase será diferente dependiendo de la valoración que queramos asignar. En este caso hay cinco posibles opciones: <em>stars5</em>, <em>stars4</em>, <em>stars3</em>, <em>stars2</em> y <em>stars1</em>. En función a esta clase, posicionaremos la imagen para obtener el resultado deseado. Por lo tanto, el CSS quedaría tal que así&#8230;</p>
<pre class="brush: css;">
.star {
width: 74px;
height: 10px;
text-indent: -9999px;
background: transparent url(bg_interface.png) 0 0 no-repeat;
margin: 0 0 16px 13px;
}
.stars5 {
background-position: -1px 0;
}
.stars4 {
background-position: -1px -11px;
}
.stars3 {
background-position: -1px -22px;
}
.stars2 {
background-position: -1px -33px;
}
.stars1 {
background-position: -1px -44px;
}
</pre>
<p>Más sencillo imposible; asignamos al elemento un tamaño fijo, movemos el texto mediante <strong>text-indent</strong> para que sea invisible al usuario, y asignamos la imagen de fondo.</p>
<p>Después, tan solo necesitamos posicionar la imagen de fondo para que se muestre la sección correspondiente. Es importante el uso del atributo <strong>title</strong>, para que el usuario conozca el significado de nuestra puntuación al pasar el cursor por encima de los asteriscos.</p>
<p><a href="http://blog.joanfernandez.es/ejemplos/valoracion-css/">- VER DEMO -</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joanfernandez.es/2009/05/sistema-de-valoracion-por-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mejora la legibilidad de tu web con Better Web Readability</title>
		<link>http://blog.joanfernandez.es/2009/05/mejora-la-legibilidad-de-tu-web-con-better-web-readability/</link>
		<comments>http://blog.joanfernandez.es/2009/05/mejora-la-legibilidad-de-tu-web-con-better-web-readability/#comments</comments>
		<pubDate>Tue, 26 May 2009 12:55:40 +0000</pubDate>
		<dc:creator>Joan</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://blog.joanfernandez.es/?p=4</guid>
		<description><![CDATA[Better Web Readability es un proyecto que intenta mejorar la legibilidad de la web a través de una librería CSS.
Alguna de sus caraterísticas a destacar:

 Tamaño por defecto de la fuente: 16px;
 Serif para encabezados, sans-serif para párrafos
 Detaca la división entre párrafos (nueva línea e indentado del nuevo párrafo)
 Mayor altura de línea
 Contraste [...]]]></description>
			<content:encoded><![CDATA[<p>Better Web Readability es un proyecto que intenta mejorar la legibilidad de la web a través de una librería CSS.</p>
<p>Alguna de sus caraterísticas a destacar:</p>
<ul>
<li> Tamaño por defecto de la fuente: 16px;</li>
<li> Serif para encabezados, sans-serif para párrafos</li>
<li> Detaca la división entre párrafos (nueva línea e indentado del nuevo párrafo)</li>
<li> Mayor altura de línea</li>
<li> Contraste entre el color de fondo y de la tipografía suavizado.</li>
</ul>
<p>También cabe destacar las recomendaciones del autor, como la de aumentar el contenido realmente importante de la página, e intentar reducir el ruido alrededor del texto (banners, enlaces, galerías, etc&#8230;). Algo muy recomendable cuando vamos a lidiar con textos largos y espesos, que en muchos casos, se hacen simplemente imposibles de leer.</p>
<p>El proyecto, alojado en <a href="http://code.google.com/p/better-web-readability-project/" target="_blank">Google Code</a>, es obra de <a href="http://www.vcarrer.com/" target="_blank">Vladimir Carrer</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.joanfernandez.es/2009/05/mejora-la-legibilidad-de-tu-web-con-better-web-readability/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
