<?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>Légrádi Szabolcs webfejlesztő blog &#187; css</title>
	<atom:link href="http://legas.hu/cimke/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://legas.hu</link>
	<description>Every object tells a story if you know how to read it.</description>
	<lastBuildDate>Sun, 20 Jun 2010 19:34:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Többet kevesebbel &#8211; LESS.js</title>
		<link>http://legas.hu/tobbet-kevesebbel-lessjs/</link>
		<comments>http://legas.hu/tobbet-kevesebbel-lessjs/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 19:31:40 +0000</pubDate>
		<dc:creator>Légrádi Szabolcs</dc:creator>
				<category><![CDATA[Cikkek]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://legas.hu/?p=124</guid>
		<description><![CDATA[Páran úgy gondolom ismeritek már a LESS nevű Ruby gemet. Ez a gem olyan hasznos dolgokkal egészíti ki jelenlegi CSS kódunkat, mint a változók bevezetése, műveletek végzése és egymásba ágyazott, származtatott szabályok. A mai nap átnézzük, hogyan is lehet mindezt JavaScript segítségével megvalósítani. Mit lessek meg? Bár egyre szélesebb körben használható már a CSS3 és [...]]]></description>
			<content:encoded><![CDATA[<p>Páran úgy gondolom ismeritek már a <a href="http://lesscss.org/">LESS</a> nevű Ruby gemet. Ez a gem olyan hasznos dolgokkal egészíti ki jelenlegi CSS kódunkat, mint a változók bevezetése, műveletek végzése és egymásba ágyazott, származtatott szabályok. A mai nap átnézzük, hogyan is lehet mindezt JavaScript segítségével megvalósítani.<br />
<span id="more-124"></span></p>
<h2>Mit lessek meg?</h2>
<p>Bár egyre szélesebb körben használható már a CSS3 és valóban nagyon hasznos újításokat hoz a fejlesztők számára, sok tekintetben még mindig fejlesztésre szorul. A Leaner CSS ezen a problémán igyekszik segíteni. Mint a bevezetőben is írtam, gyakorlatilag a programozási nyelvekből megszokott módszereket alkalmazza a stíluslapokra is. Ezáltal nyílik lehetőségünk változók használatára vagy leszármazott szabályok létrehozására (mint például az objektumorientált PHP esetében).</p>
<p>A LESS nem túl elterjedt &#8220;nyelv&#8221;, ugyanis alapvetően a Ruby nyelvhez készült és mi átlag fejlesztők nem fogunk minden egyes apró módosításkor egy új fájlt fordítani. Létezik természetesen PHP-hez és ASP-hez is, de itt megint csak fordítanunk kéne. Hamarosan azonban csak egy böngészőre lesz szükségünk, ugyanis gőzerővel folyik a LESS.js fejlesztése.</p>
<h2>Használat</h2>
<p>A projekt <a href="http://github.com/cloudhead/less.js">a GitHub-on található meg</a>, ha regisztrált tagok vagyunk, érdemes követni (Watch ikon). Mivel a LESS.js valóban egy Node.js implementáció, ez az oka annak, hogy ennyi fájl látható. Ez természetesen nem jelenti azt, hogy szükségünk van valamilyen JavaScript keretrendszerre a használatához, a script elfut önmagában is. </p>
<p>A mezei JavaScript fájlokat (melyeknek verziója a cikk írásának időpontjában 1.0.20) a <em>dist/</em> könyvtárban találjuk, fejlesztői és éles környezetben való használatra egyaránt. Letöltés után a feladatunk csak annyi, hogy elhelyezzük az oldal fejlécébe. Ezután következik az izgalmas rész, a LESS fájl megírása. Nagyon fontos, hogy <strong>a .less fájlt a JavaScript előtt hívjuk meg</strong>, ugyanis csak így tudja értelmezni! Fontos továbbá, hogy a fájl <em>rel</em> attribútumának beírjuk a
<pre>stylesheet/less</pre>
<p> értéket. Illetve ahogy látjátok is, a .css kiterjesztés helyett a .less kiterjesztést kell használnunk.</p>
<pre>&lt;link href="main.less" type="text/css" rel="stylesheet/less" /&gt;
&lt;script src="less-1.0.20.min.js" type="text/javascript"&gt;&lt;/script&gt;</pre>
<p>A cikkhez <a href="http://legas.hu/demo/lessjs/">készítettem egy tipikus weboldalt</a>, fejléc, oldalsávok, tartalom és lábléc elrendezéssel. Mivel a grafikával nem akartam foglalkozni, így ezt CSS3-as lekerítésekkel és színátmenetekkel oldottam meg. Kéretik modern böngészőben nézni az oldalt! :)</p>
<h2>Gyakorlati példák</h2>
<p>A lényeg tehát jelen esetben a main.less fájlban található, pár dolog amit kiemelnék:</p>
<p><strong>Változók és műveletek</strong></p>
<pre>@light-gray: #eee;
@dark-gray: @light-gray - #444;</pre>
<p>A változókat a @ jellel definiáljuk, az értéket pedig kettőspont után írjuk. A sötétszürke szín megadásánál láthatjátok, hogy a világosszürke szinéből vontam ki a #444444 RGB értéket. Később ezeket az értékeket a @változónév; módon használhatjuk.</p>
<p><strong>Mixin</strong></p>
<pre>.rounded-corners {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}</pre>
<p>Ez a kis kódrészlet arra szolgál, hogy 10 pixellel lekerekített sarkokat ad egy elemnek. A mixinek lényege, hogy ezeket bármikor újra felhasználhatjuk, ha beírjuk az osztály nevét és egy pontosvesszőt.</p>
<p><strong>Egymásba ágyazás</strong></p>
<pre>li {
        background: #fcf6eb;
	color: #64440d;
	float: left;
	margin: 0 5px 0 0;
	padding: 5px 10px;
	-webkit-transition: all .3s ease-in;

	.rounded-corners;
	.inset-shadow;

		&#038;:hover {
			background: #e8b255;
		}
}
</pre>
<p>Mint látható, a <em>hover</em> állapot esetén nem írtam le újból, hogy <em>li:hover</em>, hanem az aktuális elemet a &#038; karakterrel helyettesítettem. És több mixint is használtam a listaelem formázásakor.</p>
<h2>Ami kimaradt</h2>
<p>A névtereken, paraméterek átadásán és a scope használatán kívül minden megtalálható a kódban, amire a LESS képes. Természetesen sokkal-sokkal jobb és használhatóbb kódot lehet írni, mint ami az én példámban látható &#8211; lévén, hogy még én is csak ismerkedem vele -, de a lényeg szerintem érthető. Létezik még egy <a href="http://sass-lang.com/">Sass</a> néven futó, a LESS-hez nagyon hasonló Ruby gem. Nagyjából ugyanezeket a funkciókat képes ellátni, azonban itt is fordítanunk kell éles környezetben való használat előtt.</p>
<p>Remélem sikerült a cikkel meghoznom a kedveteket, hogy kipróbáljátok ezt a nagyszerű &#8220;rendszert&#8221;, kiegészítőt, nem is tudom minek nevezzem. Ha ügyfelek weboldalán nem is, de személyes projekteknél szerintem megér egy próbát. Ha Ti is próbáltátok már a cikkben említett Ruby gemeket vagy ezektől eltérőt, vagy csak megosztanád a véleményed a bemutatóval kapcsolatban, örömmel várom a hozzászólásaitokat!</p>
<p><em>Utószó: a bemutató oldalt idővel bővíteni és szépíteni fogom, jelenlegi célja csak a LESS demonstrálása volt. További információ, hogy most, hogy az iskola végeztével több időm lett, így több cikk is várható a jövőben.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://legas.hu/tobbet-kevesebbel-lessjs/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

