<?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>Muhammet Sevim &#187; relative+absolute</title>
	<atom:link href="http://www.muhammetsevim.com/yazi/tag/relativeabsolute/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.muhammetsevim.com</link>
	<description>Görsel iletişim tasarımı, Web standartları (CSS/XHTML) ve dünyada olup bitenler üzerine...</description>
	<lastBuildDate>Sat, 30 Jan 2010 08:22:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Relative + Absolute ile yorum kutusu</title>
		<link>http://www.muhammetsevim.com/yazi/relative-absolute-ile-yorum-kutusu/</link>
		<comments>http://www.muhammetsevim.com/yazi/relative-absolute-ile-yorum-kutusu/#comments</comments>
		<pubDate>Thu, 15 Jun 2006 20:38:03 +0000</pubDate>
		<dc:creator>Muhammet Sevim</dc:creator>
				<category><![CDATA[Tasarım]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[relative+absolute]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://localhost:8888/archive/relative-absolute-ile-yorum-kutusu/</guid>
		<description><![CDATA[CSS’i hepimiz seviyoruz, hatta bazılarımız hem birer CSS aşığı, hem de birer CSS profesyoneli olarak yazımızda misafir olarak yer ediniyorlar.
Evet, CSS’i hepimiz çok seviyoruz. Ama bazen kendimizi tutamayıp
öyle tasarımlar yapıyoruz ki, div yapısını inşaa etmeye başlamadan önce kahvemizi önümüze alıp derin bir nefes çekiyor, ve öylece başlıyoruz, zira yaptığımız tasarım misafir tasarımcılarımızı bile zorlayacak türden [...]]]></description>
			<content:encoded><![CDATA[<p class="introduction">CSS’i hepimiz seviyoruz, hatta <a href="http://www.cemshid.com/">b</a><a href="http://www.unbf.ca/altiustu">a</a><a href="http://www.fatihturan.com/">z</a><a href="http://www.sunipeyk.com/">ı</a><a href="http://www.omerbalyali.com/">l</a><a href="http://www.savasozay.com/">a</a><a href="http://nom.obbik.com/blog/">r</a><a href="http://sozluk.sourtimes.org/show.asp?t=vb">ımız</a> hem birer CSS aşığı, hem de birer CSS profesyoneli olarak yazımızda misafir olarak yer ediniyorlar.</p>
<p>Evet, CSS’i hepimiz çok seviyoruz. Ama bazen kendimizi tutamayıp<br />
öyle tasarımlar yapıyoruz ki, div yapısını inşaa etmeye başlamadan önce kahvemizi önümüze alıp derin bir nefes çekiyor, ve öylece başlıyoruz, zira yaptığımız tasarım <a href="http://www.cemshid.com/">m</a><a href="http://www.unbf.ca/altiustu">i</a><a href="http://www.fatihturan.com/">s</a><a href="http://www.sunipeyk.com/">a</a><a href="http://www.omerbalyali.com/">f</a><a href="http://www.savasozay.com/">i</a><a href="http://nom.obbik.com/blog/">r</a> tasarımcılarımızı bile zorlayacak türden olabiliyor.</p>
<p><span id="more-181"></span></p>
<p>Doğru, CSS’i hepimiz çok seviyoruz. Ama yaptığımız tasarımın<br />
zorluğundan dolayı, onu CSS’e dökerken bin dereden su getirebiliyoruz.<br />
Açtığımız div’lerin, atadığımız margin ve padding’lerin sayısını<br />
sayamaz hale geldiğimiz zaman farklı şeyler düşünme zamanımızın<br />
geldiğini anlıyoruz.<a id="more-143"></a></p>
<p>Gelin bu yazıda, position:relative; ve position:absolute;<br />
özelliklerini iç içe kullanarak nasıl kolay yoldan zor çözüme<br />
gidebileceğimizi tartışalım.</p>
<h4>Öncelikle;</h4>
<p>Absolute ve Relative yardımıyla bir öğeyi pozisyonlama hakkında ön bilgi için <a href="http://www.w3schools.com/css/pr_class_position.asp">bu bağlantıya</a> göz atın.</p>
<h4>Hazırlamak İstediğimiz</h4>
<p><img id="image145" alt="1" src="http://www.muhammetsevim.com/wp-content/uploads/2006/06/yk1.png"></p>
<p>Bu daracık sayfada çok karışık şeyleri anlatma şansım olmadığı için,<br />
son adıma geldiğimizde böyle bir yorum kutusuna sahip olmak istiyoruz.</p>
<p>Yorum kutumuzu hazırlarken aşağıdaki adımları izleyeceğiz;</p>
<p><a id="resim1"></a><br />
<img alt="3" id="image146" src="http://www.muhammetsevim.com/wp-content/uploads/2006/06/yk2.png"></p>
<p><a id="resim2"></a><br />
<img alt="4" id="image147" src="http://www.muhammetsevim.com/wp-content/uploads/2006/06/yk3.png"></p>
<p><a id="resim3"></a><br />
<img alt="5" id="image148" src="http://www.muhammetsevim.com/wp-content/uploads/2006/06/yk4.png"></p>
<p>Aslında yapacağımız şey çok basit, ihtiyacımız olan üç adet div var.<br />
Ama benim burada üzerinde durmak istediğim şey, daha çok<br />
position:relative; ve position:absolute; özelliklerini alt alta<br />
kullanarak, çözüme kolay yoldan ulaşmak.</p>
<h4>HTML Dosyası</h4>
<div class="codesnip-container">
<div class="codesnip">
<ol>
<li class="li1">
<div class="de1">&lt;div class=<span class="st0">“main_container”</span>&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&lt;div class=<span class="st0">“name”</span>&gt;Gürkan demiş ki;&lt;/div&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;&lt;div class=<span class="st0">“date”</span>&gt;<span class="nu0">15</span>.<span class="nu0">06</span>.<span class="nu0">2006</span>, <span class="nu0">18</span>:<span class="nu0">29</span>&lt;/div&gt;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;Yorum metni</div>
</li>
<li class="li1">
<div class="de1">&lt;/div&gt; </div>
</li>
</ol>
</div>
</div>
<p>Gördüğünüz gibi, yorum metninin bulunduğu ana div’imiz yorum yazarı ve tarihin bulunduğu divleri içeriyor.</p>
<h4>Not:</h4>
<p>HTML kodlarında da gördüğünüz gibi, tüm div’lerimize class değerini<br />
veriyoruz, zira yorum kutuları birden fazla kez tekrarlanabiliyor.<br />
Class ve ID arasındaki farkın ne olduğunu bilmiyorsanız, <a href="http://www.cemshid.com/">Cemshid</a>‘in yazdığı <a href="http://www.cemshid.com/soru_cevap/class_ne_ki_id_ne_ki.html">güzel makaleye</a> göz atın.</p>
<h4>Adım 1 (Bkz. Resim 1) <a href="#resim1">(Bkz. Resim 1)</a></h4>
<p>Ana div’imizi hazırlamadan önce genel görünüm ayarlarını<br />
hazırlıyoruz. Sayfamızdaki metinlerin boyutları aksi belirtilmedikçe 12<br />
pixel büyüklüğünde olacak. Tüm bu metinler için Lucida Grande yazı tipi<br />
kullanılacak. Eğer Lucida Grande kullanıcının sisteminde kayıtlı<br />
değilse alternatif olarak Lucida Sans Unicode, eğer bu da sistemde<br />
bulunamazsa Arial yazı tipi kullanılacak;</p>
<div class="codesnip-container">
<div class="codesnip">
<ol>
<li class="li1">
<div class="de1">body <span class="br0">{</span> <span class="kw1">font</span>: 12px <span class="kw2">normal</span> <span class="st0">“Lucida Grande”</span>, <span class="st0">“Lucida Sans Unicode”</span>, Arial; <span class="br0">}</span> </div>
</li>
</ol>
</div>
</div>
<p>İlk adımımızda 310×95 pixel büyüklüğündeki ana div’imizi oluşturup,<br />
artalan arkaplanımızı bu divimize atıyoruz. Son olarak bu div’e #CCC<br />
renginde 1 pixellik bir kenar ekliyoruz. Yazıların kenarlara olan<br />
uzaklıklarını ‘padding’ özelliği ile atıyoruz; yazılar üst kenara 30<br />
pixel, diğer kenarlara 10′ar pixel uzaklıkta olacaklar.</p>
<div class="codesnip-container">
<div class="codesnip">
<ol>
<li class="li1">
<div class="de1">.main_container <span class="br0">{</span> <span class="kw1">width</span>:310px; <span class="kw1">height</span>:95px; <span class="kw1">border</span>: 1px <span class="kw2">solid</span> #ccc; <span class="kw1">background</span>:<span class="kw2">url</span><span class="br0">(</span><span class="st0">“/wp-content/uploads/2006/06/bg_ust.png”</span><span class="br0">)</span> <span class="kw1">top</span> <span class="kw2">repeat-x</span>; padding<span class="re2">:30px </span>10px 10px; <span class="br0">}</span> </div>
</li>
</ol>
</div>
</div>
<p>Ve en önemli adımlardan biri olan bu adımda, ana div’imize<br />
position:relative; özelliğini atıyoruz. Bu özellik, daha sonra diğer<br />
iki div’de de kullanacağımız olan position:absolute; özelliğine bağlı<br />
olan ‘top’ ve ‘left’ (ayrıca ‘right’ ve ‘bottom’) değerlerini bu div’in<br />
üzerinde uygulanmasını sağlayacak.</p>
<p>Ana div’imize (Bkz. Resim 1) ait olan stilin son hali şu şekilde görünüyor;</p>
<div class="codesnip-container">
<div class="codesnip">
<ol>
<li class="li1">
<div class="de1">.main_container <span class="br0">{</span> <span class="kw1">width</span>:310px; <span class="kw1">height</span>:95px; <span class="kw1">border</span>: 1px <span class="kw2">solid</span> #ccc; <span class="kw1">background</span>:<span class="kw2">url</span><span class="br0">(</span><span class="st0">“/wp-content/uploads/2006/06/bg_ust.png”</span><span class="br0">)</span> <span class="kw1">top</span> <span class="kw2">repeat-x</span>; padding<span class="re2">:30px </span>10px 10px; <span class="kw1">position</span>:<span class="kw2">relative</span>; <span class="br0">}</span> </div>
</li>
</ol>
</div>
</div>
<h4>Adım 2 <a href="#resim2">(Bkz. Resim 2)</a></h4>
<p>Ana div’imizi tamamladık bile. Şimdi, position:absolute; özelliğini kullanarak yerleştireceğimiz isim kutucuğumuza göz atıyoruz.<br />
<a href="#resim2">Resim 2</a>‘de gördüğümüz gibi, kutumuzun kenar<br />
kalınlığı 1 pixel, ve kenar rengi #ccc olacak. Ayrıca kutunun padding<br />
değeri 5px olup, arkaplan rengi de #FFFFCA olacak.</p>
<div class="codesnip-container">
<div class="codesnip">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.name </span><span class="br0">{</span> <span class="kw1">border</span>: 1px <span class="kw2">solid</span> #ccc; <span class="kw1">background</span>:#FFFFCA; <span class="kw1">padding</span>:5px; <span class="br0">}</span> </div>
</li>
</ol>
</div>
</div>
<p>Bu adımın son bölümünde isim kutucuğumuzu ait olduğu yere yerleştireceğiz.<br />
Bildiğiniz gibi, position:absolute; değerini verdikten sonra top, right, bottom veya left değerlerinden ikisinin yardımıyla bir öğeyi istediğimiz yere yerleştirebiliyoruz. Ancak, bu kutucuğa sayfa kenarlarından işletilecek bir değer veremiyoruz, zira bu kutunun sayfa başının değil, sadece <strong>ana kutunun (main_container)</strong> 10 pixel yukarısına yerleşmesi gerekiyor. Bu nedenle ilk adımımızda ana div’imize position:relative; kodunu ekledik. HTML kodunda da görebileceğiniz üzere, ana div’in, yani main_container divinin içine eklediğimiz bu isim kutucuğuna (name) atayacağımız position:absolute; özelliğinden sonra, vereceğimiz herhangi bir top, left, right, left değeri bu kutu üzerinden işletilecektir.</p>
<p>Sonuç olarak; ‘name’ öğesine position:absolute; özelliğini atar, ve ardından top:10px; left:10px; değerlerini verirsek, bu div <strong>ana div</strong>‘in (main_container) içerisine yukarıdan ve soldan 10 pixellik boşlukla yerleşecektir.</p>
<p>Kutucuğumuzun ana div’in 10 pixel yukarısına ve 10 pixel soluna<br />
yerleşmesi gerektiği için, vereceğimiz top ve left değerleri (-) olmak<br />
zorundalar;</p>
<div class="codesnip-container">
<div class="codesnip">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.name </span><span class="br0">{</span> <span class="kw1">border</span>: 1px <span class="kw2">solid</span> #ccc; <span class="kw1">background</span>:#FFFFCA; <span class="kw1">padding</span>:5px; <span class="kw1">position</span>:<span class="kw2">absolute</span>; <span class="kw1">top</span>:-10px; <span class="kw1">left</span>:-10px; <span class="br0">}</span> </div>
</li>
</ol>
</div>
</div>
<p>Bu düzenlemelerden sonra yorum kutumuz şu şekilde görünüyor;<br />
<img id="image152" src="http://www.muhammetsevim.com/wp-content/uploads/2006/06/yk5.gif" alt="6"><br />
Genel görünümü ortaya çıkmış olan kutumuzun artık sadece adres kutucuğunu yapmamız gerekiyor.</p>
<h4>Adım 3 <a href="#resim3">(Bkz. Resim 3)</a></h4>
<p>Son adıma ulaştık bile. Şimdi yapmamız gereken tek şey adres<br />
kutucuğumuz. Bu kutu da isim kutumuzla aynı olmasına rağmen, kutunun<br />
sola değil, sağa yerleşmesi gerekiyor. Bu nedenle isim kutuğumuz için<br />
kullandığımız kodun aynısını kullanıyor, fakat left:-10px; değeri<br />
yerine right:-10px; değeri veriyoruz.</p>
<div class="codesnip-container">
<div class="codesnip">
<ol>
<li class="li1">
<div class="de1"><span class="re1">.date </span><span class="br0">{</span> <span class="kw1">border</span>: 1px <span class="kw2">solid</span> #ccc; <span class="kw1">background</span>:#FFFFCA; <span class="kw1">padding</span>:5px; <span class="kw1">position</span>:<span class="kw2">absolute</span>; <span class="kw1">top</span>:-10px; <span class="kw1">left</span>:-10px; <span class="br0">}</span> </div>
</li>
</ol>
</div>
</div>
<p><img id="image153" src="http://www.muhammetsevim.com/wp-content/uploads/2006/06/yk6.png" alt="7"><br />
Ve tüm bu işlemlerin ardından kutumuz son görünümüne kavuşuyor.</p>
<h4>CSS Dosyası</h4>
<div class="codesnip-container">
<div class="codesnip">
<ol>
<li class="li1">
<div class="de1">body <span class="br0">{</span> <span class="kw1">font</span>: 12px <span class="kw2">normal</span> <span class="st0">“Lucida Grande”</span>, <span class="st0">“Lucida Sans Unicode”</span>, Arial; <span class="kw1">padding</span>:50px; <span class="br0">}</span></div>
</li>
<li class="li1">
<div class="de1">.main_container <span class="br0">{</span> <span class="kw1">width</span>:310px; <span class="kw1">height</span>:95px; <span class="kw1">border</span>: 1px <span class="kw2">solid</span> #ccc; <span class="kw1">background</span>:<span class="kw2">url</span><span class="br0">(</span><span class="st0">“bg_ust.png”</span><span class="br0">)</span> <span class="kw1">top</span> <span class="kw2">repeat-x</span>; padding<span class="re2">:30px </span>10px 10px; <span class="kw1">position</span>:<span class="kw2">relative</span>; <span class="br0">}</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.name </span><span class="br0">{</span> <span class="kw1">border</span>: 1px <span class="kw2">solid</span> #ccc; <span class="kw1">background</span>:#FFFFCA; <span class="kw1">padding</span>:5px; <span class="kw1">position</span>:<span class="kw2">absolute</span>; <span class="kw1">top</span>:-10px; <span class="kw1">left</span>:-10px; <span class="br0">}</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">.date </span><span class="br0">{</span> <span class="kw1">border</span>: 1px <span class="kw2">solid</span> #ccc; <span class="kw1">background</span>:#FFFFCA; <span class="kw1">padding</span>:5px; <span class="kw1">position</span>:<span class="kw2">absolute</span>; <span class="kw1">top</span>:-10px; <span class="kw1">right</span>:-10px; <span class="br0">}</span> </div>
</li>
</ol>
</div>
</div>
<p>Bugünlük bu kadardı, umarım anlatmak istediğimi anlatabilmişimdir :)<br />
Örnek dosyasına <a href="http://www.muhammetsevim.com/tutorials/yorumkutusu">buradan</a> göz atabilir, dosyayı <a href="http://www.muhammetsevim.com/tutorials/yorumkutusu/yorumkutusu.zip">bu bağlantı</a> üzerinden indirebilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.muhammetsevim.com/yazi/relative-absolute-ile-yorum-kutusu/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
