<?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>_nec &#187; css sprite</title>
	<atom:link href="http://nec.shell8.net/tag/css-sprite/feed/" rel="self" type="application/rss+xml" />
	<link>http://nec.shell8.net</link>
	<description>webfejlesztés, front-end programozás, javascript, css, xhtml, ajax, air</description>
	<lastBuildDate>Wed, 24 Jun 2009 10:36:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Háromszögelés CSS-el</title>
		<link>http://nec.shell8.net/2009/05/25/haromszog-css/</link>
		<comments>http://nec.shell8.net/2009/05/25/haromszog-css/#comments</comments>
		<pubDate>Mon, 25 May 2009 06:01:24 +0000</pubDate>
		<dc:creator>_nec</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[arrow]]></category>
		<category><![CDATA[css sprite]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[háromszögek]]></category>
		<category><![CDATA[keret rajzolás]]></category>
		<category><![CDATA[kezelőfelület]]></category>
		<category><![CDATA[nyilak]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[UI elements]]></category>

		<guid isPermaLink="false">http://nec.shell8.net/?p=307</guid>
		<description><![CDATA[ A mai minimalista weboldalak kinézetét már gyakran alig két-három kép is megfelelően kiszolgálja, ha erre a design alkalmas és így a designelemek css sprite-ra rendezése lehetséges. Előfordulhat azonban, hogy a könnyebb testreszabás, színezés, különböző méretek, esetleg animáció miatt sajnos ez mégse ennyire egyszerű. 
Viszont vannak dolgok, amikhez még kép se kell.

Navigációnál és UI kezelőfelületeknél [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-360" title="border3" src="http://nec.shell8.net/wp-content/uploads/2009/05/border3.jpg" alt="border3" width="330" height="231" /> A mai minimalista weboldalak kinézetét már gyakran alig két-három kép is megfelelően kiszolgálja, ha erre a design alkalmas és így a designelemek css sprite-ra rendezése lehetséges. Előfordulhat azonban, hogy a könnyebb testreszabás, színezés, különböző méretek, esetleg animáció miatt sajnos ez mégse ennyire egyszerű. </p>
<p>Viszont vannak dolgok, amikhez még kép se kell.<br />
<span id="more-307"></span><br />
Navigációnál és UI kezelőfelületeknél gyakran láthatunk kicsi, egyszerű háromszögekből álló nyilakat. Ezeket elkészíthetjük képpel, esetleg valamely UTF8 karakterrel a html kódban. Előbbi megoldás minden színvariációra és állapotra külön képet igényel, utóbbival pozícinálási gondok lehetnek más-más böngészőkben, és megzavarhatja a felolvasó programokat &#8211; nem valami akadálymentes megoldás.</p>
<p>Mi más lehetőség marad? Ma már lehet vektorosan canvas illetve VML elemekre rajzolni, színezni, tetszőleges módon scriptelni különböző állapotokra, hogy nézzen ki az elem&#8230; de ez már érezhetően aránytalanul nagy ráfordítás ekkora feladatra.</p>
<p>Egy lehetőség maradt, amivel egyszerű, színes poligonokat rajzolhatunk és nem kell hozzá plugin, kép, de még javasript se: <em>a css keret</em>.</p>
<p>A böngészők egy elemet körbevevő, vastag keretet, azok találkozásánál egy sima, ferde egyenes mentén illesztik, ezzel elkerülve azt a problémás kérdést, hogy melyik keret hol lógjon túl az elem szélén és mennyire. A html és css vízszintes és függőleges világában ezek a ferde vonalak eléggé meglepően hatnak, ritkán is fordulnak elő, mivel csak eltérő színű és esetleg vastagságú kereteknél válnak láthatóvá.</p>
<p><img class="alignnone size-full wp-image-353" title="A böngészők keret kezelése" src="http://nec.shell8.net/wp-content/uploads/2009/05/border1.jpg" alt="A böngészők keret kezelése" width="520" /></p>
<p>Ha egy ilyen elemen a magasságot és a szélességet nullára vesszük, négy &#8220;nyilat&#8221; kapunk. Innen már csak a nemkívánatos kereteket kell áttetszővé állítani, és marad egy.</p>
<p><img class="alignnone size-full wp-image-356" title="Keretből nyilat" src="http://nec.shell8.net/wp-content/uploads/2009/05/untitled-2.jpg" alt="Keretből nyilat" width="300" height="100" /></p>
<p>Apróságokra persze oda kell figyelni,pl. a pozicionálásnál, a html elem ilyenkor mindíg a nyíl csúcsa.</p>
<p>Előjött egy IE6 bug és annak körüljárása is, úgyfest IE6 nem kezeli rendesen a transzparens kereteket, kivéve, ha <em>solid</em> stílus helyett <em>dotted</em> -re állítjuk. Mivel ez a keret amúgy se látszik, tökmindegy mire állítjuk, és ha ezzel a trükkel az összes böngészőben jó, akkor miért ne.</p>
<p>Végül a css kód ennyi:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">span<span style="color: #6666ff;">.arrow</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">border-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span> <span style="color: #993333;">dotted</span> <span style="color: #993333;">transparent</span><span style="color: #00AA00;">;</span>	
	<span style="color: #000000; font-weight: bold;">border-right</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span> <span style="color: #993333;">dotted</span> <span style="color: #993333;">transparent</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">border-bottom</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span> <span style="color: #993333;">dotted</span> <span style="color: #993333;">transparent</span><span style="color: #00AA00;">;</span>	
	<span style="color: #000000; font-weight: bold;">border-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Ezáltal egy jól használható, testreszabható kis elemet kapunk, amit a mai egyszerű weboldalak és html alapú alkalmazások jól használhatnak.</p>
<p><a href="http://nec.shell8.net/projects/arrow/">Demo, és pár példa itt látható</a><br />
Tesztelve: IE6, 7, 8, chrome, ff3, safari 4.</p>
<p>Előnyök:</p>
<ul>
<li>html-css, nincs plusz kép, kevesebb http lekérés</li>
<li>gyors megjelenítés</li>
<li>testreszabhatóbb</li>
<li>mouseover adott a DOM-ból</li>
</ul>
<p>Hátrányok:</p>
<ul>
<li>kicsit nagyobb html kód (vagy js futásidő, ha utólag teszed a DOM-ba, de ez elkerülhető)</li>
<li>nem teljes a testreszabhatóság, pl nem lehet neki keretet rajzolni</li>
<li>talán valahol megtöri a rétegszemléletet, plusz html kód a design-hoz</li>
<li>IE alatt pixelesedés előfordulhat, ezt a nyil méretein finoman korrigálva javíthatjuk</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://nec.shell8.net/2009/05/25/haromszog-css/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
