<?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>Webmasterio &#187; Desarrollo</title>
	<atom:link href="http://www.webmasterio.com/category/desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webmasterio.com</link>
	<description>blog de desarrollo y diseño web</description>
	<lastBuildDate>Thu, 27 May 2010 19:31:39 +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>jQuery Notice: un plugin para crear notificaciones tipo Growl</title>
		<link>http://www.webmasterio.com/2010/05/12/jquery-notice-un-plugin-para-crear-notificaciones-tipo-growl/</link>
		<comments>http://www.webmasterio.com/2010/05/12/jquery-notice-un-plugin-para-crear-notificaciones-tipo-growl/#comments</comments>
		<pubDate>Wed, 12 May 2010 12:55:53 +0000</pubDate>
		<dc:creator>Iteisaburo</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[efectos]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.webmasterio.com/?p=953</guid>
		<description><![CDATA[Existen varias tecnologías para mostrar notificaciones de manera no obstrusiva en nuestros escritorios, aplicaciones o navegadores, como las que podemos ver en Ubuntu, Gravity o WinAmp. Tanto Mumbles como Growl o Snarl tienen un funcionamiento y una apariencia similar. Como esta técnica para mostrar información en directo a los usuarios en ese formato nos ha [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-left: 10px; margin-bottom: 10px; margin-right: 40px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F05%2F12%2Fjquery-notice-un-plugin-para-crear-notificaciones-tipo-growl%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F05%2F12%2Fjquery-notice-un-plugin-para-crear-notificaciones-tipo-growl%2F&amp;source=webmasterio&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f95571812165f8635ca74d5bc93682f2&amp;hashtags=efectos,jquery,plugin" height="61" width="50" /><br />
			</a>
		</div>
<p>Existen varias tecnologías para mostrar notificaciones de manera no obstrusiva en nuestros escritorios, aplicaciones o navegadores, como las que podemos ver en <strong>Ubuntu</strong>, <strong>Gravity </strong>o <strong>WinAmp</strong>. Tanto <strong>Mumbles </strong>como <strong>Growl </strong>o <strong>Snarl </strong>tienen un funcionamiento y una apariencia similar.</p>
<p><span id="more-953"></span>Como esta técnica para mostrar información en directo a los usuarios en ese formato nos ha parecido muy interesante, nos pusimos a buscar plugins de <em> </em><a href="../tag/jquery/" target="_blank"><strong>jQuery</strong></a> que consiguiesen ese efecto y encontramos unos cuantos. Sin embargo, el que más nos llamó la atención fue el plugin <strong><a href="http://sandbox.timbenniks.com/projects/jquery-notice/" target="_blank">jQuery Notice</a></strong> de Tim Benniks.</p>
<p><img class="alignnone size-full wp-image-963" title=" jQuery Notice: un plugin para crear notificaciones tipo Growl" src="http://www.webmasterio.com/wp-content/uploads/2010/05/jquery-notice-plugin-para-crear-notificaciones-tipo-growl.jpg" alt=" jQuery Notice: un plugin para crear notificaciones tipo Growl" width="580" height="239" /></p>
<h2>JavaScript</h2>
<p>Éste es el código JavaScript que se ha utilizado en el <a href="http://papermashup.com/demos/jquery-notice/" target="_blank">ejemplo</a>. El plugin simplemente amplía el <em>framework</em> jQuery, permitiéndonos activar un mensaje mediante una llamada a la función <code>noticeAdd()</code>.</p>
<p>Una característica interesante de este plugin es que nos permite agregar una clase CSS al mensaje de aviso para poder darle estilo.</p>
<p>Por ejemplo, para el mensaje de error hemos agregado la clase <code>.error</code> y en el CSS sólo hemos tenido que añadir un color de fondo.</p>
<pre class="brush: jscript;">
$(document).ready(function()
{
		jQuery.noticeAdd({
			text: 'Éste es una sencillo aviso que utiliza el plugin jQuery Notice. Haz clic en la X de la esquina para borrarlo.',
			stay: true
		});

	$('.add').click(function()
	{
		jQuery.noticeAdd({
			text: 'Este aviso hay que borrarlo haciendo clic.',
			stay: true
		});
	});

	$('.add2').click(function()
	{
		jQuery.noticeAdd({
			text: 'Este aviso se borra solo.',
			stay: false
		});
	});

		$('.add3').click(function()
	{
		jQuery.noticeAdd({
			text: '¡Esto es un aviso de error!',
			stay: false,
			type: 'error'
		});
	});

				$('.add4').click(function()
	{
		jQuery.noticeAdd({
			text: '¡Esto es un aviso de éxito!',
			stay: false,
			type: 'success'
		});
	});

	$('.remove').click(function()
	{
		jQuery.noticeRemove($('.notice-item-wrapper'), 400);
	});
});
</pre>
<h2>HTML</h2>
<pre class="brush: xml;">
&lt;ul&gt;
  &lt;li class=&quot;add&quot;&gt;Haz clic aquí para ver un aviso que tendrás que borrar&lt;/li&gt;
  &lt;li class=&quot;add2&quot;&gt;Haz clic aquí para ver un aviso que desaparece solo&lt;/li&gt;
  &lt;li class=&quot;add3&quot;&gt;Aviso de error&lt;/li&gt;
  &lt;li class=&quot;add4&quot;&gt;Aviso de éxito&lt;/li&gt;
  &lt;li class=&quot;remove&quot;&gt;Borrar todos los avisos activos&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p><a href="http://papermashup.com/demos/jquery-notice/" target="_blank"><img style="color: #ededed;" title="Ver ejemplo" src="http://www.webmasterio.com/wp-content/uploads/2010/03/botonDemo.png" alt="jQuery Notice en acción" width="162" height="42" /></a> o bien <a href="http://papermashup.com/demos/jquery-notice/jquery-notice.zip"><img style="color: #ededed;" title="Descargar archivos" src="http://www.webmasterio.com/wp-content/uploads/2010/03/botonDescarga.png" alt="jQuery Notice: un plugin para crear notificaciones tipo Growl" width="162" height="42" /></a> los archivos del plugin.</p>
<p>Fuente: <a href="http://papermashup.com/jquery-growl-notification-plugin/" target="_blank"><strong>jQuery growl notification plugin [paper mashup]</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webmasterio.com/2010/05/12/jquery-notice-un-plugin-para-crear-notificaciones-tipo-growl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo crear URLs cortas de Bit.ly usando PHP</title>
		<link>http://www.webmasterio.com/2010/05/10/como-crear-urls-cortas-de-bit-ly-usando-php/</link>
		<comments>http://www.webmasterio.com/2010/05/10/como-crear-urls-cortas-de-bit-ly-usando-php/#comments</comments>
		<pubDate>Mon, 10 May 2010 09:15:05 +0000</pubDate>
		<dc:creator>Iteisaburo</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://www.webmasterio.com/?p=936</guid>
		<description><![CDATA[Bit.ly es un estupendo servicio de acortamiento de URLs que cuenta con el importante respaldo de ser el servicio por defecto en Twitter. Destaca por su fiabilidad, las URLs tan cortas que genera, y la información que proporcionan sobre una URL dada. Hace poco que Bit.ly actualizó su API a la versión 3.0, así que [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-left: 10px; margin-bottom: 10px; margin-right: 40px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F05%2F10%2Fcomo-crear-urls-cortas-de-bit-ly-usando-php%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F05%2F10%2Fcomo-crear-urls-cortas-de-bit-ly-usando-php%2F&amp;source=webmasterio&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f95571812165f8635ca74d5bc93682f2&amp;hashtags=php,programaci%C3%B3n" height="61" width="50" /><br />
			</a>
		</div>
<p><strong><a rel="nofollow" href="http://bit.ly/">Bit.ly</a></strong> es un estupendo servicio de acortamiento de URLs que cuenta con el importante respaldo de ser el servicio por defecto en <a href="http://www.webmasterio.com/tag/twitter/" target="_blank"><strong>Twitter</strong></a>.<br />
<span id="more-936"></span></p>
<p>Destaca por su fiabilidad, las URLs tan cortas que genera, y la información que proporcionan sobre una URL dada. Hace poco que Bit.ly actualizó su API a la versión 3.0, así que vamos a mostrarte cómo puedes crear o expandir URLs cortas utilizando Bit.ly.</p>
<pre class="brush: php;">
/* devuelve la URL acortada */
function get_bitly_short_url($url,$login,$appkey,$format='txt') {
	$connectURL = 'http://api.bit.ly/v3/shorten?login='.$login.'&amp;apiKey='.$appkey.'&amp;uri='.urlencode($url).'&amp;format='.$format;
	return curl_get_result($connectURL);
}

/* devuelve la URL expandida */
function get_bitly_long_url($url,$login,$appkey,$format='txt') {
	$connectURL = 'http://api.bit.ly/v3/expand?login='.$login.'&amp;apiKey='.$appkey.'&amp;shortUrl='.urlencode($url).'&amp;format='.$format;
	return curl_get_result($connectURL);
}

/* devuelve la URL con varios datos */
function curl_get_result($url) {
	$ch = curl_init();
	$timeout = 5;
	curl_setopt($ch,CURLOPT_URL,$url);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
	$data = curl_exec($ch);
	curl_close($ch);
	return $data;
}

/* obtiene la URL corta */
$short_url = get_bitly_short_url('http://www.webmasterio.com/','webmasterio','xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');

/* obtiene la URL larga a partir de la corta */
$long_url = get_bitly_long_url($short_url,'webmasterio','xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
</pre>
<p>Todo lo que hay que hacer es pasarle tu clave de aplicación y login (hay que registrarse para los servicios de la API), la URL larga o corta, y el formato en el que quieres que te devuelva el resultado. Si sólo quieres la URL sin más información, utiliza el formato por defecto TXT. Recuperar la información en formatos XML o JSON te proporcionará muchos más datos sobre la URL.</p>
<p>Fuente: <strong><a href="http://davidwalsh.name/bitly-api-php" target="_blank">Create Bit.ly Short URLs Using PHP: API Version 3 [david walsh blog]</a></strong></p>
<p><script type="text/javascript">// < ![CDATA[
// < ![CDATA[
// < ![CDATA[
// < ![CDATA[
// < ![CDATA[
// < ![CDATA[
// < ![CDATA[
// < ![CDATA[
function delic(info) { 
			if(!info[0]) return;
			var num = info[0].total_posts;
			if(!num) return;			
			var delic = document.getElementById('delic');
			delic.innerHTML = '' + num;
			delic.style.textIndent = 0;
			delic.style.paddingLeft = '20px';
			delic.style.paddingRight = '5px';
			delic.style.textAlign = 'right';
		}
// ]]&gt;</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webmasterio.com/2010/05/10/como-crear-urls-cortas-de-bit-ly-usando-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo crear una espectacular galería de imágenes con jQuery</title>
		<link>http://www.webmasterio.com/2010/04/23/como-crear-una-espectacular-galeria-de-imagenes-con-jquery/</link>
		<comments>http://www.webmasterio.com/2010/04/23/como-crear-una-espectacular-galeria-de-imagenes-con-jquery/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 22:34:56 +0000</pubDate>
		<dc:creator>Iteisaburo</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[efectos]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://www.webmasterio.com/?p=913</guid>
		<description><![CDATA[Existe un buen número de efectos en jQuery que también pueden hacerse con CSS, como por ejemplo revelar el contenido extra de un área determinada cuando se hacer hover sobre ella con el ratón, pero con jQuery conseguimos darle un aspecto más atractivo. Este tutorial explica cómo crear una galería de imágenes con viñetas, y [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-left: 10px; margin-bottom: 10px; margin-right: 40px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F04%2F23%2Fcomo-crear-una-espectacular-galeria-de-imagenes-con-jquery%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F04%2F23%2Fcomo-crear-una-espectacular-galeria-de-imagenes-con-jquery%2F&amp;source=webmasterio&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f95571812165f8635ca74d5bc93682f2&amp;hashtags=efectos,jquery,programaci%C3%B3n" height="61" width="50" /><br />
			</a>
		</div>
<p>Existe un buen número de efectos en jQuery que también pueden hacerse con CSS, como por ejemplo revelar el contenido extra de un área determinada cuando se hacer <code>hover</code> sobre ella con el ratón, pero con jQuery conseguimos darle un aspecto más atractivo.</p>
<p>Este tutorial explica cómo crear una galería de imágenes con viñetas, y cómo conseguir que al hacer clic sobre ellas se revele la imagen completa e información adicional sobre ella.</p>
<p><span id="more-913"></span></p>
<p>El funcionamiento de este script es el siguiente:</p>
<ol>
<li>El evento se inicia al darle al botón de &#8220;Más información&#8221;</li>
<li>&#8220;Crecen&#8221; dos cosas: todo el contenedor, y el <code>div</code> que contiene la foto</li>
<li>Desaparece el botón de &#8220;Más información&#8221;</li>
<li>Aparecen el área de &#8220;Información&#8221; y el botón de cerrar</li>
</ol>
<h2>CSS</h2>
<pre class="brush: css;">
.foto-area
{
	width: 100px;
	height: 130px;
	padding: 10px;
	border: 1px solid #666;
	overflow: hidden;
	position: relative;
	margin: 10px;
	background: white;
}
#foto
{
	width: 100px;
	height: 100px;
	background: url(imagenes/mthood.jpg) center center;
	margin-bottom: 5px;
}
.info-area
{
	opacity: 0.0;
}
a.mas-info
{
	display: block;
	width: 89px;
	height: 26px;
	background: url(imagenes/masInfo.jpg);
	text-indent: -9999px;
}
a.cerrar
{
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: block;
	width: 20px;
	height: 21px;
	background: url(imagenes/botonCerrar.jpg);
	text-indent: -9999px;
}
</pre>
<h2>jQuery</h2>
<pre class="brush: jscript;">
	$(document).ready(function(){

		$(&quot;.mas-info&quot;).click(function(){
			$(this).parents(&quot;.foto-area&quot;).animate({
					width: &quot;500px&quot;,
					height: &quot;470px&quot;,
			        borderWidth: &quot;10px&quot;
			      }, 600 );

			$(this).fadeOut();

			$(&quot;#foto&quot;).animate({
		        width: &quot;500px&quot;,
				height: &quot;375px&quot;
			      }, 600 );
			$(&quot;.info-area&quot;).animate({
		        opacity: 1.0,
			      }, 600 );
			});

		$(&quot;.foto-area .cerrar&quot;).click(function(){
			$(this).parents(&quot;.foto-area-1&quot;).animate({
					width: &quot;100px&quot;,
					height: &quot;130px&quot;,
			        borderWidth: &quot;1px&quot;
			      }, 600 );

			$(&quot;.mas-info&quot;).fadeIn();

			$(&quot;#foto&quot;).animate({
		        width: &quot;100px&quot;,
				height: &quot;100px&quot;
			      }, 600 );
			$(&quot;.info-area&quot;).animate({
		        opacity: 0.0,
			      }, 600 );
			});

		});
</pre>
<p>Aunque el código funciona bien, tiene algunos problemas y limitaciones:</p>
<ul>
<li>El tamaño al que crecen <code>.foto-area</code> y <code>#foto</code> se ha especificado en el código de jQuery. Sería mucho mejor si en lugar de eso, crecieran en base al tamaño de la imagen, quizá con <code>innerWidth</code>.</li>
<li>La forma de referenciar los elementos de la página también es mejorable; habría que buscar un modo de referenciar padres e hijos para reducir la cantidad de código.</li>
</ul>
<p><a href="http://css-tricks.com/examples/RevealingPhotoSlider2/" target="_blank"><img style="color: #ededed;" title="Ver ejemplo" src="http://www.webmasterio.com/wp-content/uploads/2010/03/botonDemo.png" alt="Cómo crear una espectacular galería de imágenes con jQuery" width="162" height="42" /></a> o bien <a href="http://css-tricks.com/examples/RevealingPhotoSlider.zip"><img style="color: #ededed;" title="Descargar archivos" src="http://www.webmasterio.com/wp-content/uploads/2010/03/botonDescarga.png" alt="Cómo crear una espectacular galería de imágenes con jQuery" width="162" height="42" /></a> los archivos de ejemplo.</p>
<p>Fuente: <strong><a href="http://css-tricks.com/revealing-photo-slider/" target="_blank">Learning   jQuery: Revealing Photo Slider (css-tricks)</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webmasterio.com/2010/04/23/como-crear-una-espectacular-galeria-de-imagenes-con-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo hacer un sencillo carrusel de imágenes con jQuery</title>
		<link>http://www.webmasterio.com/2010/04/03/como-hacer-un-sencillo-carrusel-de-imagenes-con-jquery/</link>
		<comments>http://www.webmasterio.com/2010/04/03/como-hacer-un-sencillo-carrusel-de-imagenes-con-jquery/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 19:02:47 +0000</pubDate>
		<dc:creator>Iteisaburo</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[efectos]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://www.webmasterio.com/?p=835</guid>
		<description><![CDATA[¿Eres fotógrafo, dibujante o diseñador y quieres sorprender a los visitantes de tu web con una muestra de tus últimos trabajos? ¿Quieres dar un aspecto atractivo a tu portafolio con un carrusel de imágenes que puede hacerse con unas pocas líneas de código? Entonces sigue los sencillos pasos que te mostramos en este tutorial y [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-left: 10px; margin-bottom: 10px; margin-right: 40px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F04%2F03%2Fcomo-hacer-un-sencillo-carrusel-de-imagenes-con-jquery%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F04%2F03%2Fcomo-hacer-un-sencillo-carrusel-de-imagenes-con-jquery%2F&amp;source=webmasterio&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f95571812165f8635ca74d5bc93682f2&amp;hashtags=efectos,jquery,programaci%C3%B3n" height="61" width="50" /><br />
			</a>
		</div>
<p>¿Eres fotógrafo, dibujante o diseñador y quieres sorprender a los visitantes de tu web con una muestra de tus últimos trabajos? ¿Quieres dar un aspecto atractivo a tu portafolio con un carrusel de imágenes que puede hacerse con unas pocas líneas de código?</p>
<p>Entonces sigue los sencillos pasos que te mostramos en este tutorial y pronto podrás crear tu propia galería de imágenes.</p>
<p>Básicamente, los pasos que tenemos que realizar son:</p>
<ul>
<li>mostrar sólo la primera imagen y ocultar las demás</li>
<li>colocar una clase &#8220;actual&#8221; en la lista de elementos</li>
<li>sólo hay que ejecutar la función una vez cuando tenga el estado &#8220;actual&#8221;</li>
</ul>
<p>Eso es todo, así de fácil. Pasamos a ver el código:</p>
<h2>HTML</h2>
<pre class="brush: xml;">
		&lt;div class=&quot;carrusel&quot;&gt;
			&lt;ul class=&quot;listaReciente&quot;&gt;
				&lt;li&gt;&lt;a class=&quot;actual&quot; href=&quot;#imagen1&quot;&gt;1&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href=&quot;#imagen2&quot;&gt;2&lt;/a&gt;&lt;/li&gt;
				&lt;li&gt;&lt;a href=&quot;#imagen3&quot;&gt;3&lt;/a&gt;&lt;/li&gt;
			&lt;/ul&gt;
			&lt;img id=&quot;imagen1&quot; src=&quot;imagen-1.gif&quot; alt=&quot;Imagen 1 del carrusel&quot; /&gt;
			&lt;img id=&quot;imagen2&quot; src=&quot;imagen-2.gif&quot; alt=&quot;Imagen 2 del carrusel&quot; /&gt;
			&lt;img id=&quot;imagen3&quot; src=&quot;imagen-3.gif&quot; alt=&quot;Imagen 3 del carrusel&quot; /&gt;
		&lt;/div&gt;
</pre>
<h2>CSS</h2>
<p>En este ejemplo la lista desordenada tiene posición absoluta, y de esa forma podemos posicionar fácilmente los elementos de la lista sobre las imágenes.</p>
<pre class="brush: css;">

		.carrusel
		{
			position: relative;
			background: #fafafa;
			width: 403px;
			height: 240px;
			border: 1px solid #e5e5e5;
			margin-bottom: 20px;
		}

		.carrusel img
		{
			position: absolute;
			top: 3px;
			left: 3px;
			z-index: 10;
			background: #fff;
		}

		ul.listaReciente
		{
			position: absolute;
			bottom: 12px;
			right: 4px;
			list-style: none;
			z-index: 20;
		}

		ul.listaReciente li { display: inline; }

		ul.listaReciente li a, ul.listaReciente li a:visited
		{
			display: block;
			float: left;
			background: #e5e5e5;
			padding: 4px 8px;
			margin-right: 1px;
			color: #000;
			text-decoration: none;
			cursor: pointer;
		}

		ul.listaReciente li a:hover, ul.listaReciente li a:visited:hover
		{
			background: #666; color: #fff;
		}

		ul.listaReciente li a.actual
		{
			background: #f00;
			color: #fff;
		}
</pre>
<h2>jQuery</h2>
<p>Vamos a asegurarnos de que cuando un elemento de la lista posea la clase &#8220;actual&#8221;, el script no se ejecute otra vez.</p>
<pre class="brush: jscript;">
		$(function()
		{
			var imgWrapper = $('.carrusel &gt; img');

			// mostrar sólo la primera imagen, ocultar el resto

			imgWrapper.hide().filter(':first').show();

			$('ul.listaReciente li a').click(function ()
			{
				// comprobar si este elemento no tiene class=&quot;actual&quot;
				// si tiene class=&quot;actual&quot; no debe ejecutar el script de nuevo

				if (this.className.indexOf('actual') == -1)
				{
					imgWrapper.hide();
					imgWrapper.filter(this.hash).fadeIn(500);
					$('ul.listaReciente li a').removeClass('actual');
					$(this).addClass('actual');
				}
				return false;
			});
		});
</pre>
<p><a href="http://www.incg.nl/blog/2009/simple-slideshow-with-jquery/example/" target="_blank"><img class="alignnone size-full wp-image-836" style="color: #ededed;" title="Cómo hacer un sencillo carrusel de imágenes con jQuery" src="http://www.webmasterio.com/wp-content/uploads/2010/04/botonDemo.png" alt="Cómo hacer un sencillo carrusel de imágenes con jQuery" width="162" height="42" /></a></p>
<p>Fuente: <a href="http://www.incg.nl/blog/2009/simple-slideshow-with-jquery/" target="_blank"><strong>Simple Slideshow with jQuery [icng]</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webmasterio.com/2010/04/03/como-hacer-un-sencillo-carrusel-de-imagenes-con-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>13 útiles extensiones de Google Chrome para diseñadores</title>
		<link>http://www.webmasterio.com/2010/04/03/13-utiles-extensiones-de-google-chrome-para-disenadores/</link>
		<comments>http://www.webmasterio.com/2010/04/03/13-utiles-extensiones-de-google-chrome-para-disenadores/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 15:21:28 +0000</pubDate>
		<dc:creator>Iteisaburo</dc:creator>
				<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[navegadores]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.webmasterio.com/?p=806</guid>
		<description><![CDATA[El navegador Google Chrome, del mismo modo en que lo hace Firefox, nos brinda la posibilidad de aumentar sus funciones y prestaciones mediante el uso de extensiones. Si eres desarrollador web, sabrás que Google Chrome trae incorporado un buen conjunto de herramientas de desarrollo para hacerte la vida más fácil, pero también hay un buen [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-left: 10px; margin-bottom: 10px; margin-right: 40px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F04%2F03%2F13-utiles-extensiones-de-google-chrome-para-disenadores%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F04%2F03%2F13-utiles-extensiones-de-google-chrome-para-disenadores%2F&amp;source=webmasterio&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f95571812165f8635ca74d5bc93682f2&amp;hashtags=chrome,css,navegadores,programaci%C3%B3n,software" height="61" width="50" /><br />
			</a>
		</div>
<p>El navegador <strong>Google Chrome</strong>, del mismo modo en que lo hace <strong>Firefox</strong>, nos brinda la posibilidad de aumentar sus funciones y prestaciones mediante el uso de extensiones.</p>
<p>Si eres desarrollador web, sabrás que Google Chrome trae incorporado un buen conjunto de herramientas de desarrollo para hacerte la vida más fácil, pero también hay un buen número de extensiones que pondrán nuevas herramientas a tu disposición. Lo bueno de las extensiones es que te permiten ejecutar tareas que normalmente te obligarían a recurrir a otra aplicación, y poder hacer otras cosas sin tener que salir del navegador se convierte en un gran ahorro de tiempo.</p>
<p><span id="more-806"></span></p>
<p>Aquí tienes <strong>13 extensiones de Google Chrome</strong> que te resultarán de lo más útil:</p>
<h2><a href="https://chrome.google.com/extensions/detail/egmjgagjcamhcilhinkipjdbfdmebmkd" target="_blank">Color Picker</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/egmjgagjcamhcilhinkipjdbfdmebmkd" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_colorpicker.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="243" /></a></p>
<p><strong>Color Picker</strong> te permite obtener rápidamente los valores Hexadecimales y RGB de cualquier color. También podrás ajustar Tono, Saturación y Equilibrio de color.</p>
<h2><a href="https://chrome.google.com/extensions/detail/bnbbfjbeaefgipfjpdabmpadaacmafkj" target="_blank">Firebug Lite</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/bnbbfjbeaefgipfjpdabmpadaacmafkj" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_firebuglite.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="327" /></a></p>
<p><strong>Firebug Lite</strong> es una herramienta para desarrolladores web que nos permite editar, depurar y monitorizar en tiempo real el HTML, CSS y JavaScript de cualquier página web.</p>
<h2><a href="https://chrome.google.com/extensions/detail/pokekecininnhejfkgcbnekjddnepope" target="_blank">Domain Availability Checker</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/pokekecininnhejfkgcbnekjddnepope" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_domainavailabilitychecker.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="278" height="300" /></a></p>
<p>Esta extensión comprueba la disponibilidad de un nombre de dominio. ¿Para qué asomarte a otra página cuando puedes comprobarlo desde tu barra de herramientas?</p>
<h2><a href="https://chrome.google.com/extensions/detail/ncgcgghbabbopfcpgcjpfffdgnbadegf" target="_blank">Aviary Screen Capture</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/ncgcgghbabbopfcpgcjpfffdgnbadegf" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_aviary.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="389" /></a></p>
<p><strong>Aviary Screen Capture</strong> nos da la posibilidad de hacer capturas de pantalla de cualquier web y editarla directamente en el navegador con las aplicaciones de <strong>Aviary.com</strong>. Además nos brinda un conveniente acceso a la web y las herramientas de Aviary.</p>
<h2><a href="https://chrome.google.com/extensions/detail/dmpfoncmmihgkooacnplecaopcefceam" target="_blank">Lorem Ipsum Generator</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/dmpfoncmmihgkooacnplecaopcefceam" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_loremipsum.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="329" /></a></p>
<p><strong>Lorem Ipsum Generator</strong> resulta una forma fácil y conveniente de generar texto de relleno para la maquetación de nuestras páginas.</p>
<h2><a href="https://chrome.google.com/extensions/detail/hehijbfgiekmjfkfjpbkbammjbdenadd" target="_blank">IE Tab</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/hehijbfgiekmjfkfjpbkbammjbdenadd" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_ietab.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="478" /></a></p>
<p><strong>IE Tab</strong> es una extensión que utiliza Internet Explorer para mostrar páginas web en una pestaña de Chrome. Algunas páginas sólo pueden visualizarse utilizando IE, y con esta extensión ahora podremos verlas sin abandonar Chrome. Resulta una estupenda herramienta para desarrolladores web que quieran probar el motor de renderizado de IE,usuarios que utilicen páginas con controles ActiveX, o bien que quieran utilizar la vista del explorador para archivos locales.</p>
<h2><a href="https://chrome.google.com/extensions/detail/aonjhmdcgbgikgjapjckfkefpphjpgma" target="_blank">MeasureIt!</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/aonjhmdcgbgikgjapjckfkefpphjpgma" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_measureit.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="302" /></a></p>
<p><strong>MeasureIt!</strong> nos brinda la posibilidad de dibujar una regla que nos muestra la anchura y altura en pixels de cualquier elemento de una página web.</p>
<h2><a href="https://chrome.google.com/extensions/detail/kleiknekfnnaaibjhlamidabhmckbddc" target="_blank">PlainClothes</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/kleiknekfnnaaibjhlamidabhmckbddc" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_plainclothes.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="533" /></a></p>
<p>Esta extensión elimina el estilo de una página web. La página quedará con el texto en color negro, los fondos en blanco, los enlaces no visitados aparecerán en azul y los visitados en morado, y todos los enlaces estarán subrayados. Podemos cambiar los colores por otros que nos gusten más, y todo el texto se mostrará en la fuente por defecto (tal como se haya definido en“Options” &gt; “Under the Hood” &gt; “Change font and language settings”).</p>
<h2><a href="https://chrome.google.com/extensions/detail/hmdcmlfkchdmnmnmheododdhjedfccka" target="_blank">Eye Dropper</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/hmdcmlfkchdmnmnmheododdhjedfccka" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_eyedropper.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="483" /></a></p>
<p>Esta extensión contiene un Cuentagotas y un Selector de Color que nos permiten elegir colores desde cualquier página web o desde un avanzado selector de color.</p>
<h2><a href="https://chrome.google.com/extensions/detail/ognampngfcbddbfemdapefohjiobgbdl" target="_blank">Speed Tracer</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/ognampngfcbddbfemdapefohjiobgbdl" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_speedtracer.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="399" /></a></p>
<p><strong>Speed Tracer</strong> es una herramienta que nos ayuda a identificar y corregir problemas de rendimiento en nuestras aplicaciones web. Muestra datos generados por el navegador y los analiza mientras se ejecuta nuestra aplicación. Speed Tracer está disponible como extensión de Chrome y funciona en todas las plataformas que soportan extensiones (Windows y Linux).</p>
<h2><a href="https://chrome.google.com/extensions/detail/gbkffbkamcejhkcaocmkdeiiccpmjfdi" target="_blank">Pendule</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/gbkffbkamcejhkcaocmkdeiiccpmjfdi" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_pendule.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="473" /></a></p>
<p><strong>Pendule </strong>amplía las herramientas de desarrollo que Chrome trae ya incorporadas.</p>
<h2><a href="https://chrome.google.com/extensions/detail/idhfcdbheobinplaamokffboaccidbal" target="_blank">Resolution Test</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/idhfcdbheobinplaamokffboaccidbal" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_resolutiontest.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="250" height="386" /></a></p>
<p><strong>Resolution Test</strong> cambia el tamaño de la ventana del navegador para que los desarrolladores puedan previsualizar sus páginas web en diferentes resoluciones de pantalla. Incluye una lista de las resoluciones más comunes y también posee una opción de personalización para añadir resoluciones propias.</p>
<h2><a href="https://chrome.google.com/extensions/detail/maabelkjnhafpphacjecmcnkkmjndjgl" target="_blank">Snippy</a></h2>
<p><a href="https://chrome.google.com/extensions/detail/maabelkjnhafpphacjecmcnkkmjndjgl" target="_blank"><img title="13 útiles extensiones de Google Chrome para diseñadores" src="http://www.webmasterio.com/wp-content/uploads/2010/04/chrome_snippy.jpg" alt="13 útiles extensiones de Google Chrome para diseñadores" width="540" height="289" /></a></p>
<p><strong>Snippy </strong>nos permite tomar trozos de páginas web y guardarlos para su uso futuro. Captura contenido enriquecido y preserva el formato, así que podemos guardar párrafos, imágenes, enlaces y mucho más.</p>
<p>Fuente: <strong><a href="http://webdesignledger.com/tools/13-useful-google-chrome-extensions-for-web-developers" target="_blank">13 Useful Google Chrome Extensions for Web Developers [web design ledger]</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webmasterio.com/2010/04/03/13-utiles-extensiones-de-google-chrome-para-disenadores/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evita los errores más comunes en HTML y CSS</title>
		<link>http://www.webmasterio.com/2010/04/02/evita-los-errores-mas-comunes-en-html-y-css/</link>
		<comments>http://www.webmasterio.com/2010/04/02/evita-los-errores-mas-comunes-en-html-y-css/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 22:26:00 +0000</pubDate>
		<dc:creator>Iteisaburo</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.webmasterio.com/?p=735</guid>
		<description><![CDATA[Tanto los principiantes como los programadores más expertos pueden cometer errores en la codificación de sus archivos HTML y CSS, ya sea por descuido o por falta de experiencia. Crear un código limpio es muy importante y te ayudará a mejorar tu habilidad como desarrollador web, además de ahorrarte el tiempo que perderías en posteriores [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-left: 10px; margin-bottom: 10px; margin-right: 40px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F04%2F02%2Fevita-los-errores-mas-comunes-en-html-y-css%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F04%2F02%2Fevita-los-errores-mas-comunes-en-html-y-css%2F&amp;source=webmasterio&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f95571812165f8635ca74d5bc93682f2&amp;hashtags=css,html" height="61" width="50" /><br />
			</a>
		</div>
<p>Tanto los principiantes como los programadores más expertos pueden cometer errores en la codificación de sus archivos <strong>HTML </strong>y <strong>CSS</strong>, ya sea por descuido o por falta de experiencia.</p>
<p>Crear un código limpio es muy importante y te ayudará a mejorar tu habilidad como desarrollador web, además de ahorrarte el tiempo que perderías en posteriores ediciones. Nunca está de más revisar el código aunque seas un desarrollador experto, porque la causa de muchos de estos errores es hacer las cosas con demasiadas prisas y no haber observado unas buenas técnicas de codificación desde el principio.</p>
<p><span id="more-735"></span></p>
<p>Aquí tienes una útil lista de los errores y equivocaciones más comunes que hemos observado tanto en nuestros propios trabajos como en los ajenos.</p>
<h2><strong>Errores de HTML</strong><strong><br />
</strong></h2>
<h3><strong>Olvidarse de cerrar las etiquetas</strong></h3>
<p>Esto es muy habitual, especialmente entre los principiantes. Hay varias etiquetas que requieren sus etiquetas de cierre, como <code><strong>div</strong></code>, <code><strong>strong</strong></code> o los enlaces, por nombrar sólo unas pocas. Otras etiquetas requieren una barra de cierre para terminar la línea, como es el caso de la etiqueta <code><strong>img</strong></code>.</p>
<p><code>&lt;div&gt;Texto dentro del DIV.&lt;/div&gt;</code><br />
<code>&lt;img src="imagenes/nombredelaimagen.jpg" /&gt;</code></p>
<h3><strong>Utilizar un DOCTYPE inadecuado<br />
</strong></h3>
<p>HTML nos exige que empecemos el documento con una declaración DOCTYPE correcta. Debe hacerse antes de cualquier otro elemento del código, y comenzar el documento declarando qué tipo de HTML estamos usando.</p>
<p>Éste es el DOCTYPE para XHTML 1.0 Transicional:</p>
<p><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;</code></p>
<h3><strong>Anidar etiquetas de forma incorrecta</strong></h3>
<p>Es muy importante abrir y cerrar las etiquetas en el orden apropiado. Cuando abrimos algo (un <code><strong>div</strong></code>, por ejemplo), hay que cerrarlo antes de que cualquier elemento superior pueda cerrarse.</p>
<p>El ejemplo siguiente es incorrecto:</p>
<p><code>&lt;div&gt;&lt;strong&gt;texto&lt;/div&gt;&lt;/strong&gt;</code></p>
<h3><strong>Escribir las etiquetas en mayúsculas</strong></h3>
<p>Esto se considera simplemente una mala práctica, pero hará que tu código no pueda ser validado. Siempre deberíamos utilizar minúsculas para etiquetas como los <code><strong>div</strong></code>, los enlaces o las imágenes.</p>
<p>El ejemplo siguiente es incorrecto:</p>
<p><code>&lt;DIV&gt;&lt;/DIV&gt;</code></p>
<h3><strong>Olvidarse de abrir o cerrar comillas</strong></h3>
<p>Este error puede verse mucho en los principiantes, y provoca código erróneo y que las cosas no funcionen adecuadamente. HTML requiere comillas dobles que hay que abrir y cerrar correctamente.</p>
<p>Esto es un ejemplo de su uso correcto:</p>
<p><code>&lt;img src="imagenes/imagendecabecera.jpg" /&gt;</code></p>
<h3><strong>Usar estilos en línea</strong></h3>
<p>Su uso también se considera mala práctica. Los estilos en línea funcionan pero terminan convirtiéndose en dolores de cabeza más tarde. El estilo de los elementos debería aplicarse de forma global mediante una hoja de estilos externa, y así será mucho más fácil editar y añadir estilos posteriormente.</p>
<p>Un ejemplo de estilos en línea:</p>
<p><code>&lt;a href="enlace.html" style="color: #000; text-decoration: none;"&gt;nombre del enlace&lt;/a&gt;</code></p>
<h3><strong>No codificar los caracteres especiales</strong></h3>
<p>Los caracteres como “©” o “&amp;” deberían mostrarse utilizando el código HTML apropiado para cada uno. En la red pueden encontrarse infinidad de listas de caracteres con sus equivalencias en las entidades HTML correspondientes.</p>
<h3><strong>Confundir &#8220;class&#8221; con &#8220;id&#8221;</strong></h3>
<p>Las clases (&#8220;class&#8221;) son para elementos que se utilizan más de una vez en la página. Como por ejemplo, el estilo de un enlace al que se hace referencia varias veces desde una página pero que no sigue el estilo global de los demás enlaces. Los identificadores (&#8220;id&#8221;) son elementos a los que sólo se hace referencia una vez, como el <code><strong>div</strong></code> de la cabecera. A menudo se abusa de las clases y los identificadores, y también se utilizan en lugares innecesarios. Intenta usar el menor número posible de atributos.</p>
<h2><strong>Errores de CSS</strong></h2>
<h3><strong>Olvidarse de los cierres apropiados</strong></h3>
<p>Todos los elementos comienzan con una llave de apertura y terminan con una llave de cierre. Todos los estilos tienen que terminar con un punto y coma. La última declaración dentro de un elemento no necesita el punto y coma, pero es mejor utilizarlo porque en caso de que tengas que añadir más elementos posteriormente, es posible que te olvides de añadirlo.</p>
<p>Esto es un ejemplo de uso correcto:</p>
<pre class="brush: css;">
#nombre_div
{
	width: 40px;
	height: 30px;
}
</pre>
<p>Es discutible si es conveniente condensar la hoja de estilos escribiendo todas las declaraciones de un <code><strong>div</strong></code> en una sola línea. Yo prefiero poner cada declaración en su propia línea porque creo que es más fácil editar el código de esa manera, pero otros argumentan que eso produce un código más largo y unos archivos CSS más pesados.</p>
<h3><strong>No usar estilos globales</strong></h3>
<p>El estilo de muchos elementos debería aplicarse de forma global, como los estilos de párrafo y cabecera para el texto o los estilos de los enlaces. Esto reducirá el riesgo de errores y también la cantidad de código de tu hoja de estilos.</p>
<h3><strong>No utilizar nombres únicos para los identificadores y las clases</strong></h3>
<p>Es muy importante elegir nombres que sean únicos para facilitar su posterior edición y para poder identificarlos en la hoja de estilo. Pon nombres específicos a tus <strong>div</strong>: es mejor un nombre como <code><strong>#columnaIzquierdaInicio</strong></code> que sólo <code><strong>#izquierda</strong></code>.</p>
<h3><strong>No usar código abreviado</strong></h3>
<p>El código abreviado es otra manera de condensar tu hoja de estilo, y resulta útil para acelerar los tiempos de carga del usuario y también para encontrar algo cuando estés editando más tarde. En vez de usar <code><strong>padding-top</strong></code>, <code><strong>padding-left</strong></code>, <code><strong>padding-bottom</strong></code> y <code><strong>padding-right</strong></code>, puedes escribir:</p>
<p><code>padding: 5px 10px 0 10px;</code></p>
<p>El código abreviado se puede utilizar en muchas declaraciones, incluyendo <code><strong>padding</strong></code>, <code><strong>margin</strong></code>, <code><strong>border</strong></code> y <code><strong>font</strong></code>.</p>
<h3><strong>No utilizar declaraciones cortas de color</strong></h3>
<p>Los números hexadecimales que se repiten, como #FFFFFF o #000000, pueden acortarse a #FFF y #000. Es otra forma de condensar tu código y de hacer que todo sea corto y fácil de revisar.</p>
<h3><strong>Usar el posicionamiento de forma incorrecta</strong></h3>
<p>El posicionamiento es difícil de comprender cuando se empieza con CSS. Tienes cuatro opciones a elegir: <code><strong>static</strong></code>, <code><strong>relative</strong></code>, <code><strong>absolute </strong>y</code> <code><strong>fixed</strong></code>. <strong>Static</strong> es la opción por defecto y se posiciona según el flujo normal de la página. Un elemento cuyo estilo es <strong>relative </strong>posee una posición relativa a sí mismo, lo que significa que puedes moverlo arriba, abajo, a derecha o izquierda, basándonos en la posición en la que normalmente se colocaría. La posición <strong>absolute </strong>nos permite situar un elemento en cualquier lugar de la página, y es la declaración de posicionamiento que menos se usa. Los valores que establezcas para él serán relativos al último elemento padre que sea <strong>relative </strong>o <strong>absolute</strong>, y si no hay ninguno, vuelve por defecto a la etiqueta <code><strong>html</strong></code>, permitiéndonos situarlo en cualquier parte de la página mediante valores asignados a <code><strong>top</strong></code>, <code><strong>left</strong></code>, <code><strong>right </strong></code>o <code><strong>bottom</strong></code>.  Un elemento <strong>fixed </strong>tiene una posición relativa a la ventana del navegador, así que el elemento se quedará en el mismo sitio aunque el usuario haga scroll. Aprender cómo usar el posicionamiento correctamente es importante, aunque no debería utilizarse en exceso.</p>
<h2><strong>Validación</strong></h2>
<p>Validar tus archivos HTML y CSS te ayudará a reducir errores y a descubrir de dónde puede proceder un problema. Puede que tu página web funcione correctamente aunque muestre algunos de estos errores de HTML y CSS, pero eso no significa que sea buena práctica o código válido. El validador te ayudará a identificar estos problemas, y pronto serás capaz de mejorar tu forma de codificar en proyectos futuros.</p>
<p>Fuente: <a href="http://webdesignledger.com/tips/the-most-common-html-and-css-mistakes-to-avoid" target="_blank"><strong>The Most Common HTML and CSS Mistakes to Avoid [web design ledger]</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webmasterio.com/2010/04/02/evita-los-errores-mas-comunes-en-html-y-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo crear un efecto de hover realista con jQuery</title>
		<link>http://www.webmasterio.com/2010/03/31/como-crear-un-efecto-de-hover-realista-con-jquery/</link>
		<comments>http://www.webmasterio.com/2010/03/31/como-crear-un-efecto-de-hover-realista-con-jquery/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 00:03:58 +0000</pubDate>
		<dc:creator>Iteisaburo</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[efectos]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://www.webmasterio.com/?p=742</guid>
		<description><![CDATA[En este tutorial vamos a ver cómo crear dos efectos para que se muestren al hacer hover sobre un grupo de enlaces con iconos, en la misma línea que los efectos que poseen docks como ObjectDock o RocketDock. Usando los efectos de animación de jQuery, vamos a experimentar con dos tipos de iconos: unos tienen [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-left: 10px; margin-bottom: 10px; margin-right: 40px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F03%2F31%2Fcomo-crear-un-efecto-de-hover-realista-con-jquery%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F03%2F31%2Fcomo-crear-un-efecto-de-hover-realista-con-jquery%2F&amp;source=webmasterio&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f95571812165f8635ca74d5bc93682f2&amp;hashtags=efectos,jquery,programaci%C3%B3n" height="61" width="50" /><br />
			</a>
		</div>
<p>En este tutorial vamos a ver cómo crear dos efectos para que se muestren al hacer hover sobre un grupo de enlaces con iconos, en la misma línea que los efectos que poseen docks como <strong><a href="http://www.stardock.com/products/ObjectDock/" target="_blank">ObjectDock</a></strong> o <strong><a href="http://rocketdock.com/" target="_blank">RocketDock</a></strong>.</p>
<p>Usando los efectos de animación de jQuery, vamos a experimentar con dos tipos de iconos: unos tienen un efecto de reflejo en su parte inferior y los otros tienen sombra.</p>
<p><span id="more-742"></span></p>
<p>Tanto el HTML como el CSS que vamos a usar son bastante claros, y tienen una estructura y estilo que son comunes a muchos menús de navegación web. No vamos a incluir el código en este artículo pero podéis echarle un ojo a <strong><a href="http://adrianpelletier.com/sandbox/jquery_hover_nav/" target="_blank">la página de ejemplo</a></strong> o bien descargaros los archivos de ejemplo para verlos.</p>
<p><img class="alignnone size-full wp-image-746" title="Cómo crear un efecto hover realista con jQuery" src="http://www.webmasterio.com/wp-content/uploads/2010/03/efectos_hover_jquery.jpg" alt="Cómo crear un efecto hover realista con jQuery" width="580" height="452" /></p>
<h2>jQuery</h2>
<pre class="brush: jscript;">
// Inicio jQuery

$(document).ready(function() {

/* Menú con reflejo ----------------------------------------------- */

    // Agregar un SPAN a cada LI para añadir el reflejo

    $(&quot;#nav-reflection li&quot;).append(&quot;&lt;span&gt;&lt;/span&gt;&quot;);

    // Animar los botones, mover el reflejo y atenuarlo

    $(&quot;#nav-reflection a&quot;).hover(function() {
        $(this).stop().animate({ marginTop: &quot;-10px&quot; }, 200);
        $(this).parent().find(&quot;span&quot;).stop().animate({ marginTop: &quot;18px&quot;, opacity: 0.25 }, 200);
    },function(){
        $(this).stop().animate({ marginTop: &quot;0px&quot; }, 300);
        $(this).parent().find(&quot;span&quot;).stop().animate({ marginTop: &quot;1px&quot;, opacity: 1 }, 300);
    });

/* Menú con Sombra ----------------------------------------------- */

    // Agregar la imagen de la sombra a cada LI

    $(&quot;#nav-shadow li&quot;).append('&lt;img class=&quot;shadow&quot; src=&quot;images/icons-shadow.jpg&quot; width=&quot;81&quot; height=&quot;27&quot; alt=&quot;&quot; /&gt;');

    // Animar los botones, y encoger y atenuar la sombra

    $(&quot;#nav-shadow li&quot;).hover(function() {
    	var e = this;
        $(e).find(&quot;a&quot;).stop().animate({ marginTop: &quot;-14px&quot; }, 250, function() {
        	$(e).find(&quot;a&quot;).animate({ marginTop: &quot;-10px&quot; }, 250);
        });
        $(e).find(&quot;img.shadow&quot;).stop().animate({ width: &quot;80%&quot;, height: &quot;20px&quot;, marginLeft: &quot;8px&quot;, opacity: 0.25 }, 250);
    },function(){
    	var e = this;
        $(e).find(&quot;a&quot;).stop().animate({ marginTop: &quot;4px&quot; }, 250, function() {
        	$(e).find(&quot;a&quot;).animate({ marginTop: &quot;0px&quot; }, 250);
        });
        $(e).find(&quot;img.shadow&quot;).stop().animate({ width: &quot;100%&quot;, height: &quot;27px&quot;, marginLeft: &quot;0px&quot;, opacity: 1 }, 250);
    });

// Fin jQuery
</pre>
<p>En pocas palabras, el .JS añade un reflejo o una sombra a cada <code>&lt;li&gt;</code>, y luego anima la posición y opacidad de esos elementos y de los iconos-enlace al hacer hover. Hemos añadido <code>.stop()</code> para eliminar cualquier cola resultante de pasar el ratón de un lado a otro rápidamente por el menú de navegación.</p>
<p>Como nota final, tened en cuenta que no nos hemos molestado en dar soporte para IE6.</p>
<p><a href="http://adrianpelletier.com/sandbox/jquery_hover_nav/" target="_blank"><img class="alignnone size-full wp-image-755" style="color: #ededed;" title="Ver ejemplo" src="http://www.webmasterio.com/wp-content/uploads/2010/03/botonDemo.png" alt="Cómo crear un efecto de hover realista con jQuery" width="162" height="42" /></a> o bien <a href="http://adrianpelletier.com/sandbox/jquery_hover_nav/demo.zip"><img class="alignnone size-full wp-image-754" style="color: #ededed;" title="Descargar archivos" src="http://www.webmasterio.com/wp-content/uploads/2010/03/botonDescarga.png" alt="Cómo crear un efecto de hover realista con jQuery" width="162" height="42" /></a> los archivos de ejemplo.</p>
<p>Fuente: <a href="http://www.adrianpelletier.com/2009/05/31/create-a-realistic-hover-effect-with-jquery-ui/" target="_blank"><strong>Create a Realistic Hover Effect with jQuery [adrian pelletier]</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webmasterio.com/2010/03/31/como-crear-un-efecto-de-hover-realista-con-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo animar un efecto hover con jQuery</title>
		<link>http://www.webmasterio.com/2010/03/25/como-animar-un-efecto-hover-con-jquery/</link>
		<comments>http://www.webmasterio.com/2010/03/25/como-animar-un-efecto-hover-con-jquery/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 16:10:25 +0000</pubDate>
		<dc:creator>Iteisaburo</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[efectos]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://www.webmasterio.com/?p=692</guid>
		<description><![CDATA[Este tutorial te enseñará cómo crear un script en jQuery para mostrar información a los visitantes cada vez que hagan hover con el ratón sobre una imagen. Es un efecto muy sencillo de implementar que tiene un aspecto muy atractivo, y resulta una excelente opción para un portafolio, por ejemplo. La mecánica es muy simple: [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-left: 10px; margin-bottom: 10px; margin-right: 40px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F03%2F25%2Fcomo-animar-un-efecto-hover-con-jquery%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F03%2F25%2Fcomo-animar-un-efecto-hover-con-jquery%2F&amp;source=webmasterio&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f95571812165f8635ca74d5bc93682f2&amp;hashtags=efectos,jquery,programaci%C3%B3n" height="61" width="50" /><br />
			</a>
		</div>
<p>Este tutorial te enseñará cómo crear un script en jQuery para mostrar información a los visitantes cada vez que hagan hover con el ratón sobre una imagen.</p>
<p>Es un efecto muy sencillo de implementar que tiene un aspecto muy atractivo, y resulta una excelente opción para un portafolio, por ejemplo.</p>
<p><span id="more-692"></span></p>
<p>La mecánica es muy simple: hacemos una lista con posición relativa, colocamos imágenes con posición absoluta, y cuando pasemos el ratón sobre ella le daremos a jQuery la orden de aplicarle un bonito efecto de animación.</p>
<p>Aquí tenéis el código:</p>
<h2>HTML</h2>
<pre class="brush: xml;">
&lt;ul class=&quot;bloque_hover&quot;&gt;
	&lt;li&gt;
		&lt;a href=&quot;/&quot;&gt;&lt;img src=&quot;your_image.gif&quot; alt=&quot;alt&quot; /&gt; Texto&lt;/a&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href=&quot;/&quot;&gt;&lt;img src=&quot;your_image.gif&quot; alt=&quot;alt&quot; /&gt; Texto&lt;/a&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</pre>
<h2>CSS</h2>
<pre class="brush: css;">
		ul.bloque_hover li
		{
			list-style: none;
			float: left;
			background: #fff;
			padding: 10px;
			width: 300px;
			position: relative;
			margin-right: 20px;
		}
		ul.bloque_hover li a
		{
			display: block;
			position: relative;
			overflow: hidden;
			height: 150px;
			width: 268px;
			padding: 16px;
			color: #000;
			font: 1.6em/1.3 Helvetica, Arial, sans-serif;
		}
		ul.bloque_hover li a { text-decoration: none; }
		ul.bloque_hover li img
		{
			position: absolute;
			top: 0;
			left: 0;
			border: 0;
		}
</pre>
<h2>jQuery</h2>
<pre class="brush: jscript;">
$(function()
{
	$('ul.bloque_hover li').hover(function()
	{
		$(this).find('img').animate({top:'182px'},{queue:false, duration:500});
	}, function()
	{
		$(this).find('img').animate({top:'0px'},{queue:false, duration:500});
	});
});
</pre>
<p>Podéis ver en acción este efecto de jQuery pinchando en este enlace: <a href="http://www.incg.nl/blog/2008/hover-block-jquery/example/animate_hover.html" target="_blank"><strong>demo</strong></a></p>
<p>Fuente: <a href="http://www.incg.nl/blog/2008/hover-block-jquery/" target="_blank"><strong>Animate a Hover with jQuery [icng]</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webmasterio.com/2010/03/25/como-animar-un-efecto-hover-con-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo crear un sencillo carrusel infinito con jQuery</title>
		<link>http://www.webmasterio.com/2010/03/16/como-crear-un-sencillo-carrusel-infinito-con-jquery/</link>
		<comments>http://www.webmasterio.com/2010/03/16/como-crear-un-sencillo-carrusel-infinito-con-jquery/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 12:49:01 +0000</pubDate>
		<dc:creator>Iteisaburo</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[efectos]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://www.webmasterio.com/?p=574</guid>
		<description><![CDATA[Este tutorial te enseñará cómo crear un script en jQuery para obtener un carrusel de imágenes infinito. También tiene un sencillo script de auto-rotación que hará rotar las imágenes del carrusel. Como nuestro anterior tutorial de jQuery &#8220;Crea un botón flotante de &#8216;Volver al inicio&#8217; con jQuery&#8221;, éste también consta de tres bloques de código: [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-left: 10px; margin-bottom: 10px; margin-right: 40px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F03%2F16%2Fcomo-crear-un-sencillo-carrusel-infinito-con-jquery%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmasterio.com%2F2010%2F03%2F16%2Fcomo-crear-un-sencillo-carrusel-infinito-con-jquery%2F&amp;source=webmasterio&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f95571812165f8635ca74d5bc93682f2&amp;hashtags=efectos,jquery,programaci%C3%B3n" height="61" width="50" /><br />
			</a>
		</div>
<div>Este tutorial te enseñará cómo crear un script en jQuery para obtener un carrusel de imágenes infinito. También tiene un sencillo script de auto-rotación que hará rotar las imágenes del carrusel.</div>
<div>Como nuestro anterior tutorial de jQuery <strong><a href="http://www.webmasterio.com/2009/11/10/crea-un-boton-flotante-de-volver-al-inicio-con-jquery/">&#8220;Crea un botón flotante de &#8216;Volver al inicio&#8217; con jQuery&#8221;</a></strong>, éste también consta de tres bloques de código: <strong>HTML</strong>, <strong>CSS </strong>y <strong>jQuery</strong>, lo que te permitirá incorporar el carrusel a cualquiera de tus páginas con un mínimo de retoques.</div>
<h2>HTML</h2>
<div>
<p>Tenemos un contenedor principal llamado<strong> carrusel</strong>, que contiene dos secciones: <strong>botones</strong> y <strong>paneles</strong>. Hemos convertido los enlaces <strong>anterior</strong> y <strong>siguiente</strong> en dos flechas con efecto <em>mouseover</em> utilizando CSS. El resto es bastante básico.</p>
<pre class="brush: xml;">
&lt;div id=&quot;carrusel&quot;&gt;
&lt;div id=&quot;botones&quot;&gt;
		&lt;a id=&quot;anterior&quot; href=&quot;#&quot;&gt;anterior&lt;/a&gt;
		&lt;a id=&quot;siguiente&quot; href=&quot;#&quot;&gt;siguiente&lt;/a&gt;

&lt;/div&gt;
&lt;div id=&quot;paneles&quot;&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;img src=&quot;slide1.gif&quot; alt=&quot;Imagen 1&quot; width=&quot;240&quot; height=&quot;240&quot; /&gt;&lt;/li&gt;
	&lt;li&gt;&lt;img src=&quot;slide2.gif&quot; alt=&quot;Imagen 2&quot; width=&quot;240&quot; height=&quot;240&quot; /&gt;&lt;/li&gt;
	&lt;li&gt;&lt;img src=&quot;slide3.gif&quot; alt=&quot;Imagen 3 3&quot; width=&quot;240&quot; height=&quot;240&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
</pre>
<h2>CSS</h2>
<div>
<p>El CSS es algo más complicado. Lo primero que hay que hacer es ajustar el ancho correcto en <strong>#carrusel</strong>, <strong>#paneles</strong>, <strong>#paneles ul</strong> y <strong>#paneles li</strong>. Desglosaremos el CSS y le colocaremos comentarios a todo, y si quieres hacerle cambios, te recomiendo que empieces a partir del elemento <strong>LI</strong> en la secuencia descrita a continuación:</p>
<ul>
<li><strong>#paneles li</strong>:</li>
<li><strong>#paneles ul</strong>: el ancho es el ancho total de los elementos <strong>#ul li</strong></li>
<li><strong>#paneles</strong>: el ancho y el alto deberían ser los mismos de los elementos <strong>#ul li</strong></li>
<li><strong>#carrusel</strong>: el ancho debería ser ligeramente superior al de los elementos <strong>#ul li</strong>, pero no la altura porque ésta incluye también la altura de los botones</li>
</ul>
<pre class="brush: css;">
#carrusel {
	width:255px;
	height:290px;
	margin:0 auto;
}

#paneles {
	overflow:hidden;
	/* fix ie overflow issue */
	position:relative;
	width:250px;
	height:250px;
	border:1px solid #ccc;
}

/* eliminar estilos de lista, width: ancho del elemento x total de elementos */
#paneles ul {
	position:relative;
	left:0;
	top:0;
	list-style:none;
	margin:0;
	padding:0;
	width:750px;
}

/* ancho del elemento; en este caso es un gif de 250x250px */
#paneles li {
	width:250px;
	height:250px;
	float:left;
}

#paneles li img {
	padding:5px;
}

/* estilo para los botones &quot;anterior&quot; y &quot;siguiente&quot; */
#botones {
	padding:0 0 5px 0;
	float:right;
}

#botones a {
	display:block;
	width:31px;
	height:32px;
	text-indent:-999em;
	float:left;
	outline:0;
}

a#anterior {
	background:url(arrow.gif) 0 -31px no-repeat;
}

a#anterior:hover {
	background:url(arrow.gif) 0 0 no-repeat;
}

a#siguiente {
	background:url(arrow.gif) -32px -31px no-repeat;
}

a#siguiente:hover {
	background:url(arrow.gif) -32px 0 no-repeat;
}

.clear {clear:both}
</pre>
</div>
<h2>jQuery</h2>
<div>Aquí tenemos que fijarnos en dos métodos: <strong>after</strong> (después) y <strong>before</strong> (antes).</div>
<div>
<ul>
<li><strong>after</strong> &#8211; inserta contenido después de cada uno de los elementos correspondientes</li>
<li><strong>before</strong> &#8211; inserta contenido antes de cada uno de los elementos correspondientes</li>
</ul>
<p>Así que para crear un carrusel infinito tenemos que depender de estos dos métodos, porque habrá que tener en cuenta que:</p>
<ul>
<li>si el usuario hace clic sobre el botón <strong>&#8220;anterior&#8221;</strong>, tendremos que colocar el último elemento delante del primero</li>
<li>si el usuario hace clic sobre el botón <strong>&#8220;siguiente&#8221;</strong>, tendremos que colocar el primer elemento detrás del último</li>
</ul>
<p>Como resultado de eso, cada vez que hagamos clic sobre el botón<strong> &#8220;siguiente&#8221;</strong> o <strong>&#8220;anterior&#8221;</strong>, el script seguirá moviendo el elemento y eso lo convertirá en un carrusel infinito.</p>
<p>Como nota final, hemos usado un método muy simple pero efectivo para hacer rotar el carrusel: usar la función <strong>click()</strong> para hacer clic en el siguiente enlace y colocarle un temporizador.</p>
<pre class="brush: jscript;">
$(document).ready(function() {

	//velocidad de rotación y temporizador
	var speed = 5000;
	var run = setInterval('rotate()', speed);

	//tomar el ancho y calcular el valor izquierdo
	var item_width = $('#paneles li').outerWidth();
	var left_value = item_width * (-1);

	//poner el último elemento antes del primero, por si el usuario pulsa &quot;anterior&quot;
	$('#paneles li:first').before($('#paneles li:last'));

	//colocar el elemento por defecto en la posición correcta
	$('#paneles ul').css({'left' : left_value});

	//si el usuario pulsó &quot;anterior&quot;
	$('#anterior').click(function() {

		//tomar la posición derecha
		var left_indent = parseInt($('#paneles ul').css('left')) + item_width;

		//animar el elemento
		$('#paneles ul').animate({'left' : left_indent}, 200,function(){

			//mover el último elemento y ponerlo como primero
			$('#paneles li:first').before($('#paneles li:last'));

			//colocar el elemento por defecto en la posición correcta
			$('#paneles ul').css({'left' : left_value});

		});

		//cancelar el comportamiento del enlace
		return false;

	});

	//si el usuario pulsó &quot;siguiente&quot;
	$('#siguiente').click(function() {

		//tomar la posición derecha
		var left_indent = parseInt($('#paneles ul').css('left')) - item_width;

		//animar el elemento
		$('#paneles ul').animate({'left' : left_indent}, 200, function () {

			//mover el primer elemento y ponerlo como último
			$('#paneles li:last').after($('#paneles li:first'));

			//colocar el elemento por defecto en la posición correcta
			$('#paneles ul').css({'left' : left_value});

		});

		//cancelar el comportamiento del enlace
		return false;

	});

	//si se hace hover con el ratón pausar la autorotación, y si no, rotar
	$('#paneles').hover(

		function() {
			clearInterval(run);
		},
		function() {
			run = setInterval('rotate()', speed);
		}
	);

});

//una sencilla función para hacer clic en el siguiente enlace
//un temporizador llamará a esta función, y comenzará la rotación
function rotate() {
	$('#siguiente').click();
}
</pre>
<p><a href="http://www.queness.com/resources/html/carousel/index.html" target="_blank"><strong>Aquí tenéis una demo</strong></a> de cómo funciona el carrusel de imágenes, y podéis bajaros un .zip con el código desde <a href="http://www.queness.com/resources/archives/jquery-carousel.zip"><strong>este enlace</strong></a>.</p>
<p>Fuente y créditos: <a href="http://www.queness.com/post/923/create-a-simple-infinite-carousel-with-jquery" target="_blank"><strong>Create a Simple Infinite Carousel with jQuery [queness]</strong></a><strong> </strong><br />
<strong> </strong><strong>Autor</strong>: Kevin Liew<br />
<strong>Descripción:</strong> Kevin es un diseñador y desarrollador web cuya pasión y afición es contribuir a la industria del desarrollo web. Es el propietario de <a href="http://www.queness.com" target="_blank"><strong>Queness.com</strong></a>, una página que nos proporciona ideas para diseño web, consejos de CSS, HTML y jQuery, trucos y tutoriales. También podéis seguirle en <a href="http://www.twitter.com/quenesswebblog" target="_blank"><strong>Twitter</strong></a>.</p>
</div>
</div>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 171px; width: 1px; height: 1px;">
<pre class="brush: xml;">[/sourcecode]
</pre>
<p>[/sourcecode</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.webmasterio.com/2010/03/16/como-crear-un-sencillo-carrusel-infinito-con-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crea un botón flotante de &#8220;Volver al inicio&#8221; con jQuery</title>
		<link>http://www.webmasterio.com/2009/11/10/crea-un-boton-flotante-de-volver-al-inicio-con-jquery/</link>
		<comments>http://www.webmasterio.com/2009/11/10/crea-un-boton-flotante-de-volver-al-inicio-con-jquery/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 19:39:11 +0000</pubDate>
		<dc:creator>Iteisaburo</dc:creator>
				<category><![CDATA[Desarrollo]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[efectos]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://www.webmasterio.com/?p=470</guid>
		<description><![CDATA[¿Estás buscando una forma sencilla de hacer que tus lectores naveguen fácilmente por larguísimas páginas web? ¿Estás cansado de darle a la rueda del ratón durante un buen rato para llegar al principio del documento? Aquí tienes un sencillo botón de &#8220;Volver al inicio&#8221; que flota sobre la esquina inferior derecha de la pantalla. Y [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-left: 10px; margin-bottom: 10px; margin-right: 40px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webmasterio.com%2F2009%2F11%2F10%2Fcrea-un-boton-flotante-de-volver-al-inicio-con-jquery%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webmasterio.com%2F2009%2F11%2F10%2Fcrea-un-boton-flotante-de-volver-al-inicio-con-jquery%2F&amp;source=webmasterio&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f95571812165f8635ca74d5bc93682f2&amp;hashtags=efectos,jquery,programaci%C3%B3n" height="61" width="50" /><br />
			</a>
		</div>
<p>¿Estás buscando una forma sencilla de hacer que tus lectores naveguen fácilmente por larguísimas páginas web? ¿Estás cansado de darle a la rueda del ratón durante un buen rato para llegar al principio del documento?</p>
<p>Aquí tienes un sencillo botón de &#8220;Volver al inicio&#8221; que flota sobre la esquina inferior derecha de la pantalla. Y lo mejor de todo es que está completamente hecho en <strong>jQuery</strong>, <strong>CSS </strong>y <strong>HTML</strong>, por lo que vas a poder integrarlo con facilidad en páginas que ya tengas hechas y personalizarlo para dejarlo a tu gusto.</p>
<p><img class="alignnone size-full wp-image-472" title="Volver al inicio de la página" src="http://www.webmasterio.com/wp-content/uploads/2009/11/imagen1.png" alt="Volver al inicio de la página" width="577" height="152" /></p>
<p>El código está en gran parte una adaptación de los trabajos de <strong><a href="http://briancray.com/2009/10/06/scroll-to-top-link-jquery-css/">Brian Cray</a></strong> y <strong><a href="http://davidwalsh.name/jquery-top-link">David Walsh</a></strong>, aunque es una combinación de sus ideas con el añadido de un efecto fade en el botón y un movimiento de scroll suave. El botón se ha colocado en la esquina inferior derecha para que resulte menos intrusivo. El navegador hará un scroll hasta el texto ancla de forma suave y agradable, gracias al estupendo plugin de jQuery <strong><a href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">ScrollTo</a></strong>, creado por <strong>Ariel Flesler</strong>.</p>
<p>¿Y cuál es ese plugin? ¿Quieres verlo en acción? Vale, entonces échale un ojo a la <strong><a href="http://www.cherrysave.com/wp-content/uploads/2009/11/untitled.html">demo</a></strong>.</p>
<p>Sin más que añadir, aquí está el código. Primero, hay que añadir el botón y el texto ancla a la página o la plantilla. El botón debería ir al final de la página, justo encima de la etiqueta <code>&lt;/body&gt;</code>. Y el texto ancla debería ir al principio de la página.</p>
<pre class="brush: xml;">&lt;div id=&quot;top&quot;&gt;&lt;/div&gt; &lt;!--esto va al principio--&gt;
&lt;div id=&quot;message&quot;&gt;
	&lt;a href=&quot;#top&quot; id=&quot;top-link&quot;&gt;Volver al inicio&lt;/a&gt;
&lt;/div&gt; &lt;!--esto va al final--&gt;</pre>
<p>Ahora, necesitaremos algo de CSS para formatear el aspecto del botón. Seguramente habrás visto que se ha dejado un espacio al final de la página para que puedan leerse las últimas líneas de texto sin que se vean obstruidas por el botón. Aquí está la hoja de estilos:</p>
<pre class="brush: css;">
#message
{
	/* display: block antes de ocultarlo */
	display: block;
	display: none;

	/* el enlace va sobre todos los otros elementos */
	z-index: 999;

	/* el enlace no oculta texto tras él */
	opacity: .8;

	/* el enlace se queda en el mismo lugar de la página */
	position: fixed;

	/* el enlace va al final de la página */
	top: 100%;
	margin-top: -80px; /* = altura + margen inferior elegido */

	/* centrando el enlace */
	left: 80%;
	margin-left: -80px;

	/* redondea las esquinas (como prefieras) */
	-moz-border-radius: 24px;
	-webkit-border-radius: 24px;

	/* hazlo grande y fácil de ver (tamaño y estilo a tu elección) */
	width: 300px;
	line-height: 48px;
	height: 48px;
	padding: 10px;
	background-color: #000;
	font-size: 24px;
	text-align: center;
}

#message a {color: #fff;}
</pre>
<p>Y naturalmente, el jQuery. Asegúrate de haber incluido <strong>jQuery </strong>y el plugin <strong>ScrollTo</strong> en el código fuente:</p>
<pre class="brush: jscript;">
$(function () // ejecuta este código al cargar la página (AKA DOM load)
{
	/* inicia las variables localmente para mejorar el rendimiento */
	var scroll_timer;
	var displayed = false;
	var $message = $('#message');
	var $window = $(window);
	var top = $(document.body).children(0).position().top;

	/* reacciona al evento 'scroll' en window */
	$window.scroll(function ()
	{
	window.clearTimeout(scroll_timer);
	scroll_timer = window.setTimeout(function ()
	{ // usa un temporizador para el rendimiento
		if($window.scrollTop() &lt;= top) // ocúltalo si está al principio de la página
		{
			displayed = false;
			$message.fadeOut(500);
		}
		else if(displayed == false) // muéstralo si se hace scroll hacia abajo
		{
			displayed = true;
			$message.stop(true, true).fadeIn(500).click(function () { $message.fadeOut(500); });
		}
	}, 100);
});

$('#top-link').click(function(e)
{
	e.preventDefault();
	$.scrollTo(0,300);
});
});
</pre>
<p>… y listo! Comparte este código con tus amigos, y aprovecha los comentarios para contar qué tal te funciona. También puedes aportar tus sugerencias para mejorar sus funciones.</p>
<p><strong>Fuente: <a href="http://www.cherrysave.com/jquery/create-a-hovering-scroll-to-top-button-with-jquery/">Create a Hovering Scroll to Top button With jQuery [cherrysave]</a></strong></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 1107px; width: 1px; height: 1px;">
<div id="nav-above" class="navigation">
<div class="nav-previous"><a href="http://www.cherrysave.com/programming/jquery-for-beginners-selectors-hierarchies-and-attributes-oh-my/"><span class="meta-nav"> </span> jQuery for Beginners: Selectors, Hierarchies and Attributes, Oh My!</a></div>
<div class="nav-next"><a href="http://www.cherrysave.com/jquery/jquery-for-beginners-using-simple-jquery-effects-for-a-rockstar-user-interface/">JQuery for Beginners: Using Simple JQuery Effects for a Rockstar User Interface <span class="meta-nav">»</span></a></div>
</div>
<h2 class="entry-title">Create a Hovering Scroll to Top Button With JQuery</h2>
<p><!-- google_ad_section_start --></p>
<div id="attachment_249" class="wp-caption alignnone" style="width: 584px;"><a href="http://www.cherrysave.com/wp-content/uploads/2009/11/scroll.jpg"><img class="size-full wp-image-249" title="JQuery Scroll to Top Button" src="http://www.cherrysave.com/wp-content/uploads/2009/11/scroll.jpg" alt="JQuery Hovering Scroll to Top Button" width="574" height="138" /></a></p>
<p class="wp-caption-text">JQuery Hovering Scroll to Top Button</p>
</div>
<p>Looking for an easy way to help your readers power through long web pages? Sick of scrolling for minutes at a time to get to the top of the document? Here’s a simple Scroll to Top button that hovers in the bottom right corner of your screen. Best of all, it’s made entirely from JQuery, CSS, and HTML, so you can easily drop it into preexisting pages and customize it to your hearts content.</p>
<p><script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"></script></p>
<p>The code is largely adapted from <a href="http://briancray.com/2009/10/06/scroll-to-top-link-jquery-css/">Brian Cray</a> and <a href="http://davidwalsh.name/jquery-top-link">David Walsh</a>, but it’s a combination of the two ideas with the addition of a fade effect on the button and smooth scrolling action. Also, I moved the button to the bottom right corner of the page because I thought it was a little less intrusive. The browser will nicely and smoothly scroll up to the anchor when users click the link, and this is thanks to the super helpful <a href="http://flesler.blogspot.com/2007/10/jqueryscrollto.html">ScrollTo plugin</a> for JQuery, built by Ariel Flesler.</p>
<p>What’s that? You want to see it in action? Okay, you should check out the <strong><a href="http://www.cherrysave.com/wp-content/uploads/2009/11/untitled.html">demo</a></strong>!</p>
<p>And without further ado, here’s the code. First, add the button and the anchor to your web page or template. The button should go at the bottom of your page, right above the <code>&lt;/body&gt; </code>tag. And, the anchor should go at the top of your page.</p>
<div id="highlighter_148582" class="syntaxhighlighter ">
<div class="bar                                              ">
<div class="toolbar"><a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://www.cherrysave.com/jquery/create-a-hovering-scroll-to-top-button-with-jquery/#viewSource">view source</a></p>
<div class="item copyToClipboard"><object id="highlighter_148582_clipboard" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="16" height="16" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="highlighterId=highlighter_148582" /><param name="src" value="http://www.cherrysave.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" /><param name="wmode" value="transparent" /><embed id="highlighter_148582_clipboard" type="application/x-shockwave-flash" width="16" height="16" src="http://www.cherrysave.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" wmode="transparent" flashvars="highlighterId=highlighter_148582"></embed></object></div>
<p><a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://www.cherrysave.com/jquery/create-a-hovering-scroll-to-top-button-with-jquery/#printSource">print</a><a class="item about" style="width: 16px; height: 16px;" title="?" href="http://www.cherrysave.com/jquery/create-a-hovering-scroll-to-top-button-with-jquery/#about">?</a></p>
</div>
</div>
<div class="ruler line">
<div>·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150</div>
</div>
<div class="lines">
<div class="line alt1"><code class="number">1.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain">&lt;</code><code class="keyword">div</code> <code class="color1">id</code><code class="plain">=</code><code class="string">"top"</code><code class="plain">&gt;&lt;/</code><code class="keyword">div</code><code class="plain">&gt; </code><code class="comments">&lt;!--this goes at the top--&gt;</code></span></span></div>
<div class="line alt2"><code class="number">2.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain">&lt;</code><code class="keyword">div</code> <code class="color1">id</code><code class="plain">=</code><code class="string">"message"</code><code class="plain">&gt;&lt;</code><code class="keyword">a</code> <code class="color1">href</code><code class="plain">=</code><code class="string">"#top"</code> <code class="color1">id</code><code class="plain">=</code><code class="string">"top-link"</code><code class="plain">&gt;Scroll to Top&lt;/</code><code class="keyword">a</code><code class="plain">&gt;&lt;/</code><code class="keyword">div</code><code class="plain">&gt; </code><code class="comments">&lt;!--this goes at the bottom--&gt;</code></span></span></div>
</div>
</div>
<p>Now, you’ll need some CSS to format the look and feel of the button. As you probably noticed, I left a gap at the bottom of the page so you can read the last few lines of text without being obstructed by the button. Here’s the stylesheet:</p>
<div id="highlighter_20671" class="syntaxhighlighter ">
<div class="bar                                                           ">
<div class="toolbar"><a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://www.cherrysave.com/jquery/create-a-hovering-scroll-to-top-button-with-jquery/#viewSource">view source</a></p>
<div class="item copyToClipboard"><object id="highlighter_20671_clipboard" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="16" height="16" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="highlighterId=highlighter_20671" /><param name="src" value="http://www.cherrysave.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" /><param name="wmode" value="transparent" /><embed id="highlighter_20671_clipboard" type="application/x-shockwave-flash" width="16" height="16" src="http://www.cherrysave.com/wp-content/plugins/syntaxhighlighter/syntaxhighlighter/scripts/clipboard.swf" wmode="transparent" flashvars="highlighterId=highlighter_20671"></embed></object></div>
<p><a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://www.cherrysave.com/jquery/create-a-hovering-scroll-to-top-button-with-jquery/#printSource">print</a><a class="item about" style="width: 16px; height: 16px;" title="?" href="http://www.cherrysave.com/jquery/create-a-hovering-scroll-to-top-button-with-jquery/#about">?</a></p>
</div>
</div>
<div class="ruler line">
<div>·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150</div>
</div>
<div class="lines">
<div class="line alt1"><code class="number">01.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain">.container {</code><code class="keyword">padding</code><code class="plain">: </code><code class="value">0</code> <code class="value">0</code> <code class="value">70px</code> <code class="value">0</code><code class="plain">;} </code><code class="comments">/* the gap for the bottom */</code></span></span></div>
<div class="line alt2"><code class="number">02.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"> </span></span></div>
<div class="line alt1"><code class="number">03.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain">#message</code></span></span></div>
<div class="line alt2"><code class="number">04.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain">{</code></span></span></div>
<div class="line alt1"><code class="number">05.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="comments">/* display: block before hiding */</code></span></span></div>
<div class="line alt2"><code class="number">06.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">display</code><code class="plain">: </code><code class="value">block</code><code class="plain">;</code></span></span></div>
<div class="line alt1"><code class="number">07.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">display</code><code class="plain">: </code><code class="value">none</code><code class="plain">;</code></span></span></div>
<div class="line alt2"><code class="number">08.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"> </span></span></div>
<div class="line alt1"><code class="number">09.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="comments">/* link is above all other elements */</code></span></span></div>
<div class="line alt2"><code class="number">10.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">z-index</code><code class="plain">: </code><code class="value">999</code><code class="plain">;</code></span></span></div>
<div class="line alt1"><code class="number">11.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"> </span></span></div>
<div class="line alt2"><code class="number">12.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="comments">/* link doesn't hide text behind it */</code></span></span></div>
<div class="line alt1"><code class="number">13.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain">opacity: .</code><code class="value">8</code><code class="plain">;</code></span></span></div>
<div class="line alt2"><code class="number">14.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"> </span></span></div>
<div class="line alt1"><code class="number">15.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="comments">/* link stays at same place on page */</code></span></span></div>
<div class="line alt2"><code class="number">16.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">position</code><code class="plain">: </code><code class="value">fixed</code><code class="plain">;</code></span></span></div>
<div class="line alt1"><code class="number">17.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"> </span></span></div>
<div class="line alt2"><code class="number">18.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="comments">/* link goes at the bottom of the page */</code></span></span></div>
<div class="line alt1"><code class="number">19.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">top</code><code class="plain">: </code><code class="value">100%</code><code class="plain">;</code></span></span></div>
<div class="line alt2"><code class="number">20.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">margin-top</code><code class="plain">: </code><code class="value">-80px</code><code class="plain">; </code><code class="comments">/* = height + preferred bottom margin */</code></span></span></div>
<div class="line alt1"><code class="number">21.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"> </span></span></div>
<div class="line alt2"><code class="number">22.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="comments">/* link is centered */</code></span></span></div>
<div class="line alt1"><code class="number">23.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">left</code><code class="plain">: </code><code class="value">80%</code><code class="plain">;</code></span></span></div>
<div class="line alt2"><code class="number">24.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">margin-left</code><code class="plain">: </code><code class="value">-80px</code><code class="plain">;</code></span></span></div>
<div class="line alt1"><code class="number">25.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"> </span></span></div>
<div class="line alt2"><code class="number">26.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="comments">/* round the corners (to your preference) */</code></span></span></div>
<div class="line alt1"><code class="number">27.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain">-moz-border-radius: </code><code class="value">24px</code><code class="plain">;</code></span></span></div>
<div class="line alt2"><code class="number">28.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain">-webkit-border-radius: </code><code class="value">24px</code><code class="plain">;</code></span></span></div>
<div class="line alt1"><code class="number">29.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"> </span></span></div>
<div class="line alt2"><code class="number">30.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="comments">/* make it big and easy to see (size, style to preferences) */</code></span></span></div>
<div class="line alt1"><code class="number">31.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">width</code><code class="plain">: </code><code class="value">300px</code><code class="plain">;</code></span></span></div>
<div class="line alt2"><code class="number">32.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">line-height</code><code class="plain">: </code><code class="value">48px</code><code class="plain">;</code></span></span></div>
<div class="line alt1"><code class="number">33.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">height</code><code class="plain">: </code><code class="value">48px</code><code class="plain">;</code></span></span></div>
<div class="line alt2"><code class="number">34.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">padding</code><code class="plain">: </code><code class="value">10px</code><code class="plain">;</code></span></span></div>
<div class="line alt1"><code class="number">35.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">background-color</code><code class="plain">: </code><code class="value">#000</code><code class="plain">;</code></span></span></div>
<div class="line alt2"><code class="number">36.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">font-size</code><code class="plain">: </code><code class="value">24px</code><code class="plain">;</code></span></span></div>
<div class="line alt1"><code class="number">37.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="keyword">text-align</code><code class="plain">: </code><code class="value">center</code><code class="plain">;</code></span></span></div>
<div class="line alt2"><code class="number">38.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain">}</code></span></span></div>
<div class="line alt1"><code class="number">39.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"> </span></span></div>
<div class="line alt2"><code class="number">40.</code><span class="content"><span class="block" style="margin-left: 0px ! important;"><code class="plain">#message a { </code><code class="keyword">color</code><code class="plain">: </code><code class="value">#fff</code><code class="plain">; }</code></span></span></div>
</div>
</div>
<p>And, of course, the JQuery. Make sure you have JQuery and the ScrollTo plugin included in the source:</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.webmasterio.com/2009/11/10/crea-un-boton-flotante-de-volver-al-inicio-con-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
