<?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>css-3Blog &#187; pseudo-class</title>
	<atom:link href="http://www.css-3.hu/tag/pseudo-class/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.css-3.hu</link>
	<description>Ez a blog elsősorban a CSS 3-ról szól, amely a CSS stílusleíró nyelv legújabb verziója.</description>
	<lastBuildDate>Wed, 16 Mar 2011 17:25:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CSS 3 pszeudo-osztályok</title>
		<link>http://www.css-3.hu/2010/03/css-3-pszeudo-osztalyok/</link>
		<comments>http://www.css-3.hu/2010/03/css-3-pszeudo-osztalyok/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 21:13:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Nincs kategorizálva]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[CSS3 példa]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[pseudo-class]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://www.css-3.hu/?p=233</guid>
		<description><![CDATA[Miután megismerkedtünk a CSS 1 és 2-ben bevezetett pszeudo-osztályokkal, ideje megnézni, hogy mi újat hoz ezen a területen a CSS 3. Aki azt várja, hogy rengeteg új lehetőséget kapunk ezen a területen, nem fog csalódni. Az új pszeudo-osztályoknak hála rugalmasan rendelhetünk különböző stílusokat tartalmainkhoz, a nélkül, hogy osztályok sorozatával kellene teletűzdelnünk html fájlunkat.
Egy kép többet [...]]]></description>
			<content:encoded><![CDATA[<p>Miután <a href="/2010/03/css-pszeudo-osztalyok/">megismerkedtünk</a> a CSS 1 és 2-ben bevezetett pszeudo-osztályokkal, ideje megnézni, hogy mi újat hoz ezen a területen a CSS 3. Aki azt várja, hogy rengeteg új lehetőséget kapunk ezen a területen, nem fog csalódni.<span id="more-233"></span> Az új pszeudo-osztályoknak hála rugalmasan rendelhetünk különböző stílusokat tartalmainkhoz, a nélkül, hogy osztályok sorozatával kellene teletűzdelnünk html fájlunkat.</p>
<p>Egy kép többet ér ezer szónál, ezért kezdjük az ismerkedést egy <a href="/wp-content/code-samples/css3-pseudo-class.html" target="_blank">példával</a>. Igyekeztem egy olyan példafájlt szerkeszteni, ahol együtt tudom bemutatni mindazt, amiről ebben a posztban írni szeretnék. Elég nehéz volt minden lehetőségre olyan példát kitalálni, ami akár hasznos is lehet a való életben, de remélem, hogy ez a pszeudo-osztályok többségében sikerült. A példafájl első látásra valószínűleg kínai lesz, de az alábbi magyarázatokkal talán hasznosnak bizonyul.</p>
<p><code>:target</code> Bizonyára ismeritek az egyes oldalakon belül elhelyezhető ún. &#8220;horgonyokat&#8221;, amelyek lehetővé teszik, hogy egy link ne egy adott oldalra, hanem az oldalon belül valahova mutasson. Ha egy ilyen linkre kattintunk, akkor az URL végén <code>#valami</code> látható, ahol a <code>valami </code>a horgony neve. Pl. a <code>http://www.css-3.hu/wp-content/code-samples/css-pseudo-class.html#section1</code> jelenik meg a címsorban ha a példa fájl tartalomjegyzékének első hivatkozására kattintunk, ahol a link célpontjaként az első bekezdésre mutató horgony van beállítva. Az ilyen &#8220;célpontokhoz&#8221; lehet stílusokat rendelni a <code>:target</code> pszeudo-osztállyal. Ezt a lehetőséget a példában arra használtam fel, hogy a horgony célpontját képező <em>h3</em> fejlécnek saját stílust adjak. Tehát ha a felhasználó a tartalomjegyzékről egy adott horgonyra ugrik, akkor a horgony mellett megjelenik egy piros csík, jelezve, hogy &#8220;ide ugrottál&#8221;. A szükséges kód a következő volt:</p>
<pre class="brush: css">h3:target {
border-left: red thick solid;
padding-left: 20px;
}</pre>
<p><code>:nth-child</code> A CSS pszeudo-osztályokkal foglalkozó korábbi posztban foglalkoztam a <code>:first-child</code> pszeudo-osztállyal, ami lehetővé tette, hogy egy elemre akkor vonatkozzon a megadott stílus, ha ő a DOM struktúrában a szülő elemének az első gyermeke. Ezt a lehetőséget bővíti ki az <code>:nth-child</code> pszeudo-osztály, úgy hogy ne csak az első, hanem tetszőleges sorszámú elem vagy elemek legyenek kiválaszthatóak. A 3. elem kiválasztása például az <code>:nth-child(3)</code> megadásával történhet. De itt még nem ér véget az örömünk, ugyanis ennél lényegesen többet tud ez a pszeudo-osztály! A zárójelek között ugyanis nem csak egy konstanst adhatunk meg, hanem egy <em>an+b</em> alakú kifejezést, tehát előírhatjuk, hogy a stílus minden valahányadik elemre vonatkozzon. A példában ezt a táblázat páros sorainak alászínezésére használtam föl, a következő kóddal:</p>
<pre class="brush: css">tbody tr:nth-child(2n+2) {
background-color: #C4EAEA;
}</pre>
<p>Minden 2. sort akartam alászínezni, és mivel az n 0-ról indul (erre nincs befolyásunk), ezért kellett a +2.</p>
<p><code>&#58;only-of-type</code> Ez az érdekes pszeudo-osztály azokat az elemeket választja ki, akik egyedüliként léteznek adott típusúként a szülő elemükön belül. A példába tettem egy olyan sort, amiben csak egy kép van és egy olyat, amiben három. Az <code>&#58;only-of-type</code> segítségével beállítottam, hogy abban az esetben, ha csak egy kép van az adott sorban, akkor az kapjon egy bordó keretet. Ehhez a következő kódot használtam.</p>
<pre class="brush: css">img:only-of-type {
border: #990000 solid thick;
}</pre>
<p>Persze lehet vitatkozni azon, hogy ennek mennyi haszna van, de el tudok képzelni olyan design-t, ahol más stílust akarunk adni egy elemnek ha egyedül áll, és mást, ha több egyforma is van belőle.</p>
<p><code>:not()</code> Ez is egy érdekes pszeudo-osztály. Segítségével a stílus hatálya alól kizárhatunk egy adott osztálynak megfelelő elemet. A példában ezt arra használtam fel, hogy lent, a <strong>Hozzászólások</strong> részben minden olyan hozzászólás-fejlécet szürkével jelenítsek meg, amelyet nem az <em>admin</em> írt, azaz nem rendelkezik az <em>admin_comment</em> osztállyal. Ez a kizárás a következő kóddal valósult meg:</p>
<pre class="brush: css">.comment_header:not(.admin_comment) {
color: gray;
}</pre>
<p>Kompatibilitás tekintetében egész jól állunk a pszeudo-osztályokkal. Az Internet Explorer kivételével minden fontos böngésző támogatja őket. De még őt is rá lehet a legtöbb CSS 3 pszeudo-osztály támogatására egy javascript framework, például a <a href="http://www.jquery.com/">jquery</a> használatával. Az Operának a <code>:target</code> pszeudo-osztállyal gyűlik meg a baja egy kicsit, mert nem frissíti megfelelően a stílusokat a <em>Back</em> és a <em>Forward</em> gombok használatakor. Ezeket leszámítva minden működik, de itt is érvényes az, ami a CSS 3 megoldásokra általában: mivel a szabvány még nem végéleges, ne használjuk olyan dolgokra amelyek működése nélkülözhetetlen a weboldalunkon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.css-3.hu/2010/03/css-3-pszeudo-osztalyok/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS pszeudo-osztályok</title>
		<link>http://www.css-3.hu/2010/03/css-pszeudo-osztalyok/</link>
		<comments>http://www.css-3.hu/2010/03/css-pszeudo-osztalyok/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 22:57:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Nincs kategorizálva]]></category>
		<category><![CDATA[CSS 2.1]]></category>
		<category><![CDATA[CSS alapok]]></category>
		<category><![CDATA[pseudo-class]]></category>

		<guid isPermaLink="false">http://www.css-3.hu/?p=225</guid>
		<description><![CDATA[A következő cikkben a CSS 3-ban bevezetett új pszeudo-osztályokkal foglalkozunk majd, de hogy mindaz amit majd ott írok ne lógjon a levegőben, térjünk vissza egy kicsit a CSS 2-höz, és ismerjük meg az abban bevezetett pszeudo-osztályokat.
A CSS pszeudo-osztályai olyan nyelvi megoldások, amelyek segítségével külön stílusokat rendelhetünk az elemek egyes állapotaihoz. Legismertebb megnyilvánulása az, amikor egyes [...]]]></description>
			<content:encoded><![CDATA[<p>A következő cikkben a CSS 3-ban bevezetett új pszeudo-osztályokkal foglalkozunk majd, de hogy mindaz amit majd ott írok ne lógjon a levegőben, térjünk vissza egy kicsit a CSS 2-höz, és ismerjük meg az abban bevezetett pszeudo-osztályokat.<span id="more-225"></span></p>
<p>A CSS pszeudo-osztályai olyan nyelvi megoldások, amelyek segítségével külön stílusokat rendelhetünk az elemek egyes állapotaihoz. Legismertebb megnyilvánulása az, amikor egyes weboldalakon egy link fölé visszük az egérkurzort, és ennek hatására annak megváltozik a színe, vagy — ha addig nem volt aláhúzva — megjelenik az aláhúzás esetleg éppen fordítva. Persze ez csak a jéghegy csúcsa, íme az összes <a href="/wp-content/code-samples/css-pseudo-class.html" target="_blank">példa</a> egy csokorba gyűjtve, alább pedig az egyes pszeudo-osztályok részletesen.</p>
<p><code>:link</code> A linknek az az állapota, amelyet akkor vesz fel, amikor nincs fölötte a kurzor, és a link még nem lett meglátogatva. Az alábbi beállítással elérhetjük, hogy a linkünk ilyenkor sötétkék legyen.</p>
<pre class="brush: css">
a:link { color: #0000CC; }
</pre>
<p><code>:visited</code> A linknek az az állapota, amelyet akkor vesz fel, amikor a linket már meglátogattuk. Az alábbi beállítással elérhetjük, hogy a linkünk ilyenkor lila legyen.</p>
<pre class="brush: css">
a:visited { color: #990066; }
</pre>
<p><code>:hover</code> Az elem akkor kerül ebbe az állapotba, ha az egérkurzor fölötte áll. Nem csak linkre használható, szinte tetszőleges elemre vonatkozhat. A következő beállítással világoskékre változtathatjuk az egérkurzor alatti bekezdés színét.</p>
<pre class="brush: css">
p:hover { color: #0099FF; }
</pre>
<p><code>:active</code> Az elemnek az az állapota, amikor rákattintottunk, de még nem engedtük fel az egeret. Az alábbi beállítással elérhetjük, hogy bekezdésünk ilyenkor piros legyen.</p>
<pre class="brush: css">
p:active{ color: #FF0000; }
</pre>
<p><code>:focus</code> Az elemnek a fókuszált állapota, amikor az adott elem kapja a billentyűzetről érkező információt. Tipikus példa az input szövegmező, amely a következő beállítással világosszürke alapszínt kap fókuszált állapotban. Ez például egy hosszabb űrlapon segít követni, hogy épp melyik mezőnél tartunk.</p>
<pre class="brush: css">
input:focus { background-color: #CCCCCC; }
</pre>
<p><code>:first-child</code> Ezzel olyan elemeket választhatunk ki, amelyek a szülő elemük első gyermekei. Ha például van egy <code>&lt;div&gt;</code>-ünk, és abban <code>&lt;p&gt;</code> bekezdéseink, akkor a <code>p:first-child</code> alatt megadott beállítások csak az első bekezdésre vonatkoznak majd. Az alábbi beállítás például narancssárgára színezi az első bekezdést.</p>
<pre class="brush: css">
p:first-child { color: #FF6600; }
</pre>
<p><code>:lang(xx)</code> Ezzel a pszeudo-osztállyal nyelv-specifikus beállításokat adhatunk meg. (Az egyes nyelvek kódjai <a href="http://www.iana.org/assignments/language-subtag-registry" target="_blank">itt</a> érhetők el.) A nyelvet nekünk kell megadnunk a html fájlban (pl. a <code>&lt;p lang="la"&gt;</code> latin nyelvű bekezdést jelöl), a CSS-ben pedig azt adhatjuk meg, hogy a html-ben adott nyelvi szövegként megjelölt rész milyen stílusbeállításokat kapjon. A következő beállítás például kékre színezi a latin nyelvű bekezdéseket.</p>
<pre class="brush: css">
p:lang("la") { color: #0000FF; }
</pre>
<p>Végezetül néhány szó a kompatibilitásról. Az Internet Explorer-en kívül más népszerű böngészővel nem lesz gondunk, így a következők csak az IE támogatásról szólnak:</p>
<ul>
<li><code>:link, :visited</code> &mdash; IE6</li>
<li><code>:hover</code> &mdash; IE6 csak linkekre, IE7-től egyéb elemekre is</li>
<li><code>:active</code> &mdash; IE6, IE7 csak linkekre, IE8 egyéb elemekre is</li>
<li><code>:first-child</code> &mdash; IE7</li>
<li><code>:focus, :lang</code> &mdash; IE8</li>
</ul>
<p>Részletesebb információk a támogatásról <a href="http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Cascading_Style_Sheets)">itt</a> találhatók.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.css-3.hu/2010/03/css-pszeudo-osztalyok/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

