<?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>Quenerapú &#187; CSS</title>
	<atom:link href="http://quenerapu.com/categorias/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://quenerapu.com</link>
	<description>Sentado delante de un ordenador desde 1982. ¿De qué voy a hablar, si no?</description>
	<lastBuildDate>Mon, 12 Jul 2010 09:09:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>El layout con columnas más simple del mundo (probablemente)</title>
		<link>http://quenerapu.com/css/el-layout-con-columnas-mas-simple-del-mundo-probablemente/</link>
		<comments>http://quenerapu.com/css/el-layout-con-columnas-mas-simple-del-mundo-probablemente/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 16:19:54 +0000</pubDate>
		<dc:creator>Quenerapú</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[crossbrowser]]></category>
		<category><![CDATA[minimal]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://quenerapu.com/?p=125</guid>
		<description><![CDATA[Hace tiempo que deseaba terminar con mis quebraderos de cabeza al diseñar sitios web con columnas. Y creo que al fin lo he conseguido.]]></description>
			<content:encoded><![CDATA[<p>Hace mucho tiempo que deseaba dar definitivamente por cerrados mis quebraderos de cabeza al diseñar sitios web con columnas. Y creo que al fin lo he conseguido.</p>
<pre class="brush: xml;">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
 &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html;charset=utf-8&quot; /&gt;
&lt;title&gt;TinyCSS&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
*{margin:0;padding:0;}
h1{font-size:1em;}
.header{border-bottom:1px solid #aaa;}
.container{overflow:hidden;height:100% !important;}
.main{width:500px;margin-bottom:-1000px;padding-bottom:1000px;float:left;}
.sideBar{margin-bottom:-1000px;padding-bottom:1000px;float:right;}
.s1{width:160px;border-left:1px solid #aaa;}
.s2{width:300px;border-left:1px solid #aaa;}
.footer{border-top:1px solid #aaa;}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;header&quot;&gt;&lt;h1&gt;Header&lt;/h1&gt;&lt;/div&gt;
&lt;div class=&quot;container&quot;&gt;
	&lt;div class=&quot;sideBar s2&quot;&gt;&lt;h1&gt;Sidebar 2&lt;/h1&gt;&lt;/div&gt;
	&lt;div class=&quot;sideBar s1&quot;&gt;&lt;h1&gt;Sidebar 1&lt;/h1&gt;&lt;/div&gt;
	&lt;div class=&quot;main&quot;&gt;&lt;h1&gt;Main&lt;/h1&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;footer&quot;&gt;&lt;h1&gt;Footer&lt;/h1&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Si bien el resultado final es bastante feo (<a href="http://quenerapu.com/ejemplos/tinycss/01/">puedes ver una demo aquí</a>) el peso de este documento es de menos de 1Kb. y es compatible con <strong>Internet Explorer</strong> (versión 6 incluída), <strong>Firefox</strong>, <strong>Chrome</strong>, <strong>Opera</strong> y <strong>Safari</strong> (<a href="http://browsershots.org/http://quenerapu.com/ejemplos/tinycss/02/">Browsershots.org</a>).</p>
<p>No será difícil para un diseñador hábil con las CSS partir de este esqueleto para crear algo mucho más agradable a la vista.</p>
<p>Lo que más me gusta es que los <strong>&lt;div&gt;</strong> de las columnas pueden crecer al alto tanto como quieras sin preocuparte por sus vecinas, que se prolongarán en lo vertical para que todas sean iguales (<a href="http://quenerapu.com/ejemplos/tinycss/02/">con unos ejemplos me explico mejor</a>). Para ello no he usado ni javaScript ni el conocido método <a href="http://www.alistapart.com/articles/fauxcolumns/">Faux Columns</a>, sino un truco CSS que consiste en atribuir</p>
<pre class="brush: css; gutter: false;">
margin-bottom:-1000px; padding-bottom:1000px;
</pre>
<p>a cada una de las columnas, y</p>
<pre class="brush: css; gutter: false;">
overflow:hidden;
</pre>
<p>al <strong>&lt;div&gt;</strong> que las contiene.</p>
<p>Y para terminar, es importante recordar que en la línea</p>
<pre class="brush: css; gutter: false;">
.container{overflow:hidden;height:100% !important;}
</pre>
<p><strong>height:100% !important;</strong> son necesarios para que el sistema sea compatible con IE6. <a href="http://ie6update.com">El glorioso día en que IE6 sea desterrado</a> ya no será necesario incluir ese código.</p>
<p>Me ha ayudado mucho un viejo post de <a href="http://www.ejeliot.com/blog/61">Ed Elliot</a>. Gracias Ed!</p>
]]></content:encoded>
			<wfw:commentRss>http://quenerapu.com/css/el-layout-con-columnas-mas-simple-del-mundo-probablemente/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hojas de estilo CSS dinámicas</title>
		<link>http://quenerapu.com/css/hojas-de-estilo-css-dinamicas/</link>
		<comments>http://quenerapu.com/css/hojas-de-estilo-css-dinamicas/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 11:52:08 +0000</pubDate>
		<dc:creator>Quenerapú</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[heredoc]]></category>
		<category><![CDATA[switch]]></category>

		<guid isPermaLink="false">http://quenerapu.local/?p=72</guid>
		<description><![CDATA[Del mismo modo que generamos páginas HTML con PHP podemos generar páginas CSS dinámicas. Este artículo explica cómo hacerlo.]]></description>
			<content:encoded><![CDATA[<p>Es posible generar hojas de estilo dinámicas con PHP. El siguiente artículo sólo pretende mostrar la idea, pero naturalmente se puede &#8216;complicar&#8217; todo lo que uno quiera para obtener mejores resultados.</p>
<p>Supongamos que tengo una web en la que utilizo <a href="2009/02/26/el-sistema-de-plantillas-mas-simple-del-mundo-probablemente/">el sistema de plantillas más simple del mundo (probablemente)</a>. Mediante ese sistema podemos generar diferente HTML en cada plantilla, pero ¿cómo aplicaríamos una hoja de estilos propia para cada plantilla?.</p>
<p>Una solución sin complicarnos mucho sería crear diferentes hojas de estilo y llamar a la que corresponda en cada caso. Supongamos que la variable <strong>$tpl</strong> contiene el nombre de la plantilla:</p>
<pre class="brush: php;">
&lt;?php
$tpl = &quot;moderna&quot;;
echo &quot;
&lt;link rel='stylesheet'
type='text/css'
href='&quot;.$tpl.&quot;.css' /&gt;&quot;;
?&gt;
</pre>
<p>Pero a mi no me gusta la idea de tener varios archivos CSS esperando en una carpeta y elegir &#8216;el que toca&#8217; en cada caso. Me recuerda a aquellos tiempos feos (pre-PHP o pre-ASP) en que hacíamos sitios web estáticos, con decenas o incluso cientos de documentos HTML prácticamente iguales. ¿Si ahora creamos HTML dinámicamente, por qué no estamos creando también CSS dinámicamente? Esta es mi propuesta:</p>
<pre class="brush: php;">
&lt;?php
$tpl = &quot;moderna&quot;;
echo &quot;
&lt;link rel='stylesheet'
type='text/css'
href='estilos.php?tpl=$tpl' /&gt;&quot;;
?&gt;
</pre>
<p>LLama la atención que nuestra página de estilos ya no lleva la extensión .css, sino que se trata de un archivo PHP en toda regla. Este es el archivo <strong>estilos.php</strong>:</p>
<pre class="brush: php;">
&lt;?php
header('Content-type:text/css');
switch ($_GET['tpl'])
{
case &quot;clasica&quot; :$f=&quot;'Times New Roman'&quot;;$c=&quot;#0000cc&quot;;break;
case &quot;moderna&quot; :$f=&quot;Verdana&quot;;          $c=&quot;#cc0000&quot;;break;
default        :$f=&quot;Arial&quot;;            $c=&quot;#00cc00&quot;;break;
}
print &lt;&lt;&lt;_CSS
h1{font-family:{$f};color:{$c};}
_CSS;
?&gt;
</pre>
<p>Así, con un simple <strong>switch</strong> ajustamos el valor de las variables <strong>$f</strong> (para font-family) o <strong>$c</strong> (para color) en este sencillo ejemplo, de modo que los estilos para <strong>h1</strong> se construyen dinámicamente en función de la plantilla elegida.</p>
]]></content:encoded>
			<wfw:commentRss>http://quenerapu.com/css/hojas-de-estilo-css-dinamicas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
