<?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>Colores Efímeros &#187; css</title>
	<atom:link href="http://coloresefimeros.com/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://coloresefimeros.com</link>
	<description>Porque todo cambia...</description>
	<lastBuildDate>Tue, 28 Jun 2011 10:41:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Básicos: Sintaxis de CSS</title>
		<link>http://coloresefimeros.com/2009/08/12/basicos-sintaxis-de-css/</link>
		<comments>http://coloresefimeros.com/2009/08/12/basicos-sintaxis-de-css/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 15:32:39 +0000</pubDate>
		<dc:creator>Juan G. Hurtado</dc:creator>
				<category><![CDATA[Básicos]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[desarrollo web]]></category>

		<guid isPermaLink="false">http://coloresefimeros.com/?p=71</guid>
		<description><![CDATA[Con este primer &#8220;básico&#8221; quiero dar comienzo a una serie de artículos en los que explicar las cosas más básicas acerca de aquellos lenguajes y herramientas que usamos a la hora de desarrollar en el mundo web. Y una muy buena forma de comenzar es hablando sobre CSS y su sintaxis. Por si aún no [...]]]></description>
			<content:encoded><![CDATA[<p>Con este primer &#8220;básico&#8221; quiero dar comienzo a una serie de artículos en los que explicar las cosas <strong>más básicas</strong> acerca de aquellos lenguajes y herramientas que usamos a la hora de desarrollar en el mundo web. Y una muy buena forma de comenzar es hablando sobre <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr> y su sintaxis.</p>
<p>Por si aún no lo tenéis claro, <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr> es un lenguaje que se utiliza para aplicarle estilos al contenido de nuestras páginas web. ¿Qué significa eso de <q>dar estilos</q>? Muy sencillo, dar estilos significa poner bonita una página. Especificarle un tipo de letra, su color, su tamaño. Decir dónde se coloca cada bloque de textos, qué color de fondo van a llevar. Significa poner imágenes decorativas, bordes. En definitiva, todo lo que tenga que ver con el aspecto de una web se hace (o se debe hacer) mediante <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr>.</p>
<p>A la hora de escribir todas las reglas que definirán todas estas cosas con las que pondremos bonita la web, se debe seguir una sintaxis concreta para que el navegador web pueda entender qué es lo que queremos decir con cada regla. Esta sintaxis está estandarizada por el <a href="http://www.w3.org/" title="World Wide Web Consortium - Web Standards">W3C</a>, y podéis leer todo lo que queráis sobre ella en el <a href="http://www.w3.org/TR/CSS21/" hreflang="en" title="Cascading Style Sheets Level 2 Revision 1 Specification">documento sobre <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr> que tienen disponible</a>.</p>
<p>La sintaxis de <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr> es muy sencilla, sigue la siguiente estructura:</p>
<pre><code>selector {
	propiedad: valor;
	propiedad: valor;
	propiedad: valor;
}</code></pre>
<p>En el trozo de código anterior vemos como hay agrupadas entre unos símbolos de llave (<code>{ }</code>) una serie de pares &#8220;propiedad-valor&#8221;. Estas propiedades se corresponderían con todo aquello que queramos definir en lo referente a aspecto (color de fondo, tamaño de letra, etc.) y deben estar separados por el símbolo de dos puntos (<code>:</code>). Además, después del valor asociado a una propiedad debe colocarse el símbolo de punto y coma (<code>;</code>) para dar por finalizada la asignación de valores a la propiedad.</p>
<p>Esta agrupación de propiedades se aplicará sólo sobre aquellos elementos que coincidan con lo especificado en el selector. Pongamos un ejemplo para verlo más claro: Imaginad que queremos que los enlaces de nuestra web sean rojos y no estén subrayados.</p>
<pre><code>a {
	color: red;
	text-decoration: none;
}</code></pre>
<p>Como podéis ver he definidos dos pares &#8220;propiedad-valor&#8221; que determinan el color de letra que quiero, en este caso <code>red</code> para el color rojo, y que no se quiere subrayado. Estas dos propiedades se encuentran englobadas dentro de un grupo con el selector que especifica que sólo se aplicará a todos los elementos que sean <code>A</code> (enlaces) en nuestra página web.</p>
<p>A primera vista puede parecer muy sencillo, pero hay varios conceptos algo más complicados de los que hablaré en próximos &#8220;básicos&#8221;, como pueden ser todos los tipos de selectores que hay, la especificidad de los mismos, la aplicación de propiedades en cascada, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://coloresefimeros.com/2009/08/12/basicos-sintaxis-de-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Iteración 02: Primeros pasos con CSS</title>
		<link>http://coloresefimeros.com/2009/07/29/iteracion-02-primeros-pasos-con-css/</link>
		<comments>http://coloresefimeros.com/2009/07/29/iteracion-02-primeros-pasos-con-css/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 19:39:51 +0000</pubDate>
		<dc:creator>Juan G. Hurtado</dc:creator>
				<category><![CDATA[Iteraciones]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://coloresefimeros.com/?p=54</guid>
		<description><![CDATA[En esta iteración nos metemos en faena con el CSS. Nada complicado, sólo los primeros pasos para quitar esa falta de estilos tan fea que había hasta ahora y tener una base sobre la que comenzar a dar las pinceladas que conformarán el diseño final. Si observáis la hoja de estilos para esta iteración veréis [...]]]></description>
			<content:encoded><![CDATA[<p>En esta iteración nos metemos en faena con el <abbr title="Cascading Style Sheets" lang="en" xml:lang="en">CSS</abbr>. Nada complicado, sólo los primeros pasos para quitar esa falta de estilos tan fea que había hasta ahora y tener una base sobre la que comenzar a dar las pinceladas que conformarán el diseño final.</p>
<p>Si observáis <a lang="en" xml:lang="en" href="http://coloresefimeros.com/ejemplos/iteraciones/02/css/style.css" title="Hoja de estilos CSS para la iteración 02 del diseño del blog Colores Efímeros">la hoja de estilos para esta iteración</a> veréis que apenas hay unas pocas reglas en las que aplico la tipografía, algunos colores y muy poca cosa más. Pero todo lo que he definido en la hoja de estilos tiene su por qué.</p>
<h3>Tipografía</h3>
<p>Una de las primeras cosas que me gusta definir cuando comienzo a maquetar un diseño es su tipografía. En mi trabajo diario no soy yo el que define el tipo a utilizar, de eso se encarga el diseñador, y yo lo único que tengo que hacer es seguir sus instrucciones. Pero en este caso es distinto, porque el diseñador soy yo.</p>
<p>Para <a title="Página principal del blog Colores Efímeros" href="http://coloresefimeros.com/">Colores Efímeros</a> he decidido que la tipo a utilizar sea <a title="Helvética" href="http://es.wikipedia.org/wiki/Helvética">la famosísima Helvética</a>. Siempre me ha parecido muy precisa, muy cuidada y sobre todo <strong>muy legible</strong>, que es de lo que se trata. Así que en mi hoja de estilos definí la siguiente regla relativa a la tipografía para el <code>body</code> completo:</p>
<pre><code>font: 10px/1.6 Helvetica, Arial, sans-serif;</code></pre>
<p>Es probable que a muchos de vosotros os parezca chocante que use un tamaño en píxeles para el tipo, ya que <strong>nuestro querido Internet Explorer 6 no es capaz de permitirle al usuario cambiar el tamaño del texto si está definido en esa unidad de media</strong>. Pero como Colores Efímeros es mi blog personal, he decidido que voy a darle un tratamiento especial a este navegador, así que no tiene importancia que use un tamaño fijo de tipo.</p>
<p>Según la regla anterior, además de decidir que quiero Helvética (y las demás por si se da el caso de que alguien no la tenga en su máquina), defino que quiero un tamaño base de <code>10px</code> para el texto. Este número no es al azar, obviamente. Como en el interior del documento quiero usar unidades relativas de medida para (casi) todos los elementos, en concreto quiero usar <code>em</code>, me resulta mucho más fácil hacer los cálculos si sé de antemano que <code>1em</code> equivale a <code>10px</code>. Sobre todo teniendo en cuenta que más adelante quiero basar la maquetación del blog en base a una grilla elástica (hablando del tema, aquí os dejo un par de artículos de <a title="The Old Fashioned, blog de Rodrigo Galíndez" href="http://rodrigogalindez.com">Rodrigo Galíndez</a> sobre el tema: <a title="Artículo de Rodrigo Galíndez sobre el diseño con grillas (formato PDF, 1.6 Mb)" href="http://www.rodrigogalindez.com/files/12.pdf"><cite>Diseño con grillas</cite> (formato <abbr title="Portable Document Format" lang="en" xml:lang="en">PDF</abbr>, 1.6 Mb)</a> y <a title="Artículo de Rodrigo Galíndez sobre el uso de grillas (formato PDF, 2.4 Mb)" href="http://www.rodrigogalindez.com/files/13.pdf"><cite>Utilizando grillas</cite> (formato <abbr title="Portable Document Format" lang="en" xml:lang="en">PDF</abbr>, 2.4 Mb)</a>).</p>
<h3>Maquetación</h3>
<p>Para controlar la maquetación de los elementos he necesitado englobar todo el contenido del documento en un <code>&lt;div id="wrapper"&gt;&lt;/div&gt;</code> con el que poder jugar para centrar el bloque de texto. Para hacerlo he usado la técnica de aplicarle un ancho concreto, y determinar que sus márgenes laterales sean automáticos:</p>
<pre><code>
#wrapper {
	margin: 0 auto;
	min-width: 640px;
	width: 64em;
}
</code></pre>
<p>Además de eso, y para asegurarme de que el ancho nunca sea menor de lo que considero adecuado, he definido un ancho mínimo con <code>min-width</code> de <code>640px</code>, que se corresponden con los <code>64em</code> si tenemos en cuenta que el tamaño base del tipo es de <code>10px</code>.</p>
<h3><code>clearfix</code></h3>
<p>Algo que me gusta tener en todas mis hojas de estilos es el <a title="Clearing a float container without source markup" hreflang="en" href="http://www.positioniseverything.net/easyclearing.html">archiconocido <code>clearfix</code></a>. Este conjunto de reglas se utiliza para &#8220;limpiar&#8221; bloques que contienen elementos flotantes. ¿No entendéis un pimiento? Bueno, os lo explico en el siguiente gráfico:</p>
<p><img title="Explicación sobre el clearfix" src="http://coloresefimeros.com/wp-content/uploads/2009/07/explicacion-clearfix.gif" alt="Explicación sobre el uso de limpiado de cajas con elementos flotantes mediante CSS" width="438" height="159" /></p>
<p>En la figura de la izquierda, tenemos un <code>div</code> que contiene a otros dos elementos, uno flotando a la izquierda y otro a la derecha. Como nuestro <code>div</code> padre no tiene colocado el <code>class="clearfix"</code>, no es capaz de &#8220;entender&#8221; que tiene dos elementos contenidos dentro de si. Se comporta como si los elementos flotantes <em>no existieran</em> y por tanto no ocupa el alto que debería. Imaginad que debajo hubiera texto, el resultado sería desastroso, los elementos flotados pisarían el texto y no quedaría nada bien.</p>
<p>Por el contrario, en la figura de la derecha, donde nuestro <code>div</code> sí tiene el <code>class="clearfix"</code>, no ocurre nada raro, ya que al tenerlo colocado entiende que posee contenido flotante, y se ajusta a la altura del mismo, comportándose de manera lógica.</p>
<p>Hay otros sistemas para hacer esto mismo (<code>clear: both</code>, etc.), pero de entre todos ellos considero que el mejor es este, y por eso siempre lo tengo en mis hojas de estilo:</p>
<pre><code>
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {display: inline-block;}

/* HACK: Esconder de IE/Mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* FIN-HACK: Esconder de IE/Mac */
</code></pre>
<h3>Ocultaciones</h3>
<p>Otra de las cosas que siempre me gusta tener en mi hoja de estilos, y la de este blog no se escapa de tenerla, es una serie de reglas para ocultar elementos. Quizá os sorprenda, porque con un simple <code>display: none;</code> bastaría. Pero hay un problema con esta regla, <strong>con ella estamos ocultando los elementos sobre los que la usemos a los ojos de la gran mayoría de lectores de pantalla</strong>.</p>
<p>Y vosotros os preguntaréis: <q>¿Y a quién cojones le importan los lectores de pantalla?</q> Pues tenéis razón, ni siquiera a mi me importan, dudo mucho que alguien vaya a entrar a mi blog con uno de ellos… Pero como <strong>no me cuesta absolutamente nada</strong>, uso las siguientes reglas para ocultar elementos:</p>
<pre><code>
.ocultar {
	height: 1px;
	left: -9999px;
	position: absolute;
	top: -9999px;
	width: 1px;
}
</code></pre>
<h3>Captura de la iteración</h3>
<p>Y de nuevo, para los visitantes que vengan del futuro y quieran ver cómo estaba el diseño del blog en la iteración número 02, aquí os dejo una captura.</p>
<ul class="enlacesIteracion">
<li><a href="http://coloresefimeros.com/ejemplos/iteraciones/02/">Iteración 02</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://coloresefimeros.com/2009/07/29/iteracion-02-primeros-pasos-con-css/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Iteración 00: Comenzando</title>
		<link>http://coloresefimeros.com/2009/07/19/iteracion-00-comenzando/</link>
		<comments>http://coloresefimeros.com/2009/07/19/iteracion-00-comenzando/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 16:13:05 +0000</pubDate>
		<dc:creator>Juan G. Hurtado</dc:creator>
				<category><![CDATA[Iteraciones]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://coloresefimeros.com/?p=14</guid>
		<description><![CDATA[Desde hace mucho tiempo llevo queriendo volver a tener un lugar donde escribir sobre los temas que me gustan, pero la pereza siempre ha podido conmigo. Y es por eso que, dándole muchas vueltas, he llegado a la conclusión de que esta puede ser una forma correcta de involucrarme de nuevo en el desarrollo y [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace mucho tiempo llevo queriendo volver a tener un lugar donde escribir sobre los temas que me gustan, pero la pereza siempre ha podido conmigo. Y es por eso que, dándole muchas vueltas, he llegado a la conclusión de que esta puede ser una forma correcta de involucrarme de nuevo en el desarrollo y mantenimiento de un blog.</p>
<p>Me explico: Como soy tan flojo y me da tanta pereza ponerme a diseñar algo que me guste y me convenza, lo que voy a hacer es <strong>empezar el blog sin diseño</strong>. Sin nada de diseño. Nada de <abbr title="Cascading Style Sheets" lang="en" xml:lang="en">CSS</abbr>, nada de Javascript, y nada de <abbr title="eXtended HyperText Markup Language" lang="en" xml:lang="en">XHTML</abbr> estudiado y pensado. Voy a comenzar desde cero, como en cualquier otro diseño de los que me toca maquetar en la oficina, pero en este caso <strong>explicando en cada momento qué es lo que he hecho, y por qué</strong>. A modo de tutoriales, si queréis verlo así (aunque lo cierto es que para mi es una excusa con la que empezar el blog sin tener que comerme el coco sobre el diseño).</p>
<p>En esta primera iteración, lo que he hecho ha sido quitarle el <abbr title="Cascading Style Sheets" lang="en" xml:lang="en">CSS</abbr> al tema por defecto de <a title="WordPress &gt; Blog Tool and Publishing Platform" href="http://wordpress.org/">WordPress</a>, el <a title="Kubrick - Binary Bonsai" href="http://binarybonsai.com/wordpress/kubrick/">Kubrick</a>. No he tocado nada de <abbr title="eXtended HyperText Markup Language" lang="en" xml:lang="en">XHTML</abbr>, no he añadido Javascript, no he traducido los textos… Y es así como voy a empezar. En la próxima iteración comenzaré modificando el <abbr title="eXtended HyperText Markup Language" lang="en" xml:lang="en">XHTML</abbr>, para obtener una estructura básica que me convenza semántica y estructuralmente hablando, y así iré avanzando en el diseño &#8220;en directo&#8221;.</p>
<p>Ni que decir tiene que aceptaré cualquier sugerencia que queráis hacerme, puesto que estoy convencido de que la gran mayoría de los que estéis interesados en seguir esta &#8220;aventura&#8221; sabéis mucho más de diseño y desarrollo web que yo mismo. También acepto consejos sobre <a title="WordPress &gt; Blog Tool and Publishing Platform" href="http://wordpress.org/">WordPress</a>, plataforma de la que no soy un gran conocedor.</p>
<p>Espero que disfrutéis leyéndome, al mismo tiempo que espero disfrutar yo escribiendo.</p>
]]></content:encoded>
			<wfw:commentRss>http://coloresefimeros.com/2009/07/19/iteracion-00-comenzando/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

