<?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>Code.ge Blog &#187; CSS</title>
	<atom:link href="http://www.code.ge/posts/tag/css/feed" rel="self" type="application/rss+xml" />
	<link>http://www.code.ge</link>
	<description>ბლოგი ვებ პროგრამირებისა და ტექნოლოგიების შესახებ</description>
	<lastBuildDate>Mon, 03 May 2010 14:38:57 +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>Jetpak &#8211; დამატებების ახალი სისტემა Mozilla &#8211; სგან</title>
		<link>http://www.code.ge/posts/jetpak</link>
		<comments>http://www.code.ge/posts/jetpak#comments</comments>
		<pubDate>Thu, 21 May 2009 11:27:59 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.code.ge/?p=260</guid>
		<description><![CDATA[საერთოდ ცნობილია რომ კონკურენცია ძალიან კარგი რამ არის. ამ მტკიცებულების სისწორის კიდევ ერთი ძალიან კარგი მაგალითი გვაქვს სახეზე კერძოდ კი Google Chrome &#8211; სა და Mofilla Firefox &#8211; ის ე.წ. extension &#8211; ების სისტემების სახით. მოგეხსენებათ რომ Google Chrome ძალიან ახალი ბრაუზერია რომელიც გასული წლის სექტემბრის დასაწყისში მოევლინა სამყაროს. მიუხედავად მისი ინოვაციურობისა მისი კრიტიკის ერთერთ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.code.ge/javascript/jetpak/attachment/jetpack_logo" rel="attachment wp-att-261"><img src="http://www.code.ge/wp-content/uploads/jetpack_logo.png" alt="jetpack_logo" title="jetpack_logo" width="486" height="233" class="alignleft size-full wp-image-261" style="float: left; margin: 0 4px 4px 0;"/></a> საერთოდ ცნობილია რომ კონკურენცია ძალიან კარგი რამ არის. ამ მტკიცებულების სისწორის კიდევ ერთი ძალიან კარგი მაგალითი გვაქვს სახეზე კერძოდ კი Google Chrome &#8211; სა და Mofilla Firefox &#8211; ის ე.წ. extension &#8211; ების სისტემების სახით.</p>
<p>მოგეხსენებათ რომ Google Chrome ძალიან ახალი ბრაუზერია რომელიც გასული წლის სექტემბრის დასაწყისში მოევლინა სამყაროს. მიუხედავად მისი ინოვაციურობისა მისი კრიტიკის ერთერთ მთავარ მიზეზად იქცა FF &#8211; ის მსგავსი დამატებების სისტემის არ ქონის გამო. </p>
<p>ცხადია ასე პირველივე დღიდან ყველაფერის ჩადებას ვერ მოახერხებდა Google თავის ახალ ბრაუზერში, თუმცა, როგორც მალე გაირკვა შეჩერებასაც არ აპირებდა. სულ რამდენიმე თვეში გამოჩნდა პირველი პროპოზალი რომელიც <a href="http://dev.chromium.org/developers/design-documents/extensions">Chrome &#8211; ს დამატებების პლატფორმას შეეხებოდა</a>. თუმცა ამ პროპოზალში ერთმა მეტად საგულისხმო დეტალმა გაიჟღერა &#8211; განსხვავებით FF &#8211; ის ანალოგიური სისტემისგან Chrome &#8211; ს დამატებების შესაქმნელად საკმარისია მხოლოდ HTML/CSS და JavaScript. არავითარი XUL, არავითარი რთული XML კონფიგურაციის ფაილები დამატების ინსტალაციისათვის და ა.შ.</p>
<p>Google &#8211; ს ეს გდაწყვეტილება ჩემთვის პირადად გაცილებით მისაღები იყო რადგან XUL &#8211; ის ვერანაირ აუცილებლობას ვერც FF &#8211; ში ვხედავდი მანამდე და სიმართლე ითქვას ვერც დღეს ვერ ვხედავ&#8230; თუმცა არც Mozilla &#8211; მ დააყოფნა და დღეს უკვე შემოგვთავაზა FF &#8211; ის დამატებების შექმნის ახალი მექანიზმი. კერძოდ კი <a href="http://labs.mozilla.com/2009/05/introducing-jetpack-call-for-participation/">Jetpak</a>!</p>
<p>ციტატა პროექტის საიტიდან:</p>
<blockquote><p>
In short, Jetpack is an API for allowing you to <strong>write Firefox add-ons using the web technologies you already know</strong>.
</p></blockquote>
<p>რითია საინტერესო Jetpak? პირველ რიგში ისევე როგორც Crhome &#8211; ს შემთხვევაში, Jetpak &#8211; ის შემთხვევაშიც დამატების შესაქმნელად საკმარისია მხოლოდ HTML/CSS და JavaScript. ამ შემთხვევაშიც არავითარი XUL და რთული XML კონფიგურაციის ფაილები. ასევე არავიტარი ბრაუზერის გადატვირთვა დამატების ინსტალაციის შემდგომ და რაც ყველაზე ყველაზე ყველაზე მნიშვნელოვანია დეველოპმენტის პროცესში შეგვიძლია გამოვიყენოთ ნებისმიერი არსებული ინსტრუმენტული საშუალებები და Firebug დებაგირებისათვის რაც არსებულ მოდელში პრაქტიკულად შეუძლებელია. ასევე jQuery &#8211; ს მოყვარულთათვის ძალიან მნიშვნელოვანი ფაქტია რომ ეს ბიბლიოთეკა ნაგულისხმევად არის ჩადებული Jetpak &#8211; ში, რაც კიდევ უფრო გაამარტივებს დამატებების პროგრამირებას.</p>
<p>მართალია დასრულებამდე და საყოველთაო გავრცელებამდე კიდევ დიდი გზა აქვს გასავლელი Jetpak &#8211; ს, თუმცა მისი გამოყენება უკვე შესაძლებელია. ასე რომ თუ არ გეზარებათ შეგიძლიათ დააინსტალიროთ და დამატებების წერასაც შეუდგეთ <img src='http://www.code.ge/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/jetpak/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>IE6/7 bug: img ელემენტის რენდერინგის ბაგი</title>
		<link>http://www.code.ge/posts/ie67-img-rendering-bug</link>
		<comments>http://www.code.ge/posts/ie67-img-rendering-bug#comments</comments>
		<pubDate>Wed, 03 Oct 2007 08:49:22 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[IE Sucks]]></category>

		<guid isPermaLink="false">http://www.code.ge/css/ie67-img-rendering-bug</guid>
		<description><![CDATA[ამ პოსტის დაწერა ფორუმის ამ პოსტმა გადამაწყვეტინა(ანუ პოსტი არის inspired by Rocko ) , რადგან არ მინდა ეს საკითხი მილიონობით ფორუმის პოსტში დაიკარგოს. ეს არის მარტივი თუმცა სასარგებლო გამოსავალი IE &#8211; სთვის დამახასიათებელი პრობლემისგან. თავისთავად პრობლემის არსი ძალიან მარტივია, ეს არის IE &#8211; ს რენდერინგის მორიგი ბაგი რომელიც გხვდება კონკრეტულად img ტეგთან მუშაობის დროს. თუ [...]]]></description>
			<content:encoded><![CDATA[<p>ამ პოსტის დაწერა ფორუმის <a href="http://forum.ge/?showtopic=33772196&#038;view=findpost&#038;p=6810417">ამ პოსტმა</a> გადამაწყვეტინა(ანუ პოსტი არის inspired by <a href="http://www.rocko.ge">Rocko</a> <img src='http://www.code.ge/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) , რადგან არ მინდა ეს საკითხი მილიონობით ფორუმის პოსტში დაიკარგოს. ეს არის მარტივი თუმცა სასარგებლო გამოსავალი IE &#8211; სთვის დამახასიათებელი პრობლემისგან. </p>
<p>თავისთავად პრობლემის არსი ძალიან მარტივია, ეს არის IE &#8211; ს რენდერინგის მორიგი ბაგი რომელიც გხვდება კონკრეტულად img ტეგთან მუშაობის დროს. თუ img ელემენტს განვათავსებთ div ან td ტეგში მას ქვედა მხარეს უჩნდება პატარა სივრცე, თუ სურათის კონტეინერს აქვს მითითებული ფონის ფერი მაშინ ეს ხარვეზი ბევრად უფრო თვალსაჩინო ხდება.<span id="more-73"></span></p>
<p>მაგალითი:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;width:200px; background-color:green;&quot;</span>&gt;</span><br />
&nbsp;<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/img.html"><span style="color: #000000; font-weight: bold;">img</span></a> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;img/image.gif&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #66cc66;">/</span>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>თუ ამ კოდს ვნახავთ IE &#8211; ში დავინახავთ რომ სურათის ქვეშ არის გარკვეული სივრცე.</p>
<p>სურათი 1:<br />
<a href='http://www.code.ge/wp-content/uploads/2007/10/img-bottom-space.gif' title='img-bottom-space.gif'><img src='http://www.code.ge/wp-content/uploads/2007/10/img-bottom-space.gif' alt='img-bottom-space.gif' /></a></p>
<p>თუმცა გამოსავალი ამ პრობლემიდან არსებობს.</p>
<p>გამოსავალი 1:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;width:200px; background-color:green;&quot;</span>&gt;&lt;<a href="http://december.com/html/4/element/img.html"><span style="color: #000000; font-weight: bold;">img</span></a> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;img/image.gif&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span><span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>ამ შემთხვევაში პრობლემა იხსნება თუ კოდს დავწერთ ერთ სტრიქონზე&#8230; მაგრამ თავისთავად ცხადია რომ ეს არ არის გამოსავალი&#8230; </p>
<p>ნაცვლად ამისა შეგვიძლია პრობლემა გადავჭრათ img ელემენტის css &#8211; ით დამუშავებით თუ მას მივუთითებთ <strong>display: block;</strong></p>
<p>გამოსავალი 2:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;width:200px; background-color:green;&quot;</span>&gt;</span><br />
&nbsp;<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/img.html"><span style="color: #000000; font-weight: bold;">img</span></a> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;img/image.gif&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;display: block&quot;</span><span style="color: #66cc66;">/</span>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>სურათი 2:<br />
<a href='http://www.code.ge/wp-content/uploads/2007/10/img-no-space.gif' title='img-no-space.gif'><img src='http://www.code.ge/wp-content/uploads/2007/10/img-no-space.gif' alt='img-no-space.gif' /></a></p>
<p>რაში მდგომარეობს პრობლემა? პრობლემა არის ის რომ img ელემენტის <strong>ნაგულისხმევი მნიშვნელობა display თვისებისათვის არის inline </strong>რის გამოც IE ამ ელემენტს აღიქვავს როგორც ტექსტს. ხოლო ელემენტს ქვედა მხრიდან სივრცეს უკეთებს იმის გამო რომ ეს სივრცე საჭიროა ისეთი ტიპის სიმბოლოებისათვის როგორიცაა: y, p, g…</p>
<p>გამომდინარე აქედან ელემენტისათვის <strong>display: block;</strong> &#8211; ის მითითების შემთხვევაში IE არ დაამუშავებს მას როგორც ტექსტს და თავისთავად სივრცის პრობლემაც ქრება.</p>
<p>თუმცა ყოველთვის რომ არ ვუთითოთ ელემენტს ეს სტილი, ამის გაკეთება შეგვიძლია ყველა ელემენტისათვის ერთხელ CSS ფაილში:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">img <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <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><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>რაც სამუდამოდ მოაგვარებს ამ პრობლემას.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/ie67-img-rendering-bug/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>უნივერსალური CSS სელექტორი (*) და დოკუმენტის საწყისი სტილების გადატვირთვა</title>
		<link>http://www.code.ge/posts/universal-css-selector</link>
		<comments>http://www.code.ge/posts/universal-css-selector#comments</comments>
		<pubDate>Fri, 06 Jul 2007 07:48:04 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.code.ge/css/universal-css-selector</guid>
		<description><![CDATA[პოსტში CSS სელექტორების მინიმიზაციის შესახებ ნაწილობრივ შევეხე უნივერსალურ სელექტორებს (*). ამ ტიპის სელექტორი შესანიშნავი საშუალებაა იმისათვის რომ გლობალურად განვუსაზღვროთ სტილები დოკუმენტის ელემენტებს, თუმცა ასევე შესაძლებელია რომელიმე კონკრეტული ელემენტის შიგნით არსებული ყველა ელემენტისათვის განვსაზღვროთ სტილები. ამ ტიპის სელექტორის გამოყენება საკმაოდ მარტივია და როგორც ზემოთ ნახსენებ პოსტშია ნაჩვენები აქვს შემდეგი სახე: მაგალითი 1 1234* &#123; &#160; &#160;font-size: [...]]]></description>
			<content:encoded><![CDATA[<p>პოსტში <a href="http://www.code.ge/css/minimizing-css-selectors">CSS სელექტორების მინიმიზაციის შესახებ</a> ნაწილობრივ შევეხე უნივერსალურ სელექტორებს (*).</p>
<p>ამ ტიპის სელექტორი შესანიშნავი საშუალებაა იმისათვის რომ გლობალურად განვუსაზღვროთ სტილები დოკუმენტის ელემენტებს, თუმცა ასევე შესაძლებელია რომელიმე კონკრეტული ელემენტის შიგნით არსებული ყველა ელემენტისათვის განვსაზღვროთ სტილები.<span id="more-64"></span></p>
<p>ამ ტიპის სელექტორის გამოყენება საკმაოდ მარტივია და როგორც ზემოთ ნახსენებ პოსტშია ნაჩვენები აქვს შემდეგი სახე:</p>
<p><strong>მაგალითი 1</strong></p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #00AA00;">*</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">13px</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">yellow</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>ეს კოდი განსაზღვრავს დოკუმენტის აბსოლუტურად ყველა ელემენტის საწყისი ფონტის ზომასა და ფერს.</p>
<p>ხოლო შემდეგი კოდი განსაზღვრავს მხოლოდ div ელემენტების შიგნით არსებული ყველა ელემენტის ფონტის ზომასა და ფერს:<br />
<strong><br />
მაგალითი 1</strong></p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">div <span style="color: #00AA00;">*</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">13px</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">yellow</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>როგორ გადავტვირთოთ დოკუმენტის საწყისი სტილები * &#8211; ის მეშვეობით? ეს ნაჩვენებია პირველსავე მაგალითში, ნაცვლად კონკრეტული კლასის სახელისა ან იდენტიფიკატორისა უბრალოდ ვიყენებთ * სიმბოლოს რაც ნიშნავს იმას რომ დოკუმენტში არსებული ყველა ელემენტისათვის განისაზღვრება კონკრეტული სტილები.</p>
<p><strong>როგორ შეიძლება გამოვიყენოთ ეს შესაძლებლობა ჩვენს სასარგებლოდ და როგორ უნდა გადავტვირთოთ დოკუმენტის საწყისი სტილები?</strong></p>
<p>პირველ რიგში შევეხოთ ისეთ ელემენტებს რომლებსაც თავიდანვე განსაზღვრული აქვთ გარკვეული მახასიათებლები:</p>
<ol>
<li><strong>დასათაურების ტეგები: h1, h2, h3, h4, h5, h6</strong> &#8211; მათ განსაზღვრული აქვთ როგორც ელემენტის გარე საზღვრების ზომა (margin) ასევე ფონტის ზომა;</li>
<li>
<strong>პარაგრაფის ტეგი: p</strong> &#8211; განსაზღვრული აქვს გარე საზღვრების ზომა;</li>
<li><strong>HTML ფორმის ტეგი: form </strong>- ზოგიერთ ბრაუზერში იკეთებს სივრცეს</li>
<li><strong>ჩამონათვალის ტეგები: ul, ol</strong> &#8211; განსაზღვრული აქვთ როგორც გარე საზღვრების ზომა ასევე შიდა სივრცე;</li>
<li><strong>ბმულების ტეგი: a</strong> &#8211; განსაზღვრული აქვთ როგორც საწყისი ფონტის ფერი ასევე ფერი უკვე მონახულებული ბმულებისათვის;</li>
</ol>
<p>ასევე აღსანიშნავია რომ გარკვეული საწყისი სტილები(მაგ. ფონის ფერი, ფონტი, ფონტის ზომა და ა.შ.) დამოკიდებულია თავად ბრაუზერებზე რომლებიც შეიძლება განსხვავებული იყოს სხვადასხვა შემთხვევაში. სხვა ზოგიერთი ტეგი რომელიც არ მომიყვანია ჩამონათვალში ხასიათდება სხვადასხვა ქცევით სხვადასხვა ბრაუზერში.</p>
<p>თავისთავად ცხადია რომ უმეტეს შემთხვევაში(თუ ყოველთვის არა) წინასწარ განსაზღვრული ელემენტის სტილები გამოუყენებელია და შესაბამის დამუშავებას საჭიროებს ყოველი დოკუმენტისათვის. თუმცა ამის თავიდან არიდება მარტივად არის შესაძლებელი რაც ნაჩვენებია შემდეგ კოდში:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">/**<br />
&nbsp;გადავტვირთოთ დოკუმენტში არსებული ყველა ელემენტის შიდა და გარე საზღვრები და ფონტის სტილები<br />
&nbsp;*/</span><br />
<span style="color: #00AA00;">*</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">font</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">normal</span> <span style="color: #933;">11px</span> arial<span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/**<br />
&nbsp;განვსაზღვროთ ფონის ფერი<br />
&nbsp;*/</span><br />
body <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#FFF</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/**<br />
&nbsp;ჩამანათვალის ტეგების ელემენტებისათვის გავაუქმოთ ტიპი<br />
&nbsp;*/</span><br />
ul<span style="color: #00AA00;">,</span> ol <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">list-style-type</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/**<br />
&nbsp;ფორმას გავუუქმოთ გვერდები და ასევე მივუთითოთ სიგანე, ეს საჭიროა IE6 - ისთვის<br />
&nbsp;*/</span><br />
form <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/**<br />
&nbsp;გავუუქმოთ img ტეგს გვერდები რადგან a ტეგში მოთავსების შემთხვევაში იკეთებს მათ<br />
&nbsp;*/</span><br />
img <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/**<br />
&nbsp;აღვადგინოთ option ელემენტის მარცხენა და მარჯვენა სივრცე<br />
&nbsp;*/</span><br />
select option <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> 0 <span style="color: #933;">4px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/**<br />
&nbsp;აღვადგინოთ optgroup - ში მოთავსებული option ელემენტის მარცხენა საზღვარი<br />
&nbsp;*/</span><br />
optgroup option <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">margin-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/**<br />
&nbsp;განვსაზღვროთ სტილები a ელემენტის link, visited და active ფსევდო სელექტორებისათვის<br />
&nbsp;*/</span><br />
a<span style="color: #3333ff;">:link</span><span style="color: #00AA00;">,</span> a<span style="color: #3333ff;">:visited</span><span style="color: #00AA00;">,</span> a<span style="color: #3333ff;">:active </span><span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">font</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">normal</span> <span style="color: #933;">12px</span> verdana<span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #808080; font-style: italic;">/**<br />
&nbsp;განვსაზღვროთ სტილები a ელემენტის hover ფსევდო სელექტორისათვის<br />
&nbsp;*/</span><br />
a<span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
&nbsp; <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><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>ნაჩვენები კოდი შესაძლებელია განვათავსოთ ფაილში და ყოველთვის გამოვიყენოთ ის რათა თავიდან ავირიდოთ განმეორებითი კოდის წერა. მსგავსი გლობალური ცვლილება დოკუმენტის ელემენტებისათვის ძალიან სასარგებლოა რადგან მსგავსი მიდგომა თავიდან აგვარიდებს უამრავი განმეორებითი კოდის წერას, და ყოველი დოკუმენტი გარანტირებულად ერთნაირად იმუშავებს ბრაუზერებში განსაზღვრული საწყისი სტილების მიუხედავად. მოცემული კოდიდან აღსანიშნავია სულ პირველი ინსტრუქცია სადაც გარე საზღვარი და შიდა სივრცე დაყვანილია 0 &#8211; ზე (margin: 0; padding: 0;), გამომდინარე იქედან რომ ყოველი ელემენტს გააჩნია გარანტირებულად ერთი და იგივე აღნიშნული მახასიათებელი ბევრად მარტივი ხდება მათი შემდგომი მენეჯმენტი, ასევე ამ მიდგომით IE6 &#8211; ში თავიდან ავირიდებთ margin &#8211; ის გამოთვლაში არსებულ გარკვეულ ხარვეზებს.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/universal-css-selector/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>CSS შემოკლებები &#8211; background</title>
		<link>http://www.code.ge/posts/css-background-shorthands</link>
		<comments>http://www.code.ge/posts/css-background-shorthands#comments</comments>
		<pubDate>Thu, 10 May 2007 10:56:25 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.code.ge/css/css-background-shorthands</guid>
		<description><![CDATA[ვაგრძელებ CSS შემოკლებების თემას რომლის პირველი ორი ნაწილი შეგიძლიათ იხილოთ შემდეგ მისამართებზე: font &#8211; თვისების შემოკლებები border &#8211; თვისების შემოკლებები ზემოთ მითითებული თვისებების მსგავსად background თვისების შემოკლებული ჩაწერის ფორმაც არსებობს რაც განსაკუთრებით მნიშვნელოვანია ისეთი ტიპის საიტებისათვის რომლებიც დიზაინში უხვად იყენებენ გრაფიკულ ელემენტებს&#8230; დასაწყისისთვის განვიხილოთ ყველა ის თვისება რომელიც ელემენტის ფონებთან მუშაობის საშუალებას გვაძლევს: background-color: განსაზღვრავს [...]]]></description>
			<content:encoded><![CDATA[<p>ვაგრძელებ CSS შემოკლებების თემას რომლის პირველი ორი ნაწილი შეგიძლიათ იხილოთ შემდეგ მისამართებზე:</p>
<ul>
<li><a href="http://www.code.ge/css/css-font-shorthands">font &#8211; თვისების შემოკლებები</a></li>
<li><a href="http://www.code.ge/css/css-border-shorthands">border &#8211; თვისების შემოკლებები</a></li>
</ul>
<p>ზემოთ მითითებული თვისებების მსგავსად background თვისების შემოკლებული ჩაწერის ფორმაც არსებობს რაც განსაკუთრებით მნიშვნელოვანია ისეთი ტიპის საიტებისათვის რომლებიც დიზაინში უხვად იყენებენ გრაფიკულ ელემენტებს&#8230;<span id="more-58"></span></p>
<p>დასაწყისისთვის განვიხილოთ ყველა ის თვისება რომელიც ელემენტის ფონებთან მუშაობის საშუალებას გვაძლევს:</p>
<ul>
<li><strong>background-color</strong>: განსაზღვრავს ელემენტის ფონის ფერს (მაგ. #0000CC)</li>
<li><strong>background-image</strong>: განსაზღვრავს ელემენტსი ფონურ სურათს (მაგ. url(sidebar-bg.gif))</li>
<li><strong>background-repeat</strong>: განსაზღვრავს უნდა განმეორდეს თუ არა ფონური სურათი (მაგ. no-repeat, repeat-x, repeat-y)</li>
<li><strong>background-attachment</strong>: განსაზღვრავს ფონური სურათი ფიქსირებულად ინარჩუნების პოზიციას თუ არა (მაგ. scroll, fixed)</li>
<li><strong>background-position</strong>: განსაზღვრავს ფონური სურათის პოზციას (მაგ. top left<br />
)</li>
</ul>
<p>ამ თვისებებიდან შესაძლებელია ნებისმიერი კომბინაციის გამოყენება და იმის არანაირი აუცილებლობა არ არსებობს რომ ყველა მათგანი გამოვიყენოთ ერთდროულად. თუმცა შედარებით რთული შემთხვევების დროს ყოველი მათგანის გამოყენება აცუცილებელი და გარდაუვალია.</p>
<p>ქვემოთ მოყვანილ მაგალითში გამოყენებულია ყველა ზემოთ ჩამოთვლილი თვისება გარდა ერთისა:</p>
<style type="text/css">.bg-long {
    background-color: black;
    background-image: url(/wp-content/themes/myblog/img/logo.gif);
    background-repeat: no-repeat;
    background-position: top right;
    border: 2px solid red;
    padding: 24px;
    font: bold italic 1em arial;
    color: green;}</style>
<div class="bg-long">
   This is background property test!
</div>
<p>მაგალითიში გამოყენებული CSS კოდი გამოიყურება შემდეგნაირად:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.bg-long</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">black</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-image</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">/wp-content/themes/myblog/img/logo.gif</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-repeat</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">no-repeat</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-position</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">top</span> <span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">24px</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">font</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">bold</span> <span style="color: #993333;">italic</span> <span style="color: #933;">1em</span> arial<span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>მაგალითიდან ნათლად ჩანს რომ ყველა ის თვისება რომელიც საჭირო იყო ელემენტის ფონის დასამუშავებლად გამოყენებულია სათითაოდ რაც ნაკლებად სასიამოვნოა და უფრო მეტიც არაფერში არ არის საჭირო. იგივე შედეგის მისაღწევად კოდი შესაძლებელია გადავწეროთ შემდეგნაირად:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">.bg-short<span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">black</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">/wp-content/themes/myblog/img/logo.gif</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">no-repeat</span> <span style="color: #000000; font-weight: bold;">top</span> <span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">24px</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">font</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">bold</span> <span style="color: #993333;">italic</span> <span style="color: #933;">1em</span> arial<span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>შედეგი თვალსაჩინოა და არ საჭიროებს განსაკუთრებულ ახსნას. თუმცა ღირს იმ ფაქტის აღნიშვნა რომ ბოლო მაგალითში გამოყენებულია ორი ტიპის შემოკლებული ჩაწერა, ერთი <strong>background</strong> ხოლო მეორე <strong>font</strong> თვისებისათვის. აღნიშნული ორი თვისება რომ ჩაგვწერეა შემოკლებების გარეშე 1) გაიზრდებოდა თვითონ CSS კოდის რაოდენობა; 2) საერთო ჯამში კოდი გახდებოდა ნაკლებად კითხვადი; მსგავსი პატარა მაგალითებიდან კოდის სიდიდე შესაძლოა არ ჩანდეს განსაკუთრებით პრობლემატურად, თუმცა ისეთ შემთხვევებში როდესაც კოდის სტრიქონების რაოდენობა აღემატება რამდენიმე ასეულს ნამდვილად დამაბრკოლებელი ფაქტორია კოდის ყოველი ზედმეტი სტრიქონი.</p>
<p><strong>მსგავსი შემოკლებული ჩაწერისას გასათვალისწინებელია რამდენიმე დეტალი:</strong></p>
<ol>
<li>თვისებების მნიშვნელობების მიმდევრობა უნდა განისაზღვროს იმ მიმდევრობით რა მიმდევრობითაც ეს ნაჩვენებია პოსტის დასაწყისში გაკეთებულ ჩამონათვალში;
</li>
<li>რომელიმე მნიშვნელობის გამოტოვება არ დაარღვევს საბოლოო რეზულტატს;</li>
<li>როდესაც ელემენტისათვის გვინდა მხოლოდ ფონური ფერის განსაზღვრა სხვა css კლასის მნიშნველობით ან უბრალოდ ელემენტის style ატრიბუტის გამოყენებით, უნდა გამოვიყენოთ background-color (და არა background თუმცა ეს შესაძლებელია) რადგან იმ შემთხვევაში თუ ელემენტისთვის სხვა კლასში უკვე განსაზღვრულია ფონური სურათი მოხდება მისი ჩანაცვლება საწყისი none მნიშვნელობით რაც სურათის გაქრობას გამოიწვევს;</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/css-background-shorthands/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS შემოკლებები &#8211; font</title>
		<link>http://www.code.ge/posts/css-font-shorthands</link>
		<comments>http://www.code.ge/posts/css-font-shorthands#comments</comments>
		<pubDate>Thu, 10 May 2007 09:40:00 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.code.ge/css/css-font-shorthands</guid>
		<description><![CDATA[ერთერთ პოსტში ლაპარაკი მქონდა css &#8211; ის border თვისების შემოკლებებზე, ამჯერად ყურადღებას შევაჩერებ font თვისებაზე. თავისთავად font თვისების გამოყენება შესაძლებელია მინიმუმამდე დავიყვანოთ კონკრეტული დოკუმენტისათვის თუმცა თვითონ ამ ელემენტს გააჩნია შემოკლებული სინტაქსი რომელიც ძალიან სასარგებლოა ისეთ შემთხვევებში როდესაც დოკუმენტის ან საიტის დონეზე მასიურად გვიწევს მისი გამოყენება&#8230; პირველ რიგში მნისვნელოვანია გამოვყოთ ის ძირითადი თვისებები რომლებიც მეტნაკლებად ხშირად [...]]]></description>
			<content:encoded><![CDATA[<p>ერთერთ პოსტში ლაპარაკი მქონდა <a href="http://www.code.ge/css/css-border-shorthands">css &#8211; ის border თვისების შემოკლებებზე</a>, ამჯერად ყურადღებას შევაჩერებ <strong>font</strong> თვისებაზე. თავისთავად font თვისების გამოყენება შესაძლებელია მინიმუმამდე დავიყვანოთ კონკრეტული დოკუმენტისათვის თუმცა თვითონ ამ ელემენტს გააჩნია შემოკლებული სინტაქსი რომელიც ძალიან სასარგებლოა ისეთ შემთხვევებში როდესაც დოკუმენტის ან საიტის დონეზე მასიურად გვიწევს მისი გამოყენება&#8230;<span id="more-57"></span></p>
<p>პირველ რიგში მნისვნელოვანია გამოვყოთ ის ძირითადი თვისებები რომლებიც მეტნაკლებად ხშირად გამოიყენება:</p>
<ul>
<li><strong>font-style</strong>: განსაზღვრავს ფონტის სტილს (მაგ. normal, italic)</li>
<li><strong>font-weight</strong>: განსაზღვრავს ფონტის წონას (მაგ. normal, bold)</li>
<li><strong>font-size</strong>: განსაზღვრავს ფონტის ზომას (მაგ. small, medium, 12em, 12px)</li>
<li><strong>font-family</strong>: განსაზღვრავს პრიორიტეტულად დალაგებულ ფონტების ჩამონათვალს(მაგ. arial, verdana)</li>
</ul>
<p>გამომდინარე აქედან ქვემოთ ნაჩვენები შედეგი:</p>
<style type="text/css">.long-text-style {
   font-style: italic;
   font-weight: bold;
   font-size: 1em;
   font-family: arial, verdana;}</style>
<p><span class="long-text-style">This is sample text</span></p>
<p>შესაძლებელია მივიღოთ შემდეგი css კოდით:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.long-text-style</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font-style</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">italic</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<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><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1em</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> arial<span style="color: #00AA00;">,</span> verdana<span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>ნაჩვენები css კოდი თავისთავად არ არის დიდი და არ წარმოადგენს განსაკუთრებულ პრობლემას თუ ასეთი ტიპისი სტილებს გამოვიყენებთ იშვიათად, თუმცა როდესაც მასიურად ვიყენებთ ტექსტის სტილის დამუშავების მსგავს კოდს უმეტეს შემთხვევაში კოდის ზომა იზრდება და თავისთავად ნაკლებად კითხვადი ხდება. ამ პრობლემის არიდება შესაძლებელია შემოკლებული ჩაწერით რომელიც ნაჩვენებია შემდეგ მაგალითში:</p>
<style type="text/css">.short-text-style {
   font: bold italic 1em arial, verdana}</style>
<p><span class="short-text-style">This is sample text</span></p>
<p>შესაბამისი css კოდი გამოიყურება შემდეგ ნაირად:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.short-text-style</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">bold</span> <span style="color: #993333;">italic</span> <span style="color: #933;">1em</span> arial<span style="color: #00AA00;">,</span> verdana<br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>შედეგი თვალსაჩინოა, თუმცა აღსანიშნავია <strong>bold italic</strong> ჩაწერა, სადაც ორი თვისების მნიშვნელობა (font-style და font-weight) მითითებულია ერთმანეთის მიმდევრობით. ამ შემთხვევაში არანაირი აუცილებლობა იმისა რომ ორივე აღნიშნული თვისება მივუთითოთ ერთდროულად არ არსებობს, თავისუფალად შესაძლებელია რომ მივუთითოთ მხოლოდ bold ან italic ან normal და მივიღოთ სასურველი შედეგი.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/css-font-shorthands/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ელემენტის id და class ატრიბუტების გამოყენება</title>
		<link>http://www.code.ge/posts/using-element-id-and-class-attributes</link>
		<comments>http://www.code.ge/posts/using-element-id-and-class-attributes#comments</comments>
		<pubDate>Sun, 18 Mar 2007 15:28:39 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.ioseb.com/css/using-element-id-and-class-attributes</guid>
		<description><![CDATA[როგორც პოსტში სელექტორების მინიმიზაციის შესახებ ავღნიშნე მაქსიმალურად უნდა ავარიდოთ თავი არასაჭირო და ზედმეტი id და class ატრიბუტების გამოყენებას HTML კოდში, თუმცა ეს არ ნიშნავს იმას რომ ეს ატრიბუტები საერთოდ არ გამოვიყენოთ. აღნიშნულ თემაში განხილული იყო იდენტიფიკატორის(id) და კლასის(class) სელექტორები, მაგრამ არაფერი მითქვამს იმის შესახებ თუ რა შემთხვევაში უნდა გამოვიყენოთ თითოეული მათგანი. პირველ რიგში კვლავ მინდა [...]]]></description>
			<content:encoded><![CDATA[<p>როგორც პოსტში <a href="/css/minimizing-css-selectors">სელექტორების მინიმიზაციის</a> შესახებ ავღნიშნე მაქსიმალურად უნდა ავარიდოთ თავი არასაჭირო და ზედმეტი id და class ატრიბუტების გამოყენებას HTML კოდში, თუმცა ეს არ ნიშნავს იმას რომ ეს ატრიბუტები საერთოდ არ გამოვიყენოთ.</p>
<p>აღნიშნულ თემაში განხილული იყო იდენტიფიკატორის(id) და კლასის(class) სელექტორები, მაგრამ არაფერი მითქვამს იმის შესახებ თუ რა შემთხვევაში უნდა გამოვიყენოთ თითოეული მათგანი.<span id="more-42"></span></p>
<p>პირველ რიგში კვლავ მინდა ავღნიშნო რომ <strong>id</strong> ატრიბუტი შეიცავს ელემენტის უნიკალურ იდენტიფიკატორს და ის დოკუმენტში არ უნდა განმეორდეს, ხოლო <strong>class </strong>ატრიბუტის მნიშვნელობა შეესაბამება აღწერილ სტილს და ეს მნიშვნელობა იმდენჯერ შეიძლება გამოვიყენოთ დოკუმენტში იმდენჯერ რამდენჯერაც ეს საჭიროა.</p>
<p>დოკუმენტის ფორმირებისას აუცილებელია რომ ყურადღება მივაქციოთ მის თითოეულ დეტალს და იგი უნდა დავყოთ ლოგიკურ ნაწილებად, ასეთ შემთხვევაში გაცილებით მარტივია იმის განსაზღვრა თუ როგორ განვახორციელებთ მის შემდგომ ფორმატირებას CSS &#8211; ის მეშვეობით. </p>
<p>მაგალითად ამ ბლოგის სტრუქტურას შედგება სამი ძირითადი ნაწილისგან Header(თავი რომელიც ერთი და იგივეა ყველა დოკუმენტისათვის), Sidebar(მარცხენა მხარეს განთავსებული მენიუ რომელიც ასევე ერთი და იგივეა ყველა დოკუმენტისათვის) და Content(მაჯვენა ნაწილი რომელიც იცვლება კონტექსტის შესაბამისად). რადგან დოკუმენტის აღნიშნული ელემენტები არ შეიძლება მეორდებოდნენ დოკუმენტზე(რაც სავსებით ლოგიკურია), ასეთ შემთხვევაში თამამად შეგვიძლია გამოვიყენოთ იდენტიფიკატორის სელექტორები და შესაბამისად განვსაზღვროთ id ატრიბუტის მნიშვნელობები თითოეული მათგანისათვის:</p>
<ul>
<li>
Header &#8211; id=&#8221;blog-header&#8221;</li>
<li>Sidebar &#8211; id=&#8221;blog-sidebar&#8221;</li>
<li>Content &#8211; id=&#8221;blog-content&#8221;</li>
</ul>
<p>შესაბამისად აღწერილი შემთხვევისათვის HTML კოდი იქნება შემდეგნაირი:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-header&quot;</span>&gt;</span><br />
&nbsp; &nbsp; Header contents and elements<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-sidebar&quot;</span>&gt;</span><br />
&nbsp; &nbsp; Sidebar contents and elements<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-content&quot;</span>&gt;</span><br />
&nbsp; &nbsp; Content and elements<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>კოდის სტრუქტურა საკმაოდ მარტივი და ლოგიკურია და თავისუფლად არის შესაძლებელი თითოეულ ელემენტთან იდენტიფიკატორის სელექტორებით მუშაობა.</p>
<p>თუმცა თუ დავაკვირდებით ამავე ბლოგის საწყის გვერდს დავინახავთ რომ მის მარჯვენა(Content) ნაწილში არის ბოლო პოსტების ჩამონათვალი და ყველა პოსტი არის ფორმატირებული ერთნაირად. ასევე თუ ვნახავთ ამ გვერდის HTML კოდს დავინახავთ რომ ყველა პოსტი მოთავსებულია დამოუკიდებელ div ელემენტში და ამ ელემენტის class ატრიბუტს აქვს მინიჭებული შესაბამისი მნიშვნელობა. ეს სწორედ ის შემთხვევაა როდესაც აუცილებელია class ატრიბუტის გამოყენება რადგან პოსტების რაოდენობა აღემატება ერთს. რამდენადაც დაუშვებელია ელემენტის  id ატრიბუტის მნიშვნელობის გამეორება დოკუმენტში შესაძლებელია ამ ელემენტისათვის დავაგენერიროთ უნიკალური მნიშვნელობა სერვერზე გენერაციის დროს მაგრამ ამ შემთხვევაში შეუძლებელი იქნება წინასწარ CSS სტილის განსაზღვრა. </p>
<p>აღწერილი შემთხვევისათვის HTML კოდი შეგვიძლია დავწეროთ ასე:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-header&quot;</span>&gt;</span><br />
&nbsp; &nbsp; Header contents and elements<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-sidebar&quot;</span>&gt;</span><br />
&nbsp; &nbsp; Sidebar contents and elements<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-content&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-post-1&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-post&quot;</span>&gt;</span>Post content 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-post-2&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-post&quot;</span>&gt;</span>Post content 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-post-3&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-post&quot;</span>&gt;</span>Post content 3<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-post-4&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;blog-post&quot;</span>&gt;</span>Post content 4<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>მეტი თვალსაჩინოებისათვის კოდში ასევე მივუთითე სერვერზე(სავარაუდოდ) დაგენერირებული იდენტიფიკატორები, რაც უფრო გასაგებს ხდის ზემოთ აღნიშნულ დეტალს რომ ასეთ შემთხვევაში შეუძლებელია წინასწარ ვიცოდეთ იდენტიფიკატორის მნიშვნელობა.</p>
<p>ამ შემთხვევაში თავისუფლად შეგვიძლია გამოვიყენოთ კლასის სელექტორი რაც სავსებით გამართლებული და სწორი იქნება.</p>
<p>CSS კოდი მაგალითისათვის:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#blog-header</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#blog-sidebar</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#blog-</span><span style="color: #000000; font-weight: bold;">content</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
div<span style="color: #6666ff;">.blog-post</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1em</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#EFEFEF</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>განხილული მაგალითიდან შეგვიძლია გამოვიტანოთ დასკვნა, რომ id სელექტორები უნდა გამოვიყენოთ მხოლოდ იმ შემთხვევაში თუ გარანტირებულად ვიცით რომ ესა თუ ის იდენტიფიკატორი დოკუმენტში ყოველთვის იქნება ერთი ცალი, ხოლო ისეთ შემთხვევებში თუ წინასწარ შეუძლებელია იდენტიფიკატორის დადგენა და გვსურს გარკვეული სტილი მივანიჭოთ ერთზე მეტ ელემენტს უნდა გამოვიყენოთ class ატრიბუტი და შესაბამისი კლასის სელექტორები.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/using-element-id-and-class-attributes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS სელექტორების მინიმიზაცია</title>
		<link>http://www.code.ge/posts/minimizing-css-selectors</link>
		<comments>http://www.code.ge/posts/minimizing-css-selectors#comments</comments>
		<pubDate>Thu, 15 Mar 2007 06:56:42 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.ioseb.com/?p=39</guid>
		<description><![CDATA[შეუძლებელია CSS კოდის დაწერა სელექტორების გარეშე და ნებისმიერ შემთხვევაში მუდმივად გვიწევს მათი გამოყენება(რა თქმა უნდა აქ არ იგულისხმება HTML ელემენტის style ატრიბუტში CSS &#8211; ის გამოყენება). თუმცა ხშირად სელექტორებთან მუშაობა მოსაბეზრებელი და არასასიამოვნო რუტინაა და ამისათვის საჭირო მათი მინიმიზაცია&#8230; რაში მდგომარეობს სელექტორების მინიმიზაცია და როგორ უნდა მივაღწიოთ მათ შემცირებას ისე რომ CSS კოდთან მუშაობა უფრო [...]]]></description>
			<content:encoded><![CDATA[<p>შეუძლებელია CSS კოდის დაწერა სელექტორების გარეშე და ნებისმიერ შემთხვევაში მუდმივად გვიწევს მათი გამოყენება(რა თქმა უნდა აქ არ იგულისხმება HTML ელემენტის style ატრიბუტში CSS &#8211; ის გამოყენება). თუმცა ხშირად სელექტორებთან მუშაობა მოსაბეზრებელი და არასასიამოვნო რუტინაა და ამისათვის საჭირო მათი მინიმიზაცია&#8230;<span id="more-39"></span></p>
<p>რაში მდგომარეობს სელექტორების მინიმიზაცია და როგორ უნდა მივაღწიოთ მათ შემცირებას ისე რომ CSS კოდთან მუშაობა უფრო გამარტივდეს ხოლო HTML კოდი გახდეს უფრო სუფთა და ნაკლებად დატვირთული არასაჭირო ატრიბუტებით? პირველ რიგში რამდენიმე სიტყვა სელექტორების შესახებ&#8230;</p>
<p>მიუხედავად იმისა რომ არსებობს ბევრი ტიპის სელექტორი, ძირითადად გამოიყენება კლასის(class) სელექტორი, იდენტიფიკატორის(id) სელექტორი, მემკვიდრეების(descendant) სელექტორი, ელემენტის(element) სელექტორი და უნივერსალური(*) სელექტორი. არსებობს კიდევ სხვა ტიპის და ძალიან მოქნილი სელექტორები თუმცა მათი მხარდაჭერა არ გააჩნია ყველა ბროუზერს (განსაკუთრებით ამ მხრივ ბრწყინავს IE) ამიტომ მათ გამოყენებაზე აქ არ ვისაუბრებ.</p>
<p>განვიხილოთ ზემოთ ჩამოთვლილი სელექტორები.</p>
<p><strong><br />
class selector</strong></p>
<p>მაგალითად: <strong>.style-one {color: red;}</strong> ამ სტილის გამოყენება შეიძლება ნებისმიერი ელემენტისთვის:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;style-one&quot;</span>&gt;</span>paragraph text<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;style-one&quot;</span>&gt;</span>text<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;style-one&quot;</span>&gt;</span>div text<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>როგორც კოდში ჩანს აღწერილი სტილი შეიძლება მივანიჭოთ ელემენტებს მათი class ატრიბუტის გამოყენებით. აქ ყურადღება უნდა მივაქციოთ იმ დეტალს რომ ყველა ელემენტს  ესაჭიროება ამ ატრიბუტისა და მისი მნიშვნელობის მითითება.</p>
<p><strong><br />
id selector</strong></p>
<p>ამ ტიპის სელექტორის გამოყენება თითქმის ანალოგიურია წინა მაგალითისა, პირველი განსხვავება მდგომარეობს იმაში რომ სტილის აღწერას ვიწყებთ არა წერტილით(.) არამედ # ნიშნით:<strong> #id-one{color: blue;}</strong> ამ სტილის გამოყენება შეიძლება ყველა იმ ელემენტისთვის რომლის id ატრიბუტის მნიშვნელობა არის id-one. თუმცა უნდა გავითვალისწინოთ ის ფაქტი რომ დოკუმენტში არ შეიძლება არსებობდეს ორი ან ორზე მეტი ელემენტი ერთი და იგივე იდენტიფიკატორით. მაგალითად:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;id-one&quot;</span>&gt;</span>some text<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;id-one&quot;</span>&gt;</span>paragraph<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>მიუხედავად იმისა რომ აღწერილი სტილი გავრცელდება ორივე ელემენტზე ეს კოდი არასწორია, რადგან ორ სხვადასხვა ელემენტს აქვს ერთი და იგივე იდიენტიფიკატორი რაც ზოგადად დაუშვებელია. </p>
<p><strong><br />
descendant selector</strong> </p>
<p>მემკვიდრეების სელექტორები შედარებით რთულია განსხვავებით კლასისა და იდენტიფიკატორის სელექტორებისგან. მაგალითად: <strong>#id-two p span {color: green;}</strong> ეს კოდი გულისხმობს იმას რომ id-two იდენტიფიკატორის მქონე ელემენტის შიგნით არსებული p ელემენტის შიგნით არსებული ყველა span ელემენტის ტექსტის ფერი იქნება მწვანე.</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;id-two&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span>text one<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span>text two<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>კოდში ნაჩვენებია ზემოთ აღწერილი სტრუქტურა, ანუ div ელემენტი რომლის იდენტიფიკატორიც არის id-two შეიცავს p ელემენტს რომელიც თავის მხრივ შეიცავს ორ span ელემენტს.</p>
<p><strong><br />
element selector</strong></p>
<p>ელემენტის სელექტორი შედარებით მარტივია, მაგალითად <strong>div {font-size: 24px;}</strong> გულისხმობს რომ დოკუმენტში არსებული ყველა div ელემენტის ფონტის ზომა იქნება 24 პიქსელი. ამ ტიპის სელექტორი შეიძლება გამოვიყენოთ დოკუმენტში არსებული ნებისმიერი ელემენტისათვის.</p>
<p><strong><br />
universal(*) selector</strong></p>
<p>საკმაოდ მოსახერხებელი და ეფექტური საშუალებაა დოკუმენტის გლობალური სტილების განსაზღვრისათვის. მაგალითად იგი შეგვიძლია გამოვიყენოთ შემდეგნაირად:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #00AA00;">*</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">13px</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">yellow</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>ეს კოდი განსაზღვრავს დოკუმენტის აბსოლუტურად ყველა ელემენტის საწყისი ფონტის ზომასა და ფერს.</p>
<p>ხოლო შემდეგი კოდი განსაზღვრავს მხოლოდ div ელემენტების შიგნით არსებული ყველა ელემენტის ფონტის ზომასა და ფერს:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">div <span style="color: #00AA00;">*</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">13px</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">yellow</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>საკმარისი ინფორმაციია იმსათვის რათა შევუდგეთ შემდეგი მაგალითის განხილვას. ქვევით ნაჩვენებია ფრაგმენტი რომელიც შედგება ერთი მთავარი კონტეინერისგან(ლურჯი გვერდებით) მის შიგნით არსებული დასათაურებებით(Heading 1, Heading 2, Heading 3), დასათაურების შესაბამისი ტექსტებითა და კონტეინერის ზედა მარჯვენა კუთხეში განთავსებული ჩამონათვალით.</p>
<style type="text/css">#sample {
	border: 2px solid blue;
	padding: 24px;
	position: relative;
        width: 75%;
	margin: 0 auto;
}#sample * {
	font-family: arial;
	padding: 0;
	margin: 0;
}#sample p {
	padding-left: 24px;
	color: green;
}#sample div {
	position: absolute;
	top: 2px;
	right: 2px;
	background: pink;
	padding: 4px;
}#sample div ul {
	list-style-type: none;
}#sample div h3 {
	color: gray;
}#sample div a:link, #sample div a:visited {
	color: red;
	text-decoration: underline;
}#sample div a:hover {
	text-decoration: none;
	color: blue;
}</style>
<div id="sample">
<h1>Heading 1</h1>
<p>this is paragraph</p>
<p>this is paragraph</p>
<p>this is paragraph</p>
<p></p>
<h2>Heading 2</h2>
<p>this is paragraph</p>
<p>this is paragraph</p>
<p></p>
<h3>Heading 3</h3>
<p>this is paragraph</p>
<p>this is paragraph</p>
<div>
<h3>Table of Contents</h3>
<ul>
<li><a href="#">List item</a></li>
<li><a href="#">List item</a></li>
<li><a href="#">List item</a></li>
<li><a href="#">List item</a></li>
<li><a href="#">List item</a></li>
</ul></div>
</div>
<p>
მაგალითში გამოყენებულია შემდეგი HTML კოდი:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;sample&quot;</span>&gt;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/h1.html"><span style="color: #000000; font-weight: bold;">h1</span></a>&gt;</span>Heading 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/h1.html"><span style="color: #000000; font-weight: bold;">h1</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>this is paragraph<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>this is paragraph<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>this is paragraph<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/br.html"><span style="color: #000000; font-weight: bold;">br</span></a> <span style="color: #66cc66;">/</span>&gt;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/h2.html"><span style="color: #000000; font-weight: bold;">h2</span></a>&gt;</span>Heading 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/h2.html"><span style="color: #000000; font-weight: bold;">h2</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>this is paragraph<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>this is paragraph<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/br.html"><span style="color: #000000; font-weight: bold;">br</span></a> <span style="color: #66cc66;">/</span>&gt;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/h3.html"><span style="color: #000000; font-weight: bold;">h3</span></a>&gt;</span>Heading 3<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/h3.html"><span style="color: #000000; font-weight: bold;">h3</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>this is paragraph<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>this is paragraph<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/h3.html"><span style="color: #000000; font-weight: bold;">h3</span></a>&gt;</span>Table of Contents<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/h3.html"><span style="color: #000000; font-weight: bold;">h3</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>List item<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>List item<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>List item<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>List item<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>List item<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
&nbsp; <br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>ერთი თვალის გადავლებითაც ჩანს რომ კოდში არ არის გამოყენებული არცერთი class ატრიბუტი და გამოყენებულია ერთადერთი იდენტიფიკატორი მთავარი კონტეინერისათვის id=&#8221;sample&#8221;. ვიზუალურად ჩანს რომ კოდის ამ ფრაგმენტის ყველა დეტალი დამუშავებულია და ყველა ელემენტს გააჩნია თავისი სტილი.</p>
<p>
სტილები sample კონტეინერისათვის აღწერილია შემდეგ CSS კოდში:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#sample</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">24px</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;"><span style="color: #cc66cc;">75</span>%</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> 0 <span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#sample</span> <span style="color: #00AA00;">*</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span> arial<span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#sample</span> p <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">padding-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">24px</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#sample</span> div <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> pink<span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">4px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#sample</span> div ul <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">list-style-type</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#sample</span> div h3 <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">gray</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#sample</span> div a<span style="color: #3333ff;">:link</span><span style="color: #00AA00;">,</span> <span style="color: #cc00cc;">#sample</span> div a<span style="color: #3333ff;">:visited </span><span style="color: #00AA00;">&#123;</span><br />
&nbsp; <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><br />
&nbsp; <span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">underline</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#sample</span> div a<span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>დეტლურად განვიხილოთ მოცემული CSS კოდი. პირველ რიგში ავღნიშნავ რომ გადამწყვეტი დეტალი ზემოთ მოყვანილ მაგალითში არის იდენტიფიკატორი sample(id=&#8221;sample&#8221;) რადგან სწორედ მაგ იდენტიფიკატორის მქონე ელემენტია მთავარი კონტეინერი. დავიწყოთ განხილვა სტილის პირველი დეკლარაციიდან:</p>
<p><strong>#sample {</strong><br />
განვსაზღვრავთ კონტეინერის ზოგად სტილს.</p>
<p><strong>#sample * {</strong><br />
იდენტიფიკატორისა და უნივერსალური სელექტორის კომბინაციით განვსაზღვრავთ საერთო სტილს sample კონტეინერის შიგნით არსებული აბსოლუტურად ყველა ელემენტისათვის. აქ ყურადღებას იმსახურებს padding და margin თვისებების მნიშვნელობა, ორივე თვისებას აქვს მინიჭებული 0 (ნული) მაგრამ მას არ აქვს მითითებული საზომი ერთეული(მაგ. px, em, %&#8230;) იმ შემთხვევაში თუ თვისების მნიშვნელობა არის 0 არ არის აუცილებელი საზომი ერთეულის მითითება და ეს არ არის შეცდომა, ხოლო როდესაც მნიშვნელობა აღემატება ნულს აუცილებელია რომელიმე საზომი ერთეულის მითითება წინააღმდეგ შემთხვევაში ბროუზერები მათ არ გაითვალისწინებენ.</p>
<p><strong>#sample p {</strong><br />
საერთო სტილები sample კონტეინერს შორის არსებული ყველა p ელემენტისთვის</p>
<p><strong>#sample div {</strong><br />
ამ შემთხვევაში div ელემენტის position თვისების მნიშვნელობა განსაზღვრულია როგორც absolute რაც გვაძლევს იმის საშუალებას რომ sample კონტეინერს შიგნით არსებული ერთადერთი div ელემენტი გადავაადგილოთ კონტეინერს შიგნით ნებისმიერ პოზიციაზე, თუმცა ყურადღება მიაქციეთ თვითონ #sample { დეკლარაციას სადაც კონტენიერის position თვისების მნიშვნელობა არის relative რაც იძლევა იმის გარანტიას რომ მის შიგნით არსებული აბსოლუტური პოზიციის მქონე div ელემენტის პოზიციონირება შეგვიძლია სწორედ მისი კონტეინერს მიმართ(მის შიგნით) და არა მის გარეთ.</p>
<p>დანარჩენი #sample div ul {, #sample div h3 {,  #sample div a:link, #sample div a:visited { და #sample div a:hover { გამოიყენება უშუალოდ #sample div ელემენტის შიგნით არსებული ელემენტების სტილების განსაზღვირსათვის. თუმცა აქ ყურადღებას იმსახურებს #sample div a:link, #sample div a:visited { დეკლარაცია, ამ შემთხვევაში #sample div a:link და #sample div a:visited არის დაჯგუფებული (უბრალოდ გამოიყოფა მძიმით(,)) რადგან ორივე შემთხვევაში(a:link და a:visited) გვესაჭიროება ერთი და იგივე სტილები.</p>
<p>მაგალითში ნაჩვენები იყო თუ როგორ შეიძლება მივაღწიოთ სელექტორების მინიმიზაციას ელემენტის მემკვიდრეებზე პირდაპირი მიმართვით. სელექტორების მინიმიზაციასთან ასევე მნიშვნელოვანი დეტალია ის რომ CSS კოდი ბევრად უფრო ლოგიკურია და მისი მენეჯმენტიც შესაბამისად საგრძნობლად ადვილია.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/minimizing-css-selectors/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS შემოკლებები &#8211; border</title>
		<link>http://www.code.ge/posts/css-border-shorthands</link>
		<comments>http://www.code.ge/posts/css-border-shorthands#comments</comments>
		<pubDate>Wed, 14 Mar 2007 11:31:05 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.ioseb.com/?p=38</guid>
		<description><![CDATA[ლეიაუტის CSS &#8211; ის გამოეყენებით აწყობის ერთერთი მთავარი უპირატესობა მდგომარეობს იმაში რომ დოკუმენტებში საგრძნობლად მცირდება HTML კოდის რაოდენობა, ხოლო დიზაინის ლოგიკა მთლიანად გატანილია CSS &#8211; ში, თუმცა პირველ პერიოდში როდესაც დავინტერესდი CSS &#8211; ით, HTML კოდის შემცირებასთან ერთად აღმოვაჩინე რომ თვითონ CSS კოდი გამოდიოდა საკმაოდ დიდი და რაც ყველაზე უარესია რთულად წასაკითხი და გასარჩევი. დროთა [...]]]></description>
			<content:encoded><![CDATA[<p>ლეიაუტის CSS &#8211; ის გამოეყენებით აწყობის ერთერთი მთავარი უპირატესობა მდგომარეობს იმაში რომ დოკუმენტებში საგრძნობლად მცირდება HTML კოდის რაოდენობა, ხოლო დიზაინის ლოგიკა მთლიანად გატანილია CSS &#8211; ში, თუმცა პირველ პერიოდში როდესაც დავინტერესდი CSS &#8211; ით, HTML კოდის შემცირებასთან ერთად აღმოვაჩინე რომ თვითონ CSS კოდი გამოდიოდა საკმაოდ დიდი და რაც ყველაზე უარესია რთულად წასაკითხი და გასარჩევი. დროთა განმავლობაში დავიწყე ინფორმაციის მოძიება CSS &#8211; ის კოდის უფრო შემოკლებულად და ეფექტურად წერის შესახებ და ამის ხარჯზე მოვახერხე კოდის საკმაოდ შემცირება.<span id="more-38"></span></p>
<p>არის რამდენიმე CSS თვისება რომელიც შეიძლება საგრძნობლად მოკლედ ჩიაწეროს: border, font, padding, margin, list-style.</p>
<p><strong><br />
border</strong></p>
<p>ეს თვისება როგორც მისი სახელი გვეუბნება გამოიყენება ელემენტების გვერდების დასამუშავებლად, მაგალითად ასეთი შედეგის მისაღწევად:</p>
<style type="text/css">#d1 {border-size: 1px; border-style: dotted; border-color: green}</style>
<div id="d1">this is div</div>
<p>უნდა დავწეროთ შემდეგი CSS კოდი:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">border-<span style="color: #000000; font-weight: bold;">size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1px</span><span style="color: #00AA00;">;</span> <br />
<span style="color: #000000; font-weight: bold;">border-style</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">dotted</span><span style="color: #00AA00;">;</span> <br />
<span style="color: #000000; font-weight: bold;">border-color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span></div></td></tr></tbody></table></div>
<p>თუმცა უფრო მოკლე გზა გამოიყურება ასე:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span></div></td></tr></tbody></table></div>
<p>იგივე ტიპის შემოკლება შეგვიძლია გამოვიყენოთ: border-top, border-right, border-bottom და border-left &#8211; ისთვის.</p>
<p>მაგალითად შემდეგი კოდით:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#d1</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">dotted</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border-right</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">dotted</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border-bottom</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">dotted</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">dotted</span> orange<span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>მივიღებთ ასეთ შედეგს: </p>
<style type="text/css">#d3 {
	border-top: 2px dotted red;
	border-right: 2px dotted green;
	border-bottom: 2px dotted blue;
	border-left: 2px dotted orange;
}</style>
<div id="d3">this is div</div>
<p>თუმცა იგივე შედეგის მისაღწევად საკმარისია შემდეგი კოდი:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#d1</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">dotted</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border-color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span> <span style="color: #993333;">green</span> <span style="color: #000000; font-weight: bold;">blue</span> orange<span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>ყურადღება მიაქციეთ რომ, კოდის შემოკლებულ ვარიანტში ელემენტის გვერდების ფერები განსაზღვრულია შემდეგი მიმდევრობით: top, right, bottom, left</p>
<p>ნებისმიერი CSS თვისება რომელისაც აქვს საშუალება რომ ერთდროულად განვსაზღვროთ მნიშვნელობა ელემენტის გვერდებისთვის(მაგ: padding, margin, border) იყენებს ზუსტად იგივე მიმდევრობას.</p>
<p>ასევე აღსანიშნავია რომ არ არის აუცილებელი ოთხივე მნიშვნელობის მითითება, მაგალითად სავსებით დასაშვებია და შესაძლებელი კოდის მსგავსი ჩაწერა:</p>
<p><strong>border-color: red green blue;</strong> ან სულაც <strong>border: red green;</strong> ან <strong>border: red;</strong> თუმცა ამ ჩაწერით მიღებული რეზულტატი საჭიროებს ახსნას.</p>
<p>შემდეგი კოდი:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">border-color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span> <span style="color: #993333;">green</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span></div></td></tr></tbody></table></div>
<p>ექვივალენტურია ასეთი ჩაწერისა:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">border-color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">red</span> <span style="color: #993333;">green</span> <span style="color: #000000; font-weight: bold;">blue</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span></div></td></tr></tbody></table></div>
<p>აქედან გამომდინარე შეგვიძლია ვთქვათ, რომ თუ გამოტოვებულია მნიშვნელობა მეოთხე(მარცხენა) გვერდისათვის მისი ფერი იქნება იგივე რაც განსაზღვრულია მეორე(მარჯვენა) გვერდისათვის. თუ გამოტოვებულია მნიშვნელობები მესამე(ქვედა) და მეოთხე(მარცხენა) გვერდებისათვის შესაბამისად ქვედა გვერდის ფერი იქნება იგივე რაც პირველი(ზედა) გვერდისათვის, ხოლო მარცხენა გვერდის ფერი იქნება იგივე რაც მეორე(მარჯვენა) გვერდის ფერი. იმ შემთხვევაში თუ მითითებულია მხოლოდ ერთი მნიშვნელობა(მაგ. border-color: red) ეს ნიშნავს იმას რომ ელემენტის ყველა გვერდს ექნება იგივე ფერი.</p>
<p>მაგალითად თუ გვინდა რომ მაჯვენა და მარცხენა გვერდებს ჰქონდეთ წითელი, ხოლო ზედა და ქვედა გვერდებს ლურჯი ფერი შეგვიძლია მარტივად დავწეროთ ასეთი CSS კოდი:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">border-color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">blue</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span></div></td></tr></tbody></table></div>
<p></p>
<style type="text/css">#d2{
border: 2px solid;
border-color: blue red;</style>
<div id="d2">this is div</div>
<p>მსგავსი ტიპის შემოკლებები შეგვიძლია გამოვიყენოთ მაგალითად გვერდების ზომებისათვის.</p>
<p>მაგალითად ეს კოდი:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">border-top-width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">border-right-width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">4px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">border-bottom-width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">border-left-width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span></div></td></tr></tbody></table></div>
<p>შეგვიძლია გადავწეროთ ასე:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">border-width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #933;">4px</span> <span style="color: #933;">2px</span> <span style="color: #933;">5px</span><span style="color: #00AA00;">;</span></div></td></tr></tbody></table></div>
<p>აბსოლუტურად იგივე ეხება გვერდების სტილებს: border-top-style, border-right-style, border-bottom-style, border-left-style. ისნი შეიძლება შევამოკოთ და მათ ნაცვლად საჭიროების შემთხვევაში გამოვიყენოთ border-style(მაგ. border-style: solid dotted dotted solid).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/css-border-shorthands/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>CSS rollover ეფექტი JavaScript &#8211; ის გარეშე</title>
		<link>http://www.code.ge/posts/css-rollover-effect-without-javascript</link>
		<comments>http://www.code.ge/posts/css-rollover-effect-without-javascript#comments</comments>
		<pubDate>Mon, 12 Mar 2007 10:41:32 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.ioseb.com/?p=28</guid>
		<description><![CDATA[rollover ეფექტი ვებ საიტებისა თუ ვებ აპლიკაციების დიზაინში ხშირად გამოყენებადი ელემენტია. განსაკუთრებით ხშირად იგი გამოიყენება ნავიგაციის მენიუებში, თუმცა არც სხვა შემთხვევები წარმოადგენს გამონაკლისს. წლების წინ როდესაც CSS &#8211; ის მხარდაჭერა არასრულყოფილად იყო რეალიზებული ბროუზერებში ამ ეფექტის მიღწევის ერთადერთი გზა იყო JavaScript. თავისთავად rollover ეფექტი სხვადასხვანაირად შეგვიძლია გამოვიყენოთ, რიგ შემთხვევებში შეიძლება HTML ელემენტებს მაუსის ისრის მიტანის [...]]]></description>
			<content:encoded><![CDATA[<p>rollover ეფექტი ვებ საიტებისა თუ ვებ აპლიკაციების დიზაინში ხშირად გამოყენებადი ელემენტია. განსაკუთრებით ხშირად იგი გამოიყენება ნავიგაციის მენიუებში, თუმცა არც სხვა შემთხვევები წარმოადგენს გამონაკლისს. წლების წინ როდესაც CSS &#8211; ის მხარდაჭერა არასრულყოფილად იყო რეალიზებული ბროუზერებში ამ ეფექტის მიღწევის ერთადერთი გზა იყო JavaScript.<br />
<span id="more-28"></span></p>
<p>თავისთავად rollover ეფექტი სხვადასხვანაირად შეგვიძლია გამოვიყენოთ, რიგ შემთხვევებში შეიძლება HTML ელემენტებს მაუსის ისრის მიტანის დროს შევუცვალოთ ფონის სურათი, ან საერთოდ არ გამოვიყენოთ სურათები და უბრალოდ შევუცვალოთ ფონი. მაგრამ არსებობს ისეთი შემთხვევები როდესაც მხოლოდ ფონის შეცვლა არ კმარა, ზოგჯერ შეიძლება ბევრად მეტი ცვლილების განხორციელება იყოს საჭირო, მაგალითად ტექსტის ფერის შეცვლა, ელემენტის გვერდების ზომისა და ფერის შეცვლა, ელემენტს შიგნით არსებული სხვა ელემენტების გამოჩენა და ა.შ.</p>
<p>გამომდინარე აღწერილი შემთხვევებიდან ერთის მხრივ თუ ამ ცვლილებების დიდ ნაწილს განვახორციელებთ სურათების მეშვეობით, მოგვიწევს უკეთეს შემთხვევაში ორი სურათის შექმნა, უარეს შემთხვევაში კი ორზე მეტი სურათიც კი შეიძლება დაგვჭირდეს. ამასთან ერთად რაც უფრო რთული ცვლილებების გაკეთება ხდება საჭირო მითუ უფრო მეტი JavaScript კოდის წერაა საჭირო, რაც თავის მხრივ არ არის ეფექტური გამოსავალი.</p>
<p>ქვემოთ ნაჩვენები მარტივი მენიუ მთლიანად გაკეთებულია CSS და XHTML კოდის მეშვეობით და იგი არ იყენებს JavaScript &#8211; ს.</p>
<style type="text/css">#menu ul {
	padding: 0px;
	margin: 0px;
	list-style-type: none;
}#menu a {
	display: block;
	width: 150px;
	background-color: lightblue;
	color: blue;
	border-bottom: 1px solid gray;
	border-right: 5px solid silver;
	text-decoration: none;
	padding: 2px;
}#menu a:hover {
	background-color: pink;
	border-right: 5px solid orange;
	color: red;
}</style>
<div id="menu">
<ul>
<li><a href="#">Item One</a></li>
<li><a href="#">Item Two</a></li>
<li><a href="#">Item Three</a></li>
</ul>
</div>
<p>ამ მარტივ მაგალითში მენიუს რომელიმე ელემენტზე მაუსის ისრის მიტანის დროს ხდება რამდენიმე ცვლილება:</p>
<ol>
<li>იცვლება ელემენტის ფონის ფერი</li>
<li>იცვლება ტექსტის ფერი</li>
<li>იცვლება მარჯვენა გვერდის ფერი</li>
</ol>
<p>მენიუს HTML კოდი შედგება სულ რამდენიმე სტრიქონისგან:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu&quot;</span>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Item One<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Item Two<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Item Three<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>კოდიდან ცხადად ჩანს რომ მასში არ არის გამოყენებული არც ერთი მოვლენა (event), JavaScript &#8211; ით იგივე ეფექტის მიღების შემთხვევაში ყველა a ელემენტისთვის საჭირო იქნებოდა onmouseover და onmouseout მოვლენების გამოყენება. ამ შემთხვევაში კი ყველა ცვლილება ხორციელდება მხოლოდ CSS კოდით რომელიც ნაჩვენებია ქვემოთ.</p>
<p>მენიუს CSS კოდს აქვს შემდეგი სახე:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#menu</span> ul <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">0px</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">list-style-type</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#menu</span> a <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <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><br />
&nbsp; <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">150px</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> lightblue<span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border-bottom</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">gray</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border-right</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">silver</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#menu</span> a<span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span> pink<span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border-right</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #993333;">solid</span> orange<span style="color: #00AA00;">;</span><br />
&nbsp; <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><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>მოცემულ მაგალითში სასურველი ეფექტის მისაღწევად გამოიყენება a ელემენტის hover ფსევდო კლასი, რომელიც გვაძლევს იმის საშუალებას რომ menu იდენტიფიკატორის მქონე div ელემენტის შიგნით არსებულ ყველა a ელემენტზე მაუსის ისრის მიტანის დროს განვახორციელოთ სხვადასხვა ცვლილება. ამ შემთხვევაში როგოც ზემოთ იყო აღნიშნული იცვლება მხოლოდ ფონი, მარჯვენა გვერდის ფერი და ტექსტის ფერი.</p>
<p>ამ მარტივი მაგალითიდან ცხადია რომ hover ფსევდო კლასის გამოყენებით შესაძლებელია უამრავი სხვა ცვლილების განხორციელება საჭიროების მიხედვით. მაგალითად გარდა მხოლოდ ფონის ფერის ცვლილებისა თავისუფლად არის შესაძლებელი რომ ელემენტს შევუცვალოთ არა მხოლოდ ფერი არამედ მას შევუცვალოთ ფონის სურათი, რაც მიიღება იგივე კოდის მარტივი მოდიფიცირებით:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#menu</span> a<span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">background-image</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">&quot;hoverimage.gif&quot;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-repeat</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">no-repeat</span><span style="color: #00AA00;">;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">border-right</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #993333;">solid</span> orange<span style="color: #00AA00;">;</span><br />
&nbsp; <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><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>ასეთ შემთხვევაში (იგულისხმება რომ სურათი სახელად hoverimage.gif არსებობს) ელემენტს მიენიჭება ახალი ფონის სურათი&#8230; თუმცა ეს არ არის ყველაფერი, მაგალითად წარმოვიდგინოთ შემთხვევა როდესაც მენიუს ელემენტზე მაუსის ისრის მიტანის დროს უნდა გამოჩნდეს რაიმე დამალული ელემენტი როგორც ნაჩვენებია შემდეგ მაგალითში:</p>
<style type="text/css">#menu a {
	display: block;
	width: 150px;
	background-color: lightblue;
	color: blue;
	border-bottom: 1px solid gray;
	border-right: 5px solid silver;
	text-decoration: none;
	padding: 2px;
}#menu a span {
	display: none;
}#menu a:hover {
	background-color: pink;
	border-right: 5px solid orange;
	color: red;
}#menu a:hover span {
	display: inline;
	font-weight: bold;
	color: green;
}#menu ul {
	padding: 0px;
	margin: 0px;
	list-style-type: none;
}</style>
<div id="menu">
<ul>
<li><a href="#">Item One<span>&nbsp;Info One</span></a></li>
<li><a href="#">Item Two<span>&nbsp;Info Two</span></a></li>
<li><a href="#">Item Three<span>&nbsp;Info Three</span></a></li>
</ul>
</div>
<p>ამ მაგალითში გარდა ზემოთ ჩამოთვლილი ცვლილებებისა დაემატა კიდევ ერთი, ელემენტზე ისრის მიტანისას ჩნდება მწვანე ფერის ტექსტი.</p>
<p>როგორ მიიღწევა ეს ეფექტი? პირველ რიგში მცირე ცვლილება HTML კოდში:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu&quot;</span>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Item One<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span><span style="color: #ddbb00;">&amp;nbsp;</span>Info One<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Item Two<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span><span style="color: #ddbb00;">&amp;nbsp;</span>Info Two<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;&lt;<a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Item Three<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span><span style="color: #ddbb00;">&amp;nbsp;</span>Info Three<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/a.html"><span style="color: #000000; font-weight: bold;">a</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/li.html"><span style="color: #000000; font-weight: bold;">li</span></a>&gt;</span><br />
&nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/ul.html"><span style="color: #000000; font-weight: bold;">ul</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>მენიუს ყოველ ელემენტს a ტეგს შიგნით დავამატეთ span ტეგი შესაბამისი ტექსტით, რომელიც მენიუს ელემენტზე ისრის მიტანის დროს გამოჩნდება.</p>
<p>ასევე მცირე ცვლილება განხორციელდა CSS კოდში, მას დაემატა შემდეგი დირექტივები:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#menu</span> a span <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #cc00cc;">#menu</span> a<span style="color: #3333ff;">:hover </span>span <span style="color: #00AA00;">&#123;</span><br />
&nbsp; <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">inline</span><span style="color: #00AA00;">;</span><br />
&nbsp; <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><br />
&nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>განვიხილოთ თითოეული მათგანი.</p>
<p>#menu a span &#8211; ის მეშვეობით უბრალოდ ვმალავთ a ელემენტების შიგნით არსებულ span ტეგებს.<br />
<br />#menu a:hover span &#8211; ის მეშვეობით კი პირიქით, ვაჩენთ span ტეგს CSS display თვისების მეშვეობით.</p>
<p>ისევე როგორც პირველ მაგალითში ამ შემთხვევაშიც ყველაფერი განხორციელდა CSS &#8211; ის მეშვეობით. თუ ზემოთ მოცემულ CSS კოდს დავამატებთ შემდეგ დირექტივას:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#menu</span> ul li <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> inline-<span style="color: #993333;">block</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <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><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>ვერტიკალურის ნაცვლად მივიღებთ ჰორიზონტალურ მენიუს.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/css-rollover-effect-without-javascript/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>ელემენტის სტილებთან მუშაობა &#8211; ნაწილი 2</title>
		<link>http://www.code.ge/posts/working-with-element-styles-part-two</link>
		<comments>http://www.code.ge/posts/working-with-element-styles-part-two#comments</comments>
		<pubDate>Sat, 24 Feb 2007 20:50:19 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=16</guid>
		<description><![CDATA[ელემენტების სტილებთან მუშაობა ხშირი და გარდაუვალი აუცილებლობაა, თუმცა მას გააჩნია თავისი სირთულეები. სტილებთან მუშაობის მარტივი მაგლითი აღწერილია ამ სტატიის პირველ ნაწილში. რაში მდგომარეობს სტილებთან მუშაობის სირთულე და რითია ეს საკითხი ასეთი მნიშვნელოვანი? მთავარი პრობლემა ბროუზერების არათავსებადობაში მდგომარეობს, მიუხედავად იმისა რომ დღეს მინიმუმამდე დავიდა ეს პრობლემა გარკვეულ და ხშირად საკმაოდ მნიშვნელოვან საკითხებში მაინც საჭიროა ამ პრობლემასთან [...]]]></description>
			<content:encoded><![CDATA[<p>ელემენტების სტილებთან მუშაობა ხშირი და გარდაუვალი აუცილებლობაა, თუმცა მას გააჩნია თავისი სირთულეები. სტილებთან მუშაობის მარტივი მაგლითი აღწერილია ამ სტატიის პირველ ნაწილში. რაში მდგომარეობს სტილებთან მუშაობის სირთულე და რითია ეს საკითხი ასეთი მნიშვნელოვანი? მთავარი პრობლემა ბროუზერების არათავსებადობაში მდგომარეობს, მიუხედავად იმისა რომ დღეს მინიმუმამდე დავიდა ეს პრობლემა გარკვეულ და ხშირად საკმაოდ მნიშვნელოვან საკითხებში მაინც საჭიროა ამ პრობლემასთან ბრძოლა.<span id="more-16"></span></p>
<p>ელემენტის სტილებთან წვდომა შესაძლებელია ელემენტის style თვისების მეშვეობით, თუმცა არა ყოველთვის. მაგალითად შემდეგ კოდში ნაჩვენებია ისეთი შემთხვევა როდესაც style თვისება აბსოლუტურად გამოუსადეგარია:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;someClass&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>ასეთ შემთხვევაში როდესაც ელემენტს სტილი განსაზღვრული აქვს class ატრიბუტის მეშვეობით და არა style ატრიბუტის მეშვეობით შეუძლებელია მივიღოთ დავუშვათ ელემენტის border-left-width css ატრიბუტის მნიშვნელობა. როგორ მოვიქცეთ იმ შემთხვევაში თუ აუცილებლად გვესაჭიროება რომელიმე css ატრიბუტის მნიშვნელობის დადგენა?</p>
<p>ამისათვის ორი გზა არსებობს:</p>
<ul>
<li>w3c სტანდარტის გამოყენებით.</li>
<li>Internet Explorer &#8211; ის სტანდარტის გამოყენებით (IE ბრწყინავს როგორც ყოველთვის)</li>
</ul>
<p>ზემოთთქმულიდან გამომდინარე შეგვიძლია დავწეროთ ასეთი JavaScript კოდი:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">function</span> getStyle<span style="color: #009900;">&#40;</span>element<span style="color: #339933;">,</span> styleName<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>isIe<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">return</span> element.<span style="color: #660066;">currentStyle</span><span style="color: #009900;">&#91;</span>styleName<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">return</span> document.<span style="color: #660066;">defaultView</span>.<span style="color: #660066;">getComputedStyle</span><span style="color: #009900;">&#40;</span>element<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getPropertyValue</span><span style="color: #009900;">&#40;</span>styleName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>კოდი მარტივია და გასაგები (იგულისხმება რომ isIe ცვლადი განსაზღვრული გვაქვს ფუნქციის მიღმა) და შეიძლება ვიფიქროთ რომ ამით პრობლემა მოგვარებულია&#8230; თუმცა ეს ასე არ არის აქ კიდევ ერთ ძალიან მნიშვნელოვან და არასასიამოვნო პრობლემას ვაწყდებით.</p>
<p>მაგალითად CSS &#8211; ის წერისას თუ გვინდა განვსაზღვროთ ელემენტსი მარცხენა გვერდის სიგანე ვწერთ ასეთ კოდს: border-left-width: 5px; ან თუ გვსურს მისი ფონის ფერის განსაზღვრა: background-color: red; ამ ნიმუშებიდან ჩანს რომ სტილის დასახელება შედგება ორი ან ორზე მეტი სიტყვისგან რომელიც გამოყოფილია ტირეების მეშვეობით. თუ დაგვჭირდება რომელიმე ამ სტილის მნიშვნელობის მიღება შეგვიძლია გამოვიყენოთ ზემოთ აღწერილი getStyle ფუნქცია:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>getStyle<span style="color: #009900;">&#40;</span>someElement<span style="color: #339933;">,</span> <span style="color: #3366CC;">'border-left-width'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>getStyle<span style="color: #009900;">&#40;</span>someElement<span style="color: #339933;">,</span> <span style="color: #3366CC;">'background-color'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>თუმცა ამ კოდს თუ გავტესტავთ Mozilla FireFox &#8211; სა და Internet Explorer &#8211; ში განსხვავებულ შედეგს მივიღებთ &#8211; ცეცხლაკუდა სწორ პასუხს დაგვიბრუნებს ხოლო ინტერნეტ ექსპლორერი კი არაფერს&#8230; რის გამო ხდება ეს?</p>
<p>მიზეზი მდგომარეობს იმაში რომ IE &#8211; ს CSS ატრიბუტებს ინახავს განსხვავებულად, მაგალითად: background-color ატრიბუტი IE &#8211; სთვის არის backgroundColor და თუ გვინდა მისი მნიშვნელობის მიღება კოდი უნდა ჩავწეროთ შემდეგნაირად:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>getStyle<span style="color: #009900;">&#40;</span>someElement<span style="color: #339933;">,</span> <span style="color: #3366CC;">'borderLeftWidth'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>getStyle<span style="color: #009900;">&#40;</span>someElement<span style="color: #339933;">,</span> <span style="color: #3366CC;">'backgroundColor'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>ეხლა უკვე ყველაფერი სწორად იმუშავებს IE-ში, თუმცა ეს ნამდვილად არ არის გამოსავალი და ისევ ბროუზერების არათავსებადობის ჩიხში ვექცევით. </p>
<p>ამ პრობლემის თავიდან ასარიდებლად შეგვიძლია დავწეროთ ისეთი ფუნქცია რომელიც საჭიროების შემთხვევაში დავუშვათ ასეთ ტექსტს border-left-width მისცემს ასეთ სახეს borderLeftWidth და ბროუზერების შესაბამისად დაგვიბრუნებს სწორ რეზულტატს:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> Util <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; style<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; getStyle<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>element<span style="color: #339933;">,</span> styleName<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// private function</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">function</span> getCamelCase<span style="color: #009900;">&#40;</span>string<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> tokens <span style="color: #339933;">=</span> string.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'-'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>tokens.<span style="color: #660066;">length</span> <span style="color: #339933;">&gt;</span> 1<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">1</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> tokens.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tokens<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> tokens<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>0<span style="color: #339933;">,</span> 1<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toUpperCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> tokens<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span>1<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">toLowerCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; string <span style="color: #339933;">=</span> tokens.<span style="color: #660066;">join</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> string<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> style <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">style</span><span style="color: #009900;">&#91;</span>styleName<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style <span style="color: #339933;">=</span> element.<span style="color: #660066;">style</span><span style="color: #009900;">&#91;</span>styleName<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">currentStyle</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">//detect if we are working with IE</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; styleName <span style="color: #339933;">=</span> getCamelCase<span style="color: #009900;">&#40;</span>styleName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>element.<span style="color: #660066;">currentStyle</span><span style="color: #009900;">&#91;</span>styleName<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style <span style="color: #339933;">=</span> element.<span style="color: #660066;">currentStyle</span><span style="color: #009900;">&#91;</span>styleName<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>window.<span style="color: #660066;">getComputedStyle</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">//detect if w3c model is available</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; style <span style="color: #339933;">=</span> document.<span style="color: #660066;">defaultView</span>.<span style="color: #660066;">getComputedStyle</span><span style="color: #009900;">&#40;</span>element<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getPropertyValue</span><span style="color: #009900;">&#40;</span>styleName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> style<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>კოდში პირველ რიგში ყურადღება უნდა მივაქციოთ getCamelCase ლოკალურ ფუნქციას (თუ რა არის camelCase შეგიძლიათ იხილოთ http://en.wikipedia.org/wiki/CamelCase მისამართზე) რომელიც ასრულებს ძირითად სამუშაოს და ტირეებით გამოყოფილ ატრიბუტის სახელს გარდაქმნის საჭირო ფორმატში (მაგ. border-left-width სტრიქონს გადაიყვანს borderLeftWidth) და აბრუნებს ამ ახალ მნიშვნელობას, რომლის გამოყენებაც უკვე შესაძლებელია IE-ს შემთხვევაში.</p>
<p>ამ კოდის მეშვეობით უკვე შესაძლებელია რომ ელემენტის სტილის მნიშვნელობა მივიღოთ ერთი სტანდარტული გზით, ისე როგორც ეს იყო აღწერილი პირველ JavaScript ნიმუშში:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>Util.<span style="color: #660066;">style</span>.<span style="color: #660066;">getStyle</span><span style="color: #009900;">&#40;</span>someElement<span style="color: #339933;">,</span> <span style="color: #3366CC;">'border-left-width'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span>Util.<span style="color: #660066;">style</span>.<span style="color: #660066;">getStyle</span><span style="color: #009900;">&#40;</span>someElement<span style="color: #339933;">,</span> <span style="color: #3366CC;">'background-color'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>ეს კოდი იმუშავებს ორივე ბროუზერში ერთნაირად.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/working-with-element-styles-part-two/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ელემენტის სტილებთან მუშაობა &#8211; ნაწილი 1</title>
		<link>http://www.code.ge/posts/working-with-element-styles-part-one</link>
		<comments>http://www.code.ge/posts/working-with-element-styles-part-one#comments</comments>
		<pubDate>Sat, 24 Feb 2007 05:29:48 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=15</guid>
		<description><![CDATA[HTML ელემენტებთან მუშაობისას JavaScript-ით ხშირად საჭიროა მისი სტილების ცვლა. სხვადასხვა შემთხვევაში და სხვადასხვა ამოცანის გადაწყვეტის დროს შეიძლება ერთი ან რამდენიმე სტილი შევუცვალოთ ელემენტს, თუმცა ცვლილების გარდა ხშირ შემთხვევაში საჭიროა ელემენტს დავუბრუნოთ საწყისი სახე გარკვეული ოპერაციის დასრულების შემდეგ. მაგალითად ტესტირების დროს ხშირად მიწევს ასეთი კოდის წერა: 12345function elementOnMove&#40;element&#41; &#123; &#160; &#160; element.style.display = &#34;block&#34;; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>HTML ელემენტებთან მუშაობისას JavaScript-ით ხშირად საჭიროა მისი სტილების ცვლა. სხვადასხვა შემთხვევაში და სხვადასხვა ამოცანის გადაწყვეტის დროს შეიძლება ერთი ან რამდენიმე სტილი შევუცვალოთ ელემენტს, თუმცა ცვლილების გარდა ხშირ შემთხვევაში საჭიროა ელემენტს დავუბრუნოთ საწყისი სახე გარკვეული ოპერაციის დასრულების შემდეგ.<span id="more-15"></span></p>
<p>მაგალითად ტესტირების დროს ხშირად მიწევს ასეთი კოდის წერა:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">function</span> elementOnMove<span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">border</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;2px solid red&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">width</span> <span style="color: #339933;">=</span> element.<span style="color: #660066;">offsetWidth</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>ამ კოდში განსაკუთრებული არაფერი არ ხდება, მხოლოდ მისი სტილის გარკვეული ატრიბუტების ცვლა ხდება დინამიურად. მაგრამ როგორ უნდა მოვიქცეთ ისეთ შემთხვევაში თუ ამ ოპერაციის დასრულების შემდეგ გვინდა რომ ელემენტს დაუბურნდეს საწყისი სტილი?</p>
<p>თავისთავად იბადება შეკითხვა, რატომ უნდა ვუცვალოთ ელემენტს სტილები ამ გზით თუ შეგვიძლია რომ წინასწარ განვსაზღვროთ CSS კლასები ყველა შესაძლო მდგომარეობისათვის და მონაცვლეობით მივანიჭოთ ესა თუ ის კლასი?</p>
<p>მაგრამ ყოველთვის არ ხდება ეს ასე და ხშირად ზემოთ აღწერილი მეთოდის გამოყენება გარდაუვალია. უმარტივესი გზა რითიც შეიძლება ეს პრობლემა გადავჭრათ შეიძლება იყოს ასეთი:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> oldStyle <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #003366; font-weight: bold;">function</span> elementOnMove<span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; oldStyle <span style="color: #339933;">=</span> element.<span style="color: #660066;">style</span>.<span style="color: #660066;">cssText</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">border</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;2px solid red&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">width</span> <span style="color: #339933;">=</span> element.<span style="color: #660066;">offsetWidth</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #003366; font-weight: bold;">function</span> elementOnStop<span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">cssText</span> <span style="color: #339933;">=</span> oldStyle<span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<ul>
<li>მაგალითში შევქმენით ახალი გლობალური oldStyle ცვლადი რომელზე წვდომაც პირდაპირ შეგვიძლია ფუნქციებიდან (PHP-სგან განსხვავებით JavaScript-ში არავითარი დამატებიტი კონსტრუქციების გამოყენება არ არის საჭირო გლობალურ ცვლადებთან სამუშაოდ). </li>
<li>elementOnMove ფუნქციაში ამ ცვლადს მივანიჭეთ ელემენტის უკვე არსებული CSS ტექსტი (თუ ცარიელი არ არის მას აქვს მსგავსი სახე: font: arial; font-size: 12px; background-color: blue და ა.შ.)
</li>
<li>
ელემენტს შევუცვალეთ სტილები საჭიროების მიხედვით.</li>
</ul>
<p>როდესაც ეს (და თუ საჭიროა სხვა ოპერაციები) დასრულდება და გამოძახებულ იქნება elementOnStop ფუნქცია, იგი უბრალოდ დაუბრუნებს ელემენტს მის საწყის სტილს რომელიც ინახება oldStyle ცვლადში.</p>
<p>ერთი შეხედვით ყველაფერი მარტივად და კარგად არის მაგრამ თუ წარმოვიდგენთ ისეთ სურათს რომ ერთდროულად ბევრი ელემენტისთვის გვჭირდება მისი ძველი სტილის შენახვა ეს მაგალითი გამოუსადეგარი გახდება, სულ მცირე მასივი იქნება საჭირო რომელშიც სხვადასხვა ელემენტების სტილებს შევინახავთ&#8230; მაგრამ აქ კიდევ ერთი შეკითხვა იბადება, ამ მასივთან როგორ ვიმუშავოთ? რის მიხედვით შევინახოთ მასში ელემენტის სტილი და შემდეგ როგორ უნდა მივანიჭოთ ეს სტილი ისევ ელემენტს?</p>
<p>ჩემის აზრით ეს მიდგომაც არ არის გამართლებული და ყოვლად არაეფექტურია. ნაცვლად ცვლადებისა და მასივებისა შესაძლებელია სხვა უფრო მარტივი და ეფექტური გზის გამოყენება რომელიც ნაჩვენებია შემდეგ მაგალითში:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> Util <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; style<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; saveState<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; element.<span style="color: #660066;">oldCssText</span> <span style="color: #339933;">=</span> element.<span style="color: #660066;">style</span>.<span style="color: #660066;">cssText</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> restoreState<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">cssText</span> <span style="color: #339933;">=</span> element.<span style="color: #660066;">oldCssText</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; element.<span style="color: #660066;">oldCssText</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #006600; font-style: italic;">//usage</span><br />
<span style="color: #003366; font-weight: bold;">function</span> elementOnMove<span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; Util.<span style="color: #660066;">style</span>.<span style="color: #660066;">saveState</span><span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">display</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;block&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">border</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;2px solid red&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; element.<span style="color: #660066;">style</span>.<span style="color: #660066;">width</span> <span style="color: #339933;">=</span> element.<span style="color: #660066;">offsetWidth</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #003366; font-weight: bold;">function</span> elementOnStop<span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; Util.<span style="color: #660066;">style</span>.<span style="color: #660066;">restoreState</span><span style="color: #009900;">&#40;</span>element<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>არც ამ შემთხვევაში ხდება რაიმე განსაკუთრებული, ერთადერთი ყურადღების ღირსი ამ კოდში არის element.oldCssText ნაწილი. რადგან JavaScript &#8211; ში ყველაფერი ობიექტია და მათ შორის ელემენტიც არის ისეთივე ობიექტი, იგი შეგვიძლია გამოვიყენოთ ჩვენს სასარგებლოდ და მას დინამიურად შევუქმნათ oldCssText ახალი ელემენტი რომელშიც ასევე შევინახავთ ელემენტის საწყის CSS ტექსტს. ელემენტთან მუშაობის დასრულების შემდეგ გაცილებით მარტივია მისთვის ძველი სახის უკან დაბრუნება რადგან მას თვითონვე გააჩნია ინფორმაცია ამის შესახებ.</p>
<p>ძალიან მარტივი თუმცა ჩემთვის ძალიან გამოსადეგი მიგნება აღმოჩნდა მოცემული მაგალითი და საკმაოდ ინტენსიურად ვიყენებ ჩემს პროექტებში სადაც JavaScript-ს საკმაოდ დიდი ადგილი უკავია.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/working-with-element-styles-part-one/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ეფექტური მუშაობა CSS კლასებთან JavaScript-ის მეშვეობით</title>
		<link>http://www.code.ge/posts/effective-working-with-css-classes-via-javascript</link>
		<comments>http://www.code.ge/posts/effective-working-with-css-classes-via-javascript#comments</comments>
		<pubDate>Sat, 24 Feb 2007 00:27:56 +0000</pubDate>
		<dc:creator>იოსები</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/?p=12</guid>
		<description><![CDATA[რამდენიმე დღის წინ ჩემს მეგობართან საუბრისას(Otory) მან დამისვა ასეთი შეკითხვა შეიძლებოდა თუ არა რომ HTML ელემენტისთვის რაიმე ეფექტური გზით მოგვეშორებინა CSS კლასი. ცნობილია რომ ერთ ელემენტს შეიძლება გააჩნდეს რამდენიმე CSS კლასი ერთდროულად: 1&#60;div class=&#34;classOne classTwo classThree&#34;&#62;&#60;/div&#62; ასევე შესაძლებელია რომ ელემენტს JavaScript &#8211; ის მეშვეობით დავამატოთ ან მივანიჭოთ სხვა CSS კლასი. თუმცა რომელიმე ერთი კონკრეტული კლასის [...]]]></description>
			<content:encoded><![CDATA[<p>რამდენიმე დღის წინ ჩემს მეგობართან საუბრისას(<strong>Otory</strong>) მან დამისვა ასეთი შეკითხვა შეიძლებოდა თუ არა რომ HTML ელემენტისთვის რაიმე ეფექტური გზით მოგვეშორებინა CSS კლასი. ცნობილია რომ ერთ ელემენტს შეიძლება გააჩნდეს რამდენიმე CSS კლასი ერთდროულად:</p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;classOne classTwo classThree&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>ასევე შესაძლებელია რომ ელემენტს JavaScript &#8211; ის მეშვეობით დავამატოთ ან მივანიჭოთ სხვა CSS კლასი. თუმცა რომელიმე ერთი კონკრეტული კლასის მოცილება ელემენტისთვის თუ მას გააჩნია რამდენიმე კლასი გარკვეულ სირთულესთან არის დაკავშირებული, რადგან არ არსებობს რაიმე წინასწარ შემუშავებული მეთოდი ამ ამოცანის გადასაწყვეტად.<span id="more-12"></span></p>
<p>მოცემულ შემთხვევაში საჭირო იყო რომ გარკვეულ HTML ელემენტს mouseover მოვლენაზე დამატებოდა სხვა CSS კლასი, ხოლო mouseout  მოვლენაზე კი ეს კლასი მოცილებოდა.</p>
<p>ცალკეულ და ერთეულ შემთხვევაში ამ მიზნის მიღწევა შეიძლება მარტივად თუმცა გარკვეული კოდირების საშუალებით, მაგრამ მსჯელობის შედეგად მივიღეთ ასეთი პატარა მაგრამ სასარგებლო JavaScript კლასი რომლის გამოყენება შეიძლება ნებისმიერ შემთხვევაში და არ არის დამოკიდებული მხოლოდ ამ მოცემულ მაგალითზე:</p>
<div class="codecolorer-container javascript blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">var</span> Util <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; style<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; addClass<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>element<span style="color: #339933;">,</span> className<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> classNames <span style="color: #339933;">=</span> element.<span style="color: #660066;">className</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">' '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; classNames.<span style="color: #660066;">push</span><span style="color: #009900;">&#40;</span>className<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; element.<span style="color: #660066;">className</span> <span style="color: #339933;">=</span> classNames.<span style="color: #660066;">join</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">' '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; setClass<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>element<span style="color: #339933;">,</span> className<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; element.<span style="color: #660066;">className</span> <span style="color: #339933;">=</span> className<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; removeClass<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>element<span style="color: #339933;">,</span> className<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> classNames <span style="color: #339933;">=</span> element.<span style="color: #660066;">className</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">' '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> classNames.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>classNames<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> className<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; classNames.<span style="color: #660066;">splice</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span> 1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">break</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; element.<span style="color: #660066;">className</span> <span style="color: #339933;">=</span> classNames.<span style="color: #660066;">join</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">' '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>როგორც კოდიდან ჩანს, style კლასს გააჩნია სულ სამი მეთოდი და ყოველი მათგანი პარამეტრად ღებულობს HTML ელემენტს და CSS კლასის სახელს. მეთოდები აღწერას არ საჭიროებენ რადგან მათი სახელებიდან ნათლად ჩანს მათი დანიშნულება.</p>
<p>ამ კლასის გამოყენების მაგალითი ნაჩვენებია ქვემოთ (ყურადღება მიაქციეთ რომ div ელემენტს თავიდანვე მინიჭებული აქვს ორი CSS კლასი):</p>
<p><strong>CSS კოდი რომელიც გამოყენებული იყო მაგალითისთვის:</p>
<div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">div<span style="color: #6666ff;">.initial</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">silver</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
div<span style="color: #6666ff;">.common</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">font</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">normal</span> <span style="color: #933;">12px</span> arial<span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <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><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">8px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
div<span style="color: #6666ff;">.over</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">gray</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <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><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p><strong>HTML კოდი რომელიც გამოყენებული იყო მაგალითისთვის:</strong></p>
<div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;initial common&quot;</span> <span style="color: #000066;">onmouseover</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Util.style.addClass(this, 'over')&quot;</span> <span style="color: #000066;">onmouseout</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Util.style.removeClass(this, 'over')&quot;</span>&gt;</span><br />
&nbsp; This is sample text<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>ელემენტის onmouseover და onmouseout ატრიბუტები გვიჩვენებენ თუ რა ოპერაციას ასრულებს style კლასი.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.code.ge/posts/effective-working-with-css-classes-via-javascript/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
