<?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>CaChi &#187; CSS</title>
	<atom:link href="http://cachi.temiga.org/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://cachi.temiga.org</link>
	<description>[ TEMIGA ]</description>
	<lastBuildDate>Mon, 19 Jul 2010 14:10:08 +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>Pseudo-class y Pseudo-elements CSS</title>
		<link>http://cachi.temiga.org/2010/03/18/pseudo-class-y-pseudo-elements-css/</link>
		<comments>http://cachi.temiga.org/2010/03/18/pseudo-class-y-pseudo-elements-css/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 21:24:48 +0000</pubDate>
		<dc:creator>CaChi</dc:creator>
				<category><![CDATA[web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Programing]]></category>

		<guid isPermaLink="false">http://cachi.temiga.org/?p=513</guid>
		<description><![CDATA[Desde hace rato he querido comenzar a compartir algunas notas sobre CSS, como saben el desarrollo web es un abanico bastante amplio de tecnologias y todas son importante cada cual tiene su responsabilidad en este mundillo de la web. Este en post iniciare con algunas de las pseudo-class y pseudo-elements que existen (las mas importantes)]]></description>
			<content:encoded><![CDATA[<p>Desde hace rato he querido comenzar a compartir algunas notas sobre <a title="Cascading Style Sheets" href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets" target="_blank">CSS</a>, como saben el desarrollo web es un abanico bastante amplio de tecnologias y todas son importante cada cual tiene su responsabilidad en este mundillo de la web.</p>
<p>Este en post iniciare con algunas de las pseudo-class y pseudo-elements que existen (las mas importantes) en CSS2 y CSS3, basicamente para tener una idea de lo que podemos lograr hacer con un poco de imaginación haciendo uso de las bondades que CSS nos ofrece, demas esta decir la potencialidad que este encierra.</p>
<h2>Pseudo-Class CSS2</h2>
<p>La pseudo-clase <strong><em>:first-child</em></strong> selecciona el primer elemento hijo de un elemento. Consideremos el siguiente ejemplo.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">p em<span style="color: #3333ff;">:first-child </span><span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">//Código HTML
&nbsp;
&lt;p&gt;Cascading Style Sheets &lt;em&gt;(CSS)&lt;/em&gt; is a style sheet language used to describe
the presentation semantics (that is, the look and formatting) of a document written in a
markup language. Its most common application is to style web pages  written in
&lt;em&gt;HTML&lt;/em&gt;  and &lt;em&gt;XHTML&lt;/em&gt;, but the language can also be applied
to any kind of &lt;em&gt;XML&lt;/em&gt; document, including SVG and XUL.&lt;/p&gt;</pre></div></div>

<p>Vayamos por parte, para entender debemos interpretar el CSS definido, en el cual dado el <a href="http://www.w3.org/TR/2009/CR-CSS2-20090908/selector.html" target="_blank">selector</a> <strong><em>p em:first-child</em></strong> aplique color rojo (red) a ese elemento, es decir al primer elemento que coincida, de acuerdo al HTML colocado será y el selector CSS a quien se le aplicará el color red será &lt;em&gt;CSS&lt;/em&gt;</p>
<p style="text-align: center;"><a href="http://cachi.temiga.org/wp-content/uploads/css-result.png"><img class="aligncenter" title="CSS Result" src="http://cachi.temiga.org/wp-content/uploads/css-result.png" alt="" width="254" height="100" /></a></p>
<p>Otro truco bien interesante es colocar la primera letra de un parrafo en mayúscula.</p>
<p style="text-align: center;"><a href=" http://cachi.temiga.org/wp-content/uploads/capital-first-letter.png"><img class="aligncenter" title="CSS Result first letter capital" src=" http://cachi.temiga.org/wp-content/uploads/capital-first-letter.png" alt="" width="249" height="119" /></a></p>
<p>Con el mismo código en HTML y agregando un estilo damos el efecto anterior.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">p<span style="color: #00AA00;">:</span><span style="color: #3333ff;">:first-letter</span><span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">50px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">bold</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">&#125;</span></pre></div></div>

<h2>pseudo-class relacionada con links (enlaces)</h2>
<p>Solo voy a mencionar los que considero mas importantes.</p>
<ul>
<li><strong>:link</strong> se aplica a todos los enlaces que todavía no han sido visitados por el usuario.</li>
<li><strong>:visited</strong> se aplica a todos los enlaces que han sido visitados al menos una vez por el usuario.</li>
<li><strong>:hover</strong> (muy utilizado) se activa cuando el usuario pasa el ratón o cualquier otro elemento apuntador por encima de un elemento.</li>
</ul>
<h2>Ahora con CSS3</h2>
<p>No debe quedar duda las grandes mejoras que han incluido CSS3, veamos algunas de las <a title="CSS3 pseudo-class" href="http://www.w3.org/TR/css3-selectors/#structural-pseudos" target="_blank">pseudo-class que la revisión de CSS3</a> ha incorporado.</p>
<p>Cuantos no han intentando hacer un <em>efecto de zebra</em> sobre una tabla normalmente se recurria a soluciones en JavaScript o bien con otros artificios, para aliviar esta tarea en CSS3 tenemos <strong><a href="http://www.w3.org/TR/css3-selectors/#nth-child-pseudo">:nth-child(N)</a></strong> veamos como se usa y si quieres ir mas allá puedes ver <a href="http://css-tricks.com/how-nth-child-works/">como funciona :nth-child(N)</a>.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">tr<span style="color: #3333ff;">:nth-</span>child<span style="color: #00AA00;">&#40;</span>2n<span style="color: #00AA00;">+</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">&#41;</span> <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#eee</span><span style="color: #00AA00;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">    &lt;table&gt;
        &lt;tr&gt;&lt;th&gt;Header&lt;/th&gt;&lt;th&gt;Header&lt;/th&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Data&lt;/td&gt;&lt;td&gt;Data&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Data&lt;/td&gt;&lt;td&gt;Data&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Data&lt;/td&gt;&lt;td&gt;Data&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Data&lt;/td&gt;&lt;td&gt;Data&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Data&lt;/td&gt;&lt;td&gt;Data&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Data&lt;/td&gt;&lt;td&gt;Data&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;</pre></div></div>

<p style="text-align: center;"><a href="http://cachi.temiga.org/wp-content/uploads/nth-child.png"><img class="aligncenter" title="nth-child" src="http://cachi.temiga.org/wp-content/uploads/nth-child.png" alt="" width="278" height="192" /></a></p>
<p>Esto de <em>first-chlid</em> y <em>last-child</em> a primera vista es simple pero termina siendo bastante abstracto a medida que tenemos diseños complejos, vemos otro ejemplo tenemos una lista con &lt;em&gt;ul&lt;/em&gt; deseamos que el primero hijo (first-child) y el último (last-child) no se comporten como todos deseamos colocarle un color.</p>
<p style="text-align: center;"><a href="http://cachi.temiga.org/wp-content/uploads/last-child-first-child.png"><img class="aligncenter" title="last-child y first-child" src="http://cachi.temiga.org/wp-content/uploads/last-child-first-child.png" alt="" width="259" height="178" /></a></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">ul <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">white</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">list-style</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span> <span style="color: #993333;">outside</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span><span style="color: #933;">0px</span><span style="color: #00AA00;">&#125;</span>
ul li <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">border-bottom</span><span style="color: #00AA00;">:</span> <span style="color: #933;">3px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span><span style="color: #00AA00;">&#125;</span>
li<span style="color: #3333ff;">:last-child</span><span style="color: #00AA00;">,</span> li<span style="color: #3333ff;">:first-child</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#ccc</span><span style="color: #00AA00;">&#125;</span>
li<span style="color: #3333ff;">:last-child </span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>En la línea 1 se indica que todos los li van a tener un border-bottom.<br />
En la línea 3 se indica que el primero y último hijo tenga un background distinto al de todos los demas.<br />
En la línea 4 se indica que el border-bottom definido en la línea 1 quede sin efecto para el último hijo de la lista.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&lt;ul&gt;
	&lt;li&gt;asdad&lt;/li&gt;
	&lt;li&gt;asdad&lt;/li&gt;
	&lt;li&gt;asdad&lt;/li&gt;
	&lt;li&gt;adasd&lt;/li&gt;
	&lt;li&gt;adasd&lt;/li&gt;
	&lt;li&gt;adasd&lt;/li&gt;
&lt;/ul&gt;</pre></div></div>

<p style="text-align: center;"><a href="http://cachi.temiga.org/wp-content/uploads/first-child-last-child-demo.png"><img class="aligncenter" title="last-child y first-child demo" src="http://cachi.temiga.org/wp-content/uploads/first-child-last-child-demo.png" alt="" width="116" height="157" /></a></p>
<p>Con esto finalizó este post donde la idea básica fue mostrar las bondades (solo algunas) de lo que ofrece CSS pueden ver todo lo que se hizo a lo largo de este post <a href="http://cachi.temiga.org/wp-content/demo/css-demo.html">demo</a> , si crees que este post puede ser mejor dimelo!&#8230;</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcachi.temiga.org%2F2010%2F03%2F18%2Fpseudo-class-y-pseudo-elements-css%2F&amp;linkname=Pseudo-class%20y%20Pseudo-elements%20CSS"><img src="http://cachi.temiga.org/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://cachi.temiga.org/2010/03/18/pseudo-class-y-pseudo-elements-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
