<?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>Fatih Hayrioğlu&#039;nun not defteri &#187; CSS</title>
	<atom:link href="http://www.fatihhayrioglu.com/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fatihhayrioglu.com</link>
	<description>{ CSS, HTML ve Javascript }</description>
	<lastBuildDate>Thu, 09 Feb 2012 08:44:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=2012</generator>
		<item>
		<title>Genişliği Belli Olmayan Blok-level Elemanları Yatayda Ortalamak</title>
		<link>http://www.fatihhayrioglu.com/genisligi-belli-olmayan-blok-level-elemanlari-yatayda-ortalamak/</link>
		<comments>http://www.fatihhayrioglu.com/genisligi-belli-olmayan-blok-level-elemanlari-yatayda-ortalamak/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 19:04:24 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[Blok-level]]></category>
		<category><![CDATA[display:table]]></category>
		<category><![CDATA[genişliği belli olmayan]]></category>
		<category><![CDATA[ortalama]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=2116</guid>
		<description><![CDATA[CSS ile yatayda ortalamak deyince aklımıza hep genişliği sabit olan alanlar geliyor. Ancak genişliği sabit olmayan elemanları ortalamak biraz daha farklı oluyor. Genişliği sabit olan blok-level elemanları ortalamak için birçok kaynak var iken genişliği belli olmayan blok-level elemanları ortalamak için çok fazla kaynak bulamıyoruz. Google&#8217;da yaptığım aramalarda rastladığım makalelerde 2 yöntem ile karşılaştım. Bu iki [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fatihhayrioglu.com/wp-content/gb_ortalama1.gif"><img src="http://www.fatihhayrioglu.com/wp-content/gb_ortalama1.gif" alt="" title="gb_ortalama" width="500" height="111" class="size-full wp-image-2122" /></a></p>
<p>CSS ile yatayda ortalamak deyince aklımıza hep genişliği sabit olan alanlar geliyor. Ancak genişliği sabit olmayan elemanları ortalamak biraz daha farklı oluyor. </p>
<p>Genişliği sabit olan blok-level elemanları ortalamak için birçok kaynak var iken genişliği belli olmayan blok-level elemanları ortalamak için çok fazla kaynak bulamıyoruz. Google&rsquo;da yaptığım aramalarda rastladığım makalelerde 2 yöntem ile karşılaştım. Bu iki metodu sizlerle paylaşacağım, siz kendinize uygun olan metodu uygulayabilirsiniz.</p>
<h3>Metot 1 &#8211; Yüzde Yöntemi ile Ortalama</h3>
<p>Genelde bu yöntemi anlatırken menü örnekleri üzerinden anlatılmış bende geleneği bozmayayım.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;menuKapsulu&quot;&gt;
&lt;ul&gt;
   &lt;li&gt;Elma&lt;/li&gt;
   &lt;li&gt;Armut&lt;/li&gt;
   &lt;li&gt;Malta Eriği&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>Alışkın olduğumuz bir menü kodu. CSS kodumuzu ekleyelim. İlk olarak kapsayıcı eleman tanımlarını yazalım.</p>
<pre class="brush: css; title: ; notranslate">
#menuKapsulu{
  float:left;
  width:100%;
  background:#369;
  overflow:hidden;
  position:relative;
}
</pre>
<p>Menü kapsayıcısının sayfayı tam kaplaması için %100 değeri ve float:left değeri atandı.</p>
<pre class="brush: css; title: ; notranslate">
#menuKapsulu ul{
  clear:left;
  float:left;
  list-style:none;
  margin:0;
  padding:0;
  position:relative;
  left:50%;
  text-align:center;
  background-color:#990000
}
</pre>
<p>float:left değeri ile içeriği çepeçevre kapsaması sağlanıyor. left:50% değeri ile menu ortalanıyor. Ancak bu ortalama içeriğin genişliğini içermez. 
</p>
<pre class="brush: css; title: ; notranslate">
#menuKapsulu ul li{
  display:block;
  float:left;
  list-style:none;
  margin:0 10px 0 0;
  padding:10px 0;
  position:relative;
  right:50%;
}
</pre>
<p>Buradaki püf noktası; right:50% değeri ile menü genişliğinden dolayı sağa doğru kayan içeriği tam olarak ortalı hale getiriyoruz.</p>
<p><iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/fatihhayri/GGSHL/embedded/result,html,css"></iframe></p>
<p>İnternet Explorer 6+, Firefox2+, Safari, Chrome ve Opera destekliyor. </p>
<p><strong>Avantajları</strong></p>
<ul>
<li>Tüm tarayıcılar destekliyor. </li>
<li>Sadece CSS ile çözüm ürettiği için ve javascripte gerek bırakmaması</li>
<li>Kolay kullanımı</li>
<li>Farklı tarayıcılar için farklı kod yazımı gerektirmemesi</li>
</ul>
<p><strong>Dezavantajları </strong></p>
<ul>
<li>Kapsayıcı elemana atana overflow:hidden nedeni ile yaşanabilecek olumsuzluklar. Mesela açılır menülerde sorun olur.</li>
<li>Ortalanacak eleman kapsayıcısı, yani burada ul ortalı olmadığı için background, border ve kendini gösterecek diğer tanımların yapılmaması gerekir. Buda bir dezavantajdır.</li>
</ul>
<h3>Metot 2: display:table Metodu</h3>
<p>Genişliği belli olan elemanları ortalarken kullandığımız margin:0 auto tanımını bu sefer genişliği belli olmayan alanlar içinde kullanıyoruz.</p>
<p>HTML kodumuz aynı;
</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;menuKapsulu&quot;&gt;
   &lt;ul&gt;
       &lt;li&gt;Elma&lt;/li&gt;
       &lt;li&gt;Armut&lt;/li&gt;
       &lt;li&gt;Malta Eriği&lt;/li&gt;

&lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>Ortalanacak alana margin:0 auto ve display:table tanımlarını yapıyoruz.
</p>
<pre class="brush: css; title: ; notranslate">
#menuKapsulu ul{
 list-style:none;
 margin-left: auto;
 margin-right: auto;
 display: table;
}

#menuKapsulu ul li{
 float:left;
 margin:0 10px 0 0;
 padding:10px 0;
}
</pre>
<p>Sonuç istediğimiz gibi, ancak bir sorunumuz varki oda display:table özelliğini İnternet Explorer 6 ve 7. sürümleri desteklemiyor. Peki, ne olacak derseniz bu bir hasLayout sorunu ve çözüm için zoom:1 tanımı kullanmamız gerekiyor.</p>
<pre class="brush: css; title: ; notranslate">
*:first-child+html #menuKapsulu{
   text-align:center
}

* html #menuKapsulu{
   text-align:center
}

*:first-child+html #menuKapsulu ul{
 display: inline;
 zoom: 1;
}
* html #menuKapsulu ul{
 display: inline;
 zoom: 1;
}
</pre>
<p>Kapsayıcı kapsüle text-align:center tanımı yapıyoruz sonra listemize display:inline yapıyoruz. text-align:center inline elemanları ortalıyor bildiğiniz gibi. Burada yaptığmızda bu</p>
<p><iframe style="width: 100%; height: 300px" src="http://jsfiddle.net/fatihhayri/xNtcS/6/embedded/result,html,css"></iframe></p>
<p><strong>Avantajları </strong></p>
<ul>
<li>Tüm tarayıcılar destekliyor. </li>
<li>Sadece CSS ile çözüm ürettiği için ve javascripte gerek bırakmaması</li>
<li>Birinci mettodaki overflow:hidden dan kaynaklana sorun burada yoktur.</li>
<li>Birinci metotdaki ul ye görsel özellik tanımlayamama sorunu bu metotda yok.</li>
</ul>
<p><strong>Dezavantajları </strong></p>
<ul>
<li>Farklı tarayıcılar için farklı kod yazımı gerektirmesi</li>
</ul>
<p>Kullandıkça avantaj ve dezavantajlarını daha iyi göreceğiz.</p>
<p>Kalın sağlıcakla.</p>
<h3>Kaynaklar</h3>
<ul>
<li><a href="http://css-discuss.incutio.com/wiki/Centering_Block_Element">http://css-discuss.incutio.com/wiki/Centering_Block_Element</a></li>
<li><a href="http://www.solstice.co.il/blog/2008-02-26/horizontally-centering-content-dynamic-width-css">http://www.solstice.co.il/blog/2008-02-26/horizontally-centering-content-dynamic-width-css</a></li>
<li><a href="http://matthewjamestaylor.com/blog/beautiful-css-centered-menus-no-hacks-full-cross-browser-support">http://matthewjamestaylor.com/blog/beautiful-css-centered-menus-no-hacks-full-cross-browser-support</a></li>
<li><a href="http://haslayout.net/css-tuts/Horizontal-Centering">http://haslayout.net/css-tuts/Horizontal-Centering</a></li>
<li><a href="http://www.katcode.com/css-horizontally-centering-div-of-unknown-width/">http://www.katcode.com/css-horizontally-centering-div-of-unknown-width/</a></li>
<li><a href="http://www.tightcss.com/centering/center_variable_width.htm">http://www.tightcss.com/centering/center_variable_width.htm</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/genisligi-belli-olmayan-blok-level-elemanlari-yatayda-ortalamak/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Bir Projenin Bana Kazandırdıkları (LiveGO.com)</title>
		<link>http://www.fatihhayrioglu.com/bir-projenin-bana-kazandirdiklari-livego-com/</link>
		<comments>http://www.fatihhayrioglu.com/bir-projenin-bana-kazandirdiklari-livego-com/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 19:47:09 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Haberler]]></category>
		<category><![CDATA[livego.com]]></category>
		<category><![CDATA[makale yazmak]]></category>
		<category><![CDATA[proje]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1971</guid>
		<description><![CDATA[Daha önce çalıştığım ajanslarda yaptığım işlerin bu günlüğü oluşturmamda bir yardımı oldu. Her projede bir şeyler öğrendim ve öğrendiklerimi bu günlük ile sizlere aktarmaya çalıştım. Tüm ayrıntıları olmasada aklımda kalanları sizlere aktarmaya çalıştım ve aktarmaya da devam edeceğim, Allah bize imkan verdikçe. Bir çoğunuz biliyordur ama ben bilmeyenler için hatırlatayım yaklaşık 9 aydır öncesinde messengerfx.com [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fatihhayrioglu.com/wp-content/liveGO_white_72dpi_300px.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/liveGO_white_72dpi_300px.jpg" alt="" title="liveGO_white_72dpi_300px" width="300" height="130" class="alignright size-full wp-image-1973" /></a>Daha önce çalıştığım ajanslarda yaptığım işlerin bu günlüğü oluşturmamda bir yardımı oldu. Her projede bir şeyler öğrendim ve öğrendiklerimi bu günlük ile sizlere aktarmaya çalıştım. Tüm ayrıntıları olmasada aklımda kalanları sizlere aktarmaya çalıştım ve aktarmaya da devam edeceğim, Allah bize imkan verdikçe. </p>
<p>Bir çoğunuz biliyordur ama ben bilmeyenler için hatırlatayım yaklaşık 9 aydır öncesinde <a href="http://messengerfx.com">messengerfx.com</a> ve şimdiki adı ile <a href="http://www.livego.com">www.livego.com</a>’da çalışmaktayım. Bu proje sürecinde bir çok şey öğrendim ve öğrenmeyede devam etmeyede devam ediyorum. Bu proje dünya çapında olması ve farklı yapısı ile diğer projelerde öğrendiklerimden çok fazlasını bana öğretti. Ajansta çalışırken bir çok proje ile uğraşıyordum burada 9 aydır bir proje ile uğraşıyorum, ancak şöyle bir şey var ki ajansta 2 senede öğrenebileceğim(bazı bilgileri ajansta öğrenme ihtimalide yok) bilgiyi burada 9 ayda öğrendim diyebilirim. </p>
<p>Arayüz geliştiricileri olarak devamlı kendimizi geliştirmek durumundayız bu sadece bizim çabamızla olacak bir şey değil, kendimiz geliştirmek için bize bu olanaklarında sağlanması lazım. Ajanslar bu bakımda çok önemli bir kilometre taşıdır, neredeyse her ay 1-2 proje elinize geçer ve 2-3 ya içinde bitirmeniz istenir. Bu bize hem öğrenme fırsatı verir ve hemde kendimiz geliştirme imkanı verir. Ayrıca benzer işleri yapsakta aynı işleri yapa yapa bir bakıma elimizi hızlandırmış oluruz. Bu nedenle burada naçizane bir tavsiyem var eğer bu meslekte bir yerlere gelebilmek ve bir şeyler öğrenmek istiyorsanız en az çalışma hayatınızın belli bir bölümünü belli bir seviyenin üstündeki ajanslarda geçirmeyi planlayın ve bunun için uğraşın. Niye belli bir seviyenin üstünde diyorum, çünkü kendinizi geliştirmenizde sadece ajansların değil çalıştığınız şirketlerinde çok büyük katkısı vardır. Mesela çatladıkapıspor’un sitesini yapmak ile, büyük bir bankanın sitesini yapmak arasında dağlar kadar fark vardır. Müşterini büyük olması isteklerin büyük olmasıdır ve sizin portföyünüz içinde büyük bir kazanım olacaktır. </p>
<p>Gelgelim benim LiveGO.com ile yaşadıklarıma, baştada dediğim gibi farklı ve geniş çaplı bir olması LiveGO.com’un bana çok şey öğretti ve öğretmeyede devam ediyor. Öğrendiklerimin belli bir kısmını sizlere aktardım ve aktaracağım yazılarımda var. Aktardıklarımın listesi;(Bir çoğunda örnekleri farklı yerden vermek durumunda idim. Çünkü proje daha yayında değildi. Hem örnekleri daha basit vermek anlaşılırlığı arttırıyor)</p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/css-ile-metinlere-golge-vermek/">CSS ile metinlere gölge vermek</a></li>
<li><a href="http://www.fatihhayrioglu.com/ie-kalitsal-margin-sorunu-form-elementleri-ve-haslayout/">İE kalıtsal margin sorunu: form elementleri ve hasLayout</a></li>
<li><a href="http://www.fatihhayrioglu.com/ie67da-postionrelative-uygulanmis-elemanlarda-z-index-sorunu/">ie6/7′da postion:relative Uygulanmış Elemanlarda z-index Sorunu</a></li>
<li><a href="http://www.fatihhayrioglu.com/ie6-sorunu-baglanti-ici-elemanlarda-hover-sorunu/">İE6 sorunu: Bağlantı içi elemanlarda hover sorunu</a></li>
<li><a href="http://www.fatihhayrioglu.com/css-secicilerinin-optimizasyonu/">CSS Seçicilerinin Optimizasyonu</a></li>
<li><a href="http://www.fatihhayrioglu.com/iede-liste-elemanlari-arasindaki-bosluk-sorunu/">IE’de Liste elemanları arasındaki boşluk sorunu</a></li>
<li><a href="http://www.fatihhayrioglu.com/firebug-yardimi-ile-daha-kolay-css-sprite-uygulamak/">CSS İpucu 28: FireBug yardımı ile daha kolay CSS Sprite Uygulamak</a></li>
<li><a href="http://www.fatihhayrioglu.com/kutulara-golge-vermek-box-shadow/">Kutulara Gölge Vermek (box-shadow)</a></li>
<li><a href="http://www.fatihhayrioglu.com/overflow-ve-positionrelative-kullaniminda-ie-sorunu/">overflow ve position:relative kullanımında ie sorunu</a></li>
<li><a href="http://www.fatihhayrioglu.com/jquery-ipuclari-3/">jQuery ipuçları – 3</a></li>
<li><a href="http://www.fatihhayrioglu.com/displayinline-elemanlar-arasindaki-dogal-bosluklar/">display:inline elemanlar arasındaki doğal boşluklar</a></li>
<li><a href="http://www.fatihhayrioglu.com/yuvarlak-kenarli-kutularborder-radius-olusturmak/">Yuvarlak kenarlı kutular(border-radius) oluşturmak</a></li>
<li><a href="http://www.fatihhayrioglu.com/floatleft-ve-text-alignright-atanms-elemana-metin-yerine-resim-uygulama/">Float:left ve Text-align:right Atanmş Elemana Metin Yerine Resim Uygulama</a></li>
<li><a href="http://www.fatihhayrioglu.com/cift-cizgili-ayrac-kullanimi/">Çift çizgili ayraç kullanımı</a></li>
<li><a href="http://www.fatihhayrioglu.com/onden-resimleripreloading-images-yukleme-yontemleri/">Önden Resimleri(Preloading images) Yükleme Yöntemleri</a></li>
<li><a href="http://www.fatihhayrioglu.com/css-ipucu-27-chrome-ve-safaride-textarea-genisletme-islevini-kaldirma/">CSS İpucu 27: Chrome ve Safari’de textarea genişletme işlevini kaldırma</a></li>
<li><a href="http://www.fatihhayrioglu.com/ie6-ve-ie7de-baglantilardaki-cursor-sorunu/">IE6 ve IE7′de bağlantılardaki cursor sorunu</a></li>
<li><a href="http://www.fatihhayrioglu.com/iede-textareada-enter-calismiyor/">IE’de Textarea’da Enter çalışmıyor</a></li>
<li><a href="http://www.fatihhayrioglu.com/resim-kullanmadan-1-piksellik-yuvarlak-kenarli-kutu-olusturmak/">Resim Kullanmadan 1 piksellik Yuvarlak Kenarlı Kutu Oluşturmak</a></li>
<li><a href="http://www.fatihhayrioglu.com/jquery-ipuclari-4/">jquery ipuçları – 4</a></li>
</ul>
<p>Tabi daha yayınlama imkanı bulamadıklarımda var; zamanım olursa aşağıdaki konularıda yazmaya çalışacağım.</p>
<ul>
<li>Web Sitelerimizi iPad’e Uyarlamak</li>
<li>CSS ile iphone, ipad, desktop ve iphone4 ayrımını sağlamak</li>
<li>FireBug Javascript Sekmesine Göz atalım</li>
<li>CSS Sprite Tekniği</li>
<li>Aksak Kolon ve Çözümleri</li>
<li>Input Prompt</li>
<li>Livego’yu kodlamak 1 &#8211; 2 &#8211; 3 &#8211; 4 &#8211; 5</li>
</ul>
<p>ve de daha yazacağım belki 10’larca makale daha. Başta dediğim gibi bende öğreniyorum sizlerle paylaşıyorum hepimiz öğreniyoruz. </p>
<p>Bu projede öğrendiklerim bu kadarmı, değil tabi daha fazlası var ama benim not tuttuklarım bu kadarı. </p>
<p>Tanıdığım ve bildiğim bir çok arkadaşım var bu sektörde çalışan her biri yaptıkları projelerden 3-5 bişey akatrsalar ne güzel olur. Memleketteki bilgi eksikliği giderilmiş olur. Lütfen bunu bir ukalalık olarak algılamayın, amacım belki Türkçe içeriğin çoğalması için bir çağrı. Tanımıyorum ve biliyorum gerçekten çok iyi bilgiye sahip insanlar var Türkiye’de umarım onlarda bilgilerini bizlerle paylaşırlar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/bir-projenin-bana-kazandirdiklari-livego-com/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Adobe Dreamweaver CS5 Yenilikleri</title>
		<link>http://www.fatihhayrioglu.com/adobe-dreamweaver-cs5-yenilikleri/</link>
		<comments>http://www.fatihhayrioglu.com/adobe-dreamweaver-cs5-yenilikleri/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 20:17:04 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Haberler]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[cs5]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[editör]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1919</guid>
		<description><![CDATA[Adobe Dreamweaver editör olarak beğenerek kullandığım bir editör. Burada sizlere yeni sürümü ve yeniliklerini anlatmaya çalışacağım ve son olarakta beklentilerimi ve yeni sürümün bunları ne kadar karşıladığımı yazacağım. Yeni sürüm ile birlikte gelen yenilikler ; CSS Inspection Aslında Live View özelliği bir önce sürümde de mevcut ancak bu sürümden tam anlamıyla geliştirilmiş bu özellik Inspect [...]]]></description>
			<content:encoded><![CDATA[<p><img src="https://docs.google.com/File?id=dhctmbn6_472cmt9wsnt_b" alt="" align="right" />Adobe Dreamweaver editör olarak beğenerek kullandığım bir editör. Burada sizlere yeni sürümü ve yeniliklerini anlatmaya çalışacağım ve son olarakta beklentilerimi ve yeni sürümün bunları ne kadar karşıladığımı yazacağım.</p>
<p>Yeni sürüm ile birlikte gelen yenilikler ;</p>
<p><strong>CSS Inspection</strong></p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/dw_cs5.gif"><img src="http://www.fatihhayrioglu.com/wp-content/dw_cs5.gif" alt="" title="dw_cs5" width="391" height="25" class="alignnone size-full wp-image-1908" /></a><br/>Aslında Live View özelliği bir önce sürümde de mevcut ancak bu sürümden tam anlamıyla geliştirilmiş bu özellik Inspect butonu yardımı ile gerçek zamanlı kodumuza müdahale edebiliyor, düzenleme yapabiliyoruz. </p>
<p>Bu özelliğe biz pek yabancı değiliz Firefox&#8217;un FireBug eklentisi bize bu imkanı sağlıyor aslında ve daha fazlasını sağlıyor. Bir önceki sürümde bunu tam ekleyemediklerini söylemiştik, bu sefer tam anlamıyla eklenmiş. </p>
<p>En büyük yeniliklerden birisi bu olmuş. </p>
<p><strong>Adobe BrowserLab</strong></p>
<p><img src="https://docs.google.com/File?id=dhctmbn6_467gzqcgpdh_b" alt="" align="right" />Adobe firmasının daha önce açtığı bu çevirimiçi tarayıcı test etme aracı bu yeni sürüm ile birlikte programdan direk erişilebilir hale getirilmiş. Örnek sayfanızı direk siteye gönderip test edebiliyoruz. </p>
<p>Ben aslında bu konuda pek tatmin olmadım. Çünkü BrowserLab zaten yeterli bir araç değildi. IETester tarzı bir test aracı daha makbul olacak bir araç olabilirdi. </p>
<p>Her şeye rağmen bir artıdır ama eksik olduğu kesin.</p>
<p><strong>CSS Aktik/Pasif</strong></p>
<div alt="" /><a href="http://www.fatihhayrioglu.com/wp-content/dw_cs5_aktif_pasif.gif"><img src="http://www.fatihhayrioglu.com/wp-content/dw_cs5_aktif_pasif.gif" alt="" title="dw_cs5_aktif_pasif" width="220" height="71" class="alignright size-full wp-image-1909" /></a></div>
<p>Mevcut kod üzerinde gezerken elemanlara atanan css özellikleri bir tıklama ile aktif ve pasif hale getirme özelliği.</p>
<p>FireBug ile alışık olduğumuz bu özellik yeni sürüm ile birlikte kullanıcının kullanımına sunulmaktadır. Güzel bir özellik.</p>
<p><strong>CSS başlangıç sayfaları</strong></p>
<div alt="" /><a href="http://www.fatihhayrioglu.com/wp-content/dw_cs5_template.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/dw_cs5_template-300x211.jpg" alt="" title="dw_cs5_template" width="300" height="211" class="alignnone size-medium wp-image-1914" /></a></div>
<p>Bir önceki sürüme göre daha fazla hazır sayfa yapısı imkanı sunuyor yeni sürüm bizlere. </p>
<p>Ben bu özelliği kullanmasam da kullananlar için artı bir özellik.</p>
<p><strong>HTML5 ve CSS3 Desteği </strong></p>
<p>Program ilk çıktığında beraber çıkmaması çok büyük bir eksiklikti, ancak sonradan bir güncelleme ile bu paketi eklemeleri hatalarını çok çabuk anlamları güzel oldu. HTML5 ve CSS3 tanımlarını otomatik tamamlama ile ekleyebliyoruz artık. </p>
<p>Hele CSS3&#8242;te farklı tarayıcılardaki bu önek karmaşasına bir çzöüm olması güzel oldu. </p>
<p><strong>PHP Tabanlı CMS Desteği </strong></p>
<div alt="" /><a href="http://www.fatihhayrioglu.com/wp-content/dw_cs5_cms.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/dw_cs5_cms.jpg" alt="" title="dw_cs5_cms" width="500" height="306" class="alignnone size-full wp-image-1910" /></a></div>
<p>Bu sürümdeki en büyük atılım bence bu dur. PHP tabanlı CMS&#8217;leri WordPress, Drupal ve Joomla tam anlamıyla düzenleme imkanı sağlıyor bu yeni sürüm. </p>
<p>Bu CMS&#8217;leri geliştirenler için biçilmiş kaftan bence yeni sürüm. </p>
<p>Kolay entegrasyon, düzenleme, dosya upload etme vb. özellikleri ile tam bir CMS editörü olmuş Dreamweaver. Dinamik yapılı bu CMS&#8217;leri tam anlamıyla bir statik sayfa gibi kolayca değiştirebilme ve test edebilmeyi sağlıyor bizlere. Ayrıca otomatik tamamlama özelliği ile çok büyük kolaylık sağlıyor.</p>
<p><strong>PHP özel sınıfı kod ipuçları </strong></p>
<div alt="" /><a href="http://www.fatihhayrioglu.com/wp-content/dwcs5-site-specific-codehints-dlg-cms.gif"><img src="http://www.fatihhayrioglu.com/wp-content/dwcs5-site-specific-codehints-dlg-cms.gif" alt="" title="dwcs5-site-specific-codehints-dlg-cms" width="326" height="119" class="alignnone size-full wp-image-1916" /></a></div>
<p>PHP ile oluşturulan özel sınıflar içinde otomatik tamamlama özelliği eklenmiş. PHP&#8217;ye yönelik bir editör olma eğilimi sergilemiş yeni sürümde Dreamweaver, bence mantıklı Visual Studio&#8217;yu geçemeyeceğini anlayınca PHP&#8217;ye yönelmiş.</p>
<p><strong>Dinamik İlişkili Dosyalar</strong></p>
<p>Bir önceki sürümde statik sayfalar için sunulan ilişkili dosyalar özelliği şimdi dinamik dosyalar içinde eklenmiş. Dreamweaver üzerinden PHP yaznalar için çok güzel bir özellik bence. </p>
<p><strong>SVN(Subversion) Desteği Geliştirilmiş</strong></p>
<p>Daha öncedende sunulan SVN(<strong>Subversion</strong>) özelliği bu sürüm ile birlikte bayağı bir geliştirilmiş. Diğer SVN programları ile uyum ve çerçevenin geliştirilmesi bu özelliği daha kullanılabilir yapmış.</p>
<p><strong>Business Catalyst® ile uyum</strong></p>
<p>Programlamaya gerek kalmadan güçlü çevrimiçi işletmeler oluşturmak için Dreamweaver ile Adobe Business Catalyst® hizmeti uyumu sağlanmış.</p>
<p><strong>Basit Site Kurulumu</strong></p>
<p>Mevcut site kurulumu penceresi biraz daha geliştirilerek kullanıcıya daha fazla seçenek ve kolaylık sunulmuş. Site kontrolünü Dreamweaver üzerinden sağlayanlar için güzel bir gelişme.</p>
<p><strong>Widget Browser Özelliği</strong></p>
<p>Bu özellik bize diğer insanların geliştiridiği yapıları sitemize ekleme imkanı sunuyor. Güzel bir özellik eğer uygulama sayısı artarsa gayet kullanışlı bir özellik </p>
<p>Özellik hakkında daha fazla bilgi için  http://tv.adobe.com/watch/learn-dreamweaver-cs5/using-the-widget-browser/ videoyu izlemenizi tavsiye ederim.</p>
<p><strong>İlişkili Dosyaları Filtreleme</strong></p>
<p>  <img src="https://docs.google.com/File?id=dhctmbn6_474f467phf8_b" alt="" /><br />
  Dreamweaver çalıştığımız doküman ile ilgili dosyalarıda gösteriyor, yeni sürüm ile birlikte dinamik dosyalarıda göstermeye başlıyor. Bu bazen karmşaya neden oluyor, bunu içni bir çözü üretilmiş. Filtreleme menüsünden itediğimiz dosya tipini veya dosyaları filtreleye biliyoruz. Bu sayede ilişkili dosyaları daha düzenli bir hale getirme imkanımız oluyor.</p>
<h3>Sonuç</h3>
<p>Yeni sürümün CSS ve PHP üzerine yoğunlaşmış bir sürüm olmuş. PHP CMS geliştirenler için bir çok yenilik var. CSS için getirilen yenilikler ve daha fazlası zaten mevcut kullanımımda vardı benim. Gerek FireBug ve gerekse IETester. Benim asıl beklentim büyük bir ivme kazana javascript kütüphaneleri hakkında bir gelişme idi. Örneği jquery kütüphanesi ile çok çalışan biri olarak jquery otomatik tamamlama özelliği olması benim çok sevindirirdi, ne yapalım bundan sonraki sürümleri bekleyeceğiz artık bunun için.</p>
<p>Yukarıda belirttiğim gibi sitelerimiz farklı platformlarda ve tarayıcılarda test için AdobeLabs yeterli gelmiyor bence daha fazla gelişmiş bir araç ile bu açık kapatılmalıdır. </p>
<p>Kalın sağlıcakla.</p>
<h3>Kaynaklar</h3>
<ul>
<li><a href="http://tv.adobe.com/watch/learn-dreamweaver-cs5/getting-started-gs-what-is-dreamweaver-cs5-/" title="http://tv.adobe.com/watch/learn-dreamweaver-cs5/getting-started-gs-what-is-dreamweaver-cs5-/">http://tv.adobe.com/watch/learn-dreamweaver-cs5/getting-started-gs-what-is-dreamweaver-cs5-/</a> (video)</li>
<li><a href="http://www.mymac.com/2010/07/cs5-dreamweaver-whats-new/" title="http://www.mymac.com/2010/07/cs5-dreamweaver-whats-new/">http://www.mymac.com/2010/07/cs5-dreamweaver-whats-new/</a></li>
<li><a href="http://webdesign.about.com/od/dreamweaver/p/differences-dreamweaver-cs5-and-dreamweaver-cs4.htm" title="http://webdesign.about.com/od/dreamweaver/p/differences-dreamweaver-cs5-and-dreamweaver-cs4.htm">http://webdesign.about.com/od/dreamweaver/p/differences-dreamweaver-cs5-and-dreamweaver-cs4.htm</a></li>
<li><a href="http://www.wpbeginner.com/news/wordpress-themes-made-easy-with-adobe-dreamweaver-cs5/" title="http://www.wpbeginner.com/news/wordpress-themes-made-easy-with-adobe-dreamweaver-cs5/">http://www.wpbeginner.com/news/wordpress-themes-made-easy-with-adobe-dreamweaver-cs5/</a></li>
<li><a href="http://www.thinkdigit.com/Features/Adobe-Dreamweaver-CS5-Review_4420.html" title="http://www.thinkdigit.com/Features/Adobe-Dreamweaver-CS5-Review_4420.html">http://www.thinkdigit.com/Features/Adobe-Dreamweaver-CS5-Review_4420.html</a></li>
<li><a href="http://www.pcmag.com/slideshow_viewer/0,1205,l%253D249944%2526a%253D249895%2526po%253D9,00.asp?p=y" title="http://www.pcmag.com/slideshow_viewer/0,1205,l%253D249944%2526a%253D249895%2526po%253D9,00.asp?p=y">http://www.pcmag.com/slideshow_viewer/0,1205,l%253D249944%2526a%253D249895%2526po%253D9,00.asp?p=y</a></li>
<li><a href="http://cs5.org/?p=1373" title="http://cs5.org/?p=1373">http://cs5.org/?p=1373</a></li>
<li><a href="http://www.adobe.com/tr/products/dreamweaver/whatsnew/" title="http://www.adobe.com/tr/products/dreamweaver/whatsnew/">http://www.adobe.com/tr/products/dreamweaver/whatsnew/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/adobe-dreamweaver-cs5-yenilikleri/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>PSD&#8217;den HTML&#8217;e – fanatikmarslar.com Sitesinin Kodlaması II</title>
		<link>http://www.fatihhayrioglu.com/psdden-htmle-%e2%80%93-fanatikmarslar-com-sitesinin-kodlamasi-ii/</link>
		<comments>http://www.fatihhayrioglu.com/psdden-htmle-%e2%80%93-fanatikmarslar-com-sitesinin-kodlamasi-ii/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 23:09:23 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[adım adım kodlama]]></category>
		<category><![CDATA[css-kodlama-düzeni]]></category>
		<category><![CDATA[CSS-Layout]]></category>
		<category><![CDATA[farklı tarayıcılara göre kod yazmak]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[kapsayamama-sorunu]]></category>
		<category><![CDATA[Kutu-Modeli]]></category>
		<category><![CDATA[psdtohtml]]></category>
		<category><![CDATA[site-kodlama]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1483</guid>
		<description><![CDATA[Ana Sayfa Kodlaması Bir önceki makalemde sizlere kodlamaya başlamadan önceki süreci anlattım. Şimdi sizlerle sitenin Ana Sayfasını nasıl kodladığımı anlatmaya çalışacağım. Bu makaleye yazacağımı düşünerek kodlama yaparken notlar tutmuştum, bu makale biraz da o notların derlemiş hali şeklinde olacaktır. I -Kodlama Öncesi Hazırlıklar II – Ana Sayfa Kodlaması (bu sayfa) III – Alt Sayfaların Kodlaması [...]]]></description>
			<content:encoded><![CDATA[<h3>Ana Sayfa Kodlaması </h3>
<p>Bir önceki makalemde sizlere kodlamaya başlamadan önceki süreci anlattım. Şimdi sizlerle sitenin Ana Sayfasını nasıl kodladığımı anlatmaya çalışacağım. Bu makaleye yazacağımı düşünerek kodlama yaparken notlar tutmuştum, bu makale biraz da o notların derlemiş hali şeklinde olacaktır. </p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/fanatikmarslar-com-sitesinin-kodlamasi/"> I -Kodlama Öncesi Hazırlıklar</a></li>
<li> II – Ana Sayfa Kodlaması (bu sayfa)</li>
<li> III – Alt Sayfaların Kodlaması (yayına hazırlanıyor&#8230;)</li>
</ul>
<p><a href="http://www.fatihhayrioglu.com/wp-content/anasayfa_kuc.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/anasayfa_kuc.jpg" alt="" title="anasayfa_kuc" width="450" height="701" class="aligncenter size-full wp-image-1487" /></a></p>
<p><span id="more-1483"></span></p>
<p>İlk olarak site ardalan resmini jpeg olarak kaydediyorum. jpeg seçmemin nedeni Adobe Phoshop&#8217;da &quot;Save for Web..&quot; ile kaydederken en küçük boyut ve en iyi görüntüyü vermesidir. Resimleri kaydederken eğer az renk varsa gif, çok fazla renk varsa jpeg kaydediyorum, son zamanlarda png&#8217;yi deniyorum ara sıra. Ardalan resmi biraz farklı bir yapıya sahip tekrarlayan kısmı biraz geniş olduğu için geniş kesmek durumunda kaldık. Ardalan resmini body&#8217;ye atıyorum. </p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/ardalan.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/ardalan-266x300.jpg" alt="" title="ardalan" width="266" height="300" class="aligncenter size-medium wp-image-1488" /></a></p>
<p>Sayfa ve site sabit bir genişlikte ve ortalı olduğu için ana bir kapsül(<strong>anaKapsul</strong>) için alıyorum. katmanı kapattığım yere bir not düşüyorum ki nerede bittiğini bilelim. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;FanatikMarşlar.Com&lt;/title&gt;
&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
@import url(&quot;style/fanatikmarslar.css&quot;);
--&gt;
&lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;
    &lt;div id=&quot;anaKapsul&quot;&gt;

    &lt;/div&gt;&lt;!--[if !IE]&gt;anaKapsul sonu&lt;![endif]--&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>İE6 ile bazı sorunları yaşamamak için yorum satırlarını biraz daha farklı kodluyorum. Detay için <a href="http://www.fatihhayrioglu.com/ie6un-tekrarlayan-karakter-sorunu/">IE6&#8242;un Tekrarlayan Karakter Sorunu</a> makalemi okumanızı tavsiye ediyorum. Zamanla alışkanlık haline gelen bu yorum kodunu Adobe Dreamweaver&#8217;da <strong>Snippets</strong>&#8216;e ekledim böylelikle daha kolay oluyor eklemesi. </p>
<p>Şimdi sayfayı ortalamak için css kodumuzu yazalım. Açalım fanatikmarslar.css dosyasını ve yazmaya başlayalım. </p>
<pre class="brush: css; title: ; notranslate">
/************************************************** genel tanimlar */
body{ background:url(../images/ardalan.jpg) 0 0 repeat;}
	#anaKapsul{width:990px; margin:20px auto; background:#fff url(../images/ust_ard.gif) 0 0 no-repeat;}
</pre>
<p>Ayrıca sayfa kenarları oval bunları ardalan resmi olarak anaKapsul ardalan resmi olarak tanımlayabiliriz.</p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/ders_03.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/ders_03-300x113.jpg" alt="" title="ders_03" width="300" height="113" class="aligncenter size-medium wp-image-1489" /></a></p>
<h3>Üst Alanın Kodlaması</h3>
<p>Eskizdeki gibi sayfayı belli bölümlere ayırarak kodluyorum. <strong>ustAlan</strong> tanımlamasını yaparken kendi genel standart isimlendirme sistemimi kullanıyorum. İsimlendirme yapılırken ilk harf küçük sonraki baş harfler ayrımı kolaylaştırmak için büyük ve bitişik yazılır. İsimlendirme ve kod yazma düzeni hakkında daha ayrıntılı bilgi için <a href="http://www.fatihhayrioglu.com/css-kod-yazma-duzeni/">CSS kod Yazma Düzeni</a> makalemi okuyunuz.</p>
<p><strong>Logo ve Banner alanı </strong></p>
<p>Logo ve yanındaki banner alanını kodlamaya başlarken bu iki alanı bir satır gibi düşünerek bir katman içine alıyorum. Bu katmana <strong>logoBannerAlani</strong> adını veriyorum. Her satırı böyle kapsayıcı bir katman içine almak bize bir çok yönü ile kolaylık sağlayacaktır. Logoyu sola yaslıyoruz ve üstten 14px yukarı çekiyoruz(logoyu yukarı çekerken eksi margin de kullanabiliriz ancak ie6 sorun yaşamayalım diye position ve top özellikleri yardımı ile yukarı çektik). Banner&#8217;ı logonun yanına koymak için float:left ve genişlik tanımı yapıyoruz ve logo ile arasındaki mesafeyi ve yukarıda mesafeyi ayarlamak için kenar dış boşluğu mesafelerini(margin) tanımlıyoruz.</p>
<p>HTML kodu </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;logoBannerAlani&quot; class=&quot;kapsayamamaSorunu&quot;&gt;
    &lt;div id=&quot;logo&quot;&gt;&lt;img src=&quot;images/logo.gif&quot; width=&quot;226&quot; height=&quot;126&quot; alt=&quot;Fanatikmarslar.com&quot; /&gt;&lt;/div&gt;
    &lt;div id=&quot;ustBanneralani&quot;&gt;&lt;img src=&quot;images/ust_banner.gif&quot; width=&quot;728&quot; height=&quot;90&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>CSS Kodu</p>
<pre class="brush: css; title: ; notranslate">
#logoBannerAlani{margin-bottom:10px;}
    #logo{float:left; width:226px; position:relative; top:-14px; left:6px;}
    #ustBanneralani{float:left; width:728px; margin:14px 0 0 16px}
</pre>
<p><strong>Menü ve Arama Alanı</strong> </p>
<p>Menü ve arama bölümünü kodlarken menü alanının genişleyebileceğini düşünerek. Arama alanına float:right tanımı menü alanına <strong>float:left</strong> tanımı yapıyoruz. Arama alanı genişliğini tanımlarken menü alanı genişliği değişebileceği için genişlik tanımlamıyoruz. Menü alanını listeler(ul) ile kodluyoruz(ul) liste elemanlarını yan yana dizmek için ul li ye <strong>float:left </strong>tanımı yapıyoruz. &quot;Sesi Kapat&quot; flash olacağı için bu bölümün yazı tipi özelliklerini tanımlamadan geçiyoruz, diğer linklerin tanımlarını yapıyoruz. Arama kısmında dışa arama alanı ardalan resmini atıyoruz. input alanı ve button alanı ekliyoruz. Niye <strong>button</strong> kullanıyoruz <strong>input type=&quot;submit&quot;</strong> kullanmıyoruz derseniz. type=&quot;submit&quot; elemanına direk erişemediğimizden. input ve button elemanlarımıza float:left ve genişlik tanımı yaparak yan yana koyuyoruz ve yine yorum kodlarımızı ekliyoruz.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;menuAramaAlani&quot; class=&quot;kapsayamamaSorunu&quot;&gt;
    &lt;div id=&quot;aramaAlani&quot;&gt;
        &lt;input type=&quot;text&quot; id=&quot;ara&quot; name=&quot;ara&quot; value=&quot;Arama&quot; onfocus=&quot;if(this.value=='Arama'){this.value=''};&quot; onblur=&quot;if(this.value==''){this.value='Arama'};&quot; /&gt;
        &lt;button&gt;&lt;/button&gt;
    &lt;/div&gt;
    &lt;ul id=&quot;ustMenu&quot;&gt;
        &lt;li&gt;Sesi Kapat&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;&quot;&gt;Giriş Yap&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;&quot;&gt;Sen de Katıl!&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;&quot;&gt;Fanatik Marşlar Nedir?&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;&lt;!--[if !IE]&gt;menuAramaAlani&lt;![endif]--&gt;
</pre>
<p><strong>Büyük Resim </strong></p>
<p>Büyük resmin olduğu kısmı ve bu resmin üzerindeki &#8220;Tezahürat Gönder&#8221; butonunu kodlarken; Büyük resmi bir katman oluşturup bunun ardalanına koyup tezahürat gönder düğmesini de alt ve sağdan 21px mesafede koymak için büyük resmi ardalanına atadığımız katmana position:relative tanımlıyoruz ve düğmeye position:absolute, bottom:0 ve right:21px tanımı yapıyoruz. ie6&#8242;da alttan 1px kadar fazlalık vardı bu durumda ie6 özel kodu ile aştım. ie6 için bottom:-1px; tanımı yaptım. Tarayıcılar için özel kodlar hakkında detaylı bilgi için <a href="http://www.fatihhayrioglu.com/tum-tarayicilar-icin-css-duzeltmelerihack/">tıklayınız</a> </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;buyukResim&quot;&gt;
	&lt;a href=&quot;&quot;&gt;&lt;img src=&quot;images/tezahurat_gonder_but.jpg&quot; width=&quot;181&quot; height=&quot;45&quot; alt=&quot;Tezahürat Gönder&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;
</pre>
<p><strong>Önemli Sözler</strong></p>
<p>Önemli sözler kısmı beni biraz düşündürdü. Kodlarken bu alanı normal akış dışına çıkarmalıydım. Bunun için <strong>position:relative</strong> tanımı ve genişlik ve yükseklik tanımı yaptım. Ana kapsayıcı katmanın dışına çıkarmak içinde eksi left ve margin-right değeri verdim ve oldu. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;manset&quot;&gt;
	&lt;p&gt;&quot;Real Madrid'den korkmuyoruz&quot;&lt;strong&gt;Didier Deschamps&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
</pre>
<h3>İçerik Alanının kodlaması</h3>
<p><a href="http://www.fatihhayrioglu.com/wp-content/icerik_alani.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/icerik_alani.jpg" alt="" title="icerik_alani" width="450" height="450" class="aligncenter size-full wp-image-1490" /></a></p>
<p>Ana Sayfa içerik alanını üç kolona ayırıyoruz. Sol, orta ve sağ kolon. </p>
<p><strong>Sol İçerik Alanının Kodlanması</strong> </p>
<p>Sol kolona genişlik ve float tanımı yaparak yerleştiriyoruz. </p>
<p>Başlıklara h1 ile tanımlıyoruz ve özelliklerini veriyoruz. </p>
<p>Html kodu; </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;solIcerikAlani&quot;&gt;
    &lt;h1&gt;Tezahürat Ligleri&lt;/h1&gt;
    .....
&lt;/div&gt;
</pre>
<p>CSS kodu;</p>
<pre class="brush: css; title: ; notranslate">
#solIcerikAlani{float:left; width:200px; margin-right:20px}
	#solIcerikAlani h1{margin-left:10px}
</pre>
<p><strong>Lig Menüsü</strong> </p>
<p>Lig menüsünü her zamanki ardalan kaydırmaca yöntemi ile kodluyoruz. ul listleri ve her liste elemanına ilgili id isimlerini veriyoruz. Daha sonra bu adlandırdığımız öğelere backgroud-position ile ilgili resimlerini atıyoruz. Metodun genel mantığı tek bir resim üretip öğelere farklı background-postion değeri ile kendi background&#8217;unu vermek. Metot ve uygulama hakkında detaylı bilgi almak için <a href="http://www.fatihhayrioglu.com/basit-resimli-menu-yapmak/">basit menü yapımı</a> makalemi okuyunuz. </p>
<p>HTML Kodu </p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul id=&quot;ligMenu&quot;&gt;
    &lt;li id=&quot;superLig&quot;&gt;&lt;a href=&quot;&quot;&gt;Turkcell Super Lig&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;birinciLig&quot;&gt;&lt;a href=&quot;&quot;&gt;Bank Asya 1. Lig&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;digerLigler&quot;&gt;&lt;a href=&quot;&quot;&gt;Diğer Ligler&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;dunyadanTezahuratlar&quot;&gt;&lt;a href=&quot;&quot;&gt;Dünyadan Tezahüratlar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>CSS Kodu</p>
<pre class="brush: css; title: ; notranslate">
ul#ligMenu{margin-bottom:10px}
    ul#ligMenu li{ background:url(../images/lig_menu.gif) 0 0 no-repeat;}
    ul#ligMenu li a{text-indent:-9999px; display:block; margin-bottom:1px; width:200px; height:45px; }
    ul#ligMenu li#superLig{ background-position:0 0;}
    ul#ligMenu li#birinciLig{background-position:0 -46px;}
    ul#ligMenu li#digerLigler{background-position:0 -92px;}
    ul#ligMenu li#dunyadanTezahuratlar{background-position:0 -138px;}
</pre>
<p><strong>Zirvedeki Taraftarlar</strong></p>
<p>Zirvedeki taraftarlar kısmını tablo ile kodlayacağız.</p>
<p>CSS ile kodlama yaparken bazılarının yanlış anladığı bir nokta vardır. Katmanlarla kodlama yaparken hiç tablo kullanmamalıyız yanılgısına düşer bazı arkadaşlar. Aslında durum böyle değildir. Anlamalı kodlama açısındanda sakıncalı olan bu anlayış yanlıştır. HTML sayfalarımızı oluştururken her elemanın ilgili etiketleri ile kodlamalıyız. Bu anlaşılabilirlik ve anlamlı kod yazma açısından önemlidir ve karmaşayı engeller. HTML sayfalarını oluşturmak için çeşitli yöntemler vardır bizi sonucu götüren ancak biz en uygun olan yolu bulmalıyız ve kodlamayız. Peki en uygun yöntem hangisidir buna nasıl karar vereceğiz noktasında kalırsak. Her zaman standartlar ve anlamlı kodlama yolunu seçmeliyiz. </p>
<p>Tabloyu kodlarken sayı kolonu için bir sınıf tanımlayıp özelliklerini atarız ve kolonu seçip bu sınıfı tüm hücrelere tanımlarız. Bu tüm hücre seçip sınıf atma işini dw ile kolayca yapabiliriz. Ayrıca tablo geneline yazı tipi ve renk tanımı yaparak genel tablo özelliklerimizi atadıktan sonra isim kısmı ve puan kısmını büyük yapmak için bu kısımları normal içerikten ayırmamız gerekir. Ben bunun için bu alanları strong etiketi içine aldım. Böylece direk html elemanına etki edebilecek ve istediğim değerleri atayabilecektim. </p>
<p><strong>Not:</strong> Kodlarımı yazarken hep mümükün oldukça html elemanlarını(p, strong, em, span, ul, li) kullanmaktan yanayım. Çünkü html elemanlarını tarayıcılar daha hızlı yorumlayacaktır, ayrıca yalın html kodumuzda daha düzenli duracaktır. </p>
<p>Logoları bir resim olarak hazırlayıp css sprite(ardalan kaydırma) yöntemi ile bu logoları kodladık.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;tr class=&quot;farkliSatir&quot;&gt;
    &lt;td width=&quot;16%&quot; align=&quot;center&quot; valign=&quot;middle&quot; class=&quot;taraftarSayi&quot;&gt;1&lt;/td&gt;
    &lt;td width=&quot;18%&quot; align=&quot;center&quot; valign=&quot;middle&quot;&gt;&lt;div class=&quot;logoTrabzon&quot;&gt;Trabzon&lt;/div&gt;&lt;/td&gt;
    &lt;td width=&quot;51%&quot; valign=&quot;middle&quot;&gt;&lt;a href=&quot;&quot;&gt;&lt;strong&gt;Fatih&lt;/strong&gt; Trabzon&lt;/a&gt;&lt;/td&gt;
    &lt;td width=&quot;15%&quot; align=&quot;center&quot; valign=&quot;middle&quot;&gt;&lt;strong&gt;28&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
</pre>
<p>Tablonun tek satırını incelersek kod yapısını anlayacağız. tr&#8217;deki <strong>farkliSatir</strong> sınıfı bir satırın açık bir satırın daha kapalı bir renk tanımı yapmak içindir. İlk hücremiz 1&#8242;den 10&#8242;a kadar sayılar olacağı kolon bu sayıların her biri aynı özellikleri taşıdığı için bu kolondaki hücrelere <strong>taraftarSayi </strong>sınıfını tanımladım ve özellikleri bu sınıfa atadım. </p>
<p>Site genelinde kullanılacak logoları düşününce bunları bir resim dosyası olarak hazırlayayım ve ardalan kaydırma metodu ile çağırayım diye düşündüm. CSS Sprite adı verilen bu tekniği bir çok yerde kullanıyoruz artık. Metodun çıkış amacı bir çok resmi ayrı ayrı sayfada çağırınca her istek bir zaman aşımına neden oluyor, resmi teke indirdiğimizde tek resim ve tek istek olduğu için bu zaman aşımından kurtulmuş oluyoruz. </p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/takim_logolari.gif"><img src="http://www.fatihhayrioglu.com/wp-content/takim_logolari.gif" alt="" title="takim_logolari" width="169" height="942" class="aligncenter size-full wp-image-1491" /></a></p>
<pre class="brush: css; title: ; notranslate">
table#taraftarZirveTablo td div{ display:block; width:32px; height:32px; text-indent:-9999px; background:url(../images/takim_logolari.gif) 0 0 no-repeat}
....
....
 div#icerikAlani div.logoTrabzon{ background-position:right -105px}
 div#icerikAlani div.logoGalatasaray{ background-position:right -69px}
 div#icerikAlani div.logoFenerbahce{ background-position:right 2px}
 div#icerikAlani div.logoGaziantep{ background-position:right -574px}
......
</pre>
<p>Logoları daha optimum kodlamak için iki farklı tanım ile aynı kodun tekrarını önledik. <strong>table#taraftarZirveTablo td div</strong> tanımında genel özellikleri tanımladık, daha sonra her takım logosu için sadece <strong>background-position</strong> tanımı yaptık, böylece her takım için birbirini tekrarlayan kodları tek elde topladık ve kodumuz daha az oldu. </p>
<p>Sol kolonda son olarak &quot;Takımını Destekle!&quot; ve &quot;Takip Et!&quot; kısımlarını kodladık. Ben sitede toplu olarak iki adet resim toplama(css sprite) tekniği uyguladım. Birincisi yukarıda anlattığım logolar için diğeri ise sitedeki sprite tekniğine uyacak diğer resimler için. </p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/genel_resim.gif"><img src="http://www.fatihhayrioglu.com/wp-content/genel_resim.gif" alt="" title="genel_resim" width="230" height="552" class="aligncenter size-full wp-image-1492" style="border:1px solid #ccc" /></a></p>
<p>yukarıdaki resim site genelinde uyguladığım sprite tekniği sonucu ortaya çıkmıştır. CSS Sprite tekniği hakkında genel bir makale ayrıca yazacağım, ama burada da yeri geldikçe metot hakkında bilgi vereceğim.  &quot;Takımını Destekle!&quot; ve &quot;Takip Et!&quot; kısımları başlıkları ve resimleri olan kısımlar, bunların sabit genişlik ve yüksekliği olduğu için CSS Sprite&#8217;a en uygun alanlar oldular. Genişleyebilir alanlarda sprite tekniğini kullanırken daha dikkatli olmalıyız. </p>
<p>HTML kodu </p>
<pre class="brush: xml; title: ; notranslate">
&lt;h1&gt;Takımını Destekle!&lt;/h1&gt;
&lt;a id=&quot;tezahuratgonderBanner&quot; href=&quot;&quot;&gt;Sende tezahürat gönder takımını Tezahürat Ligi'nde Şampiyon yap!&lt;/a&gt;
&lt;h1&gt;Takip Et!&lt;/h1&gt;
&lt;a id=&quot;twitterTakip&quot; href=&quot;&quot;&gt;Fanatik Marşları Twitter'da takip edin&lt;/a&gt;
</pre>
<p>CSS kodu;</p>
<pre class="brush: css; title: ; notranslate">
a#tezahuratgonderBanner{ background:url(../images/genel_resim.gif) 0 -88px no-repeat; width:188px; height:88px; display:block; text-indent:-9999px; margin:0 0 10px 10px}
a#twitterTakip{background:url(../images/genel_resim.gif) 0 -176px no-repeat; width:175px; height:50px; display:block; text-indent:-9999px; margin-left:10px}
</pre>
<p>Böylece sol kolon kodlamasını bitirdik.</p>
<h3>Orta İçerik Alanının Kodlanması</h3>
<p>Orta içerik alanının genişlik ve float tanımı yapıyoruz. </p>
<pre class="brush: css; title: ; notranslate">
#ortaIcerikAlani{float:left; width:440px; margin-right:20px}
</pre>
<p>Sonra üstteki resmi ekliyoruz.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;img src=&quot;images/orta_resim.jpg&quot; width=&quot;440&quot; height=&quot;250&quot; alt=&quot;Fanatikler&quot; /&gt;
</pre>
<p>Sonra Lig Tablosunu kodlamaya başlıyoruz.</p>
<p><strong>Lig Tablosu</strong></p>
<p>Lig Tablosu içeriğini bir tablo yapacağız. Üst ve alttaki oval kenarları ayrı bir katmana koyup, ardalan resmi olarak kodlayacağız. Peki resim değilde niye ardalan resmi olarak koyduk. Ardalan resimlerini tek bir resim şeklinde hazırlayıp kodlarken iki ayrı resim gibi kullanabiliyoruz. Ancak resim olarak hazırlasa idik, iki ayrı resim hazırlamak ve eklemek durumunda olacaktık, buda daha fazla http isteği demek oluyor.</p>
<pre class="brush: css; title: ; notranslate">
div#ligTabloUstu{ display:block; text-indent:-9999px; width:440px; height:5px; background:url(../images/puan_tablosu.gif) 0 0 no-repeat}
....
div#ligTablosuAlti{display:block; text-indent:-9999px; width:440px; height:5px; background:url(../images/puan_tablosu.gif) 0 bottom no-repeat}}
</pre>
<p>Tabloyuda bir katman içini alıp kenar boşluğunu katmandan vereceğiz. Bu kenar boşluklarını tablo içindende verebilirdik, ancak tablomuz işlevi dışında kullanmış olurduk, tablo sadece lig tablosu amacı ile kullanmak daha anlamlı.</p>
<pre class="brush: css; title: ; notranslate">
div#ligTabloKapsul{width:440px; padding:0 5px; background-color:#f3f3f3; voice-family: &quot;\&quot;}\&quot;&quot;; voice-family:inherit; width:430px;} html&gt;body div#div#ligTabloKapsul{width:430px;}
</pre>
<p>Yukarıdaki kodlamada fazladan kodlar dikkatinizi çekmiştir. Kutu modeli sorunu olarak Türkçeleştirdiğimiz &quot;box model hack&quot; yöntemidir bu. Bir elemana hem genişlik hemde yatay ve dikey padding veya kenar çizgisi atadığımızda(her ikisini atadığımız durumlarda da) ie6 ve diğer tarayıcılar arasındaki yorumlama sorununu gidermek için kullandığımız bir yöntemdir. Ayrıntılı bilgi almak için <a href="http://www.fatihhayrioglu.com/kutu-modeli-sorunlari-ve-cozumleri/">http://www.fatihhayrioglu.com/kutu-modeli-sorunlari-ve-cozumleri/</a> inceleyin.</p>
<p>Tablomuz standart bir tablo en sağdaki kolonumuz sayıları içeren farklı renk ve boyutta rakamlar içeriyor. Birde her satırın altında gri bir kenar çizgimiz(border) var. </p>
<p>En sağ kolon için bir sınıf tanımı yapıp kolon boyunca bunu uyguluyoruz.</p>
<pre class="brush: css; title: ; notranslate">
table#ligTablosu td.sayi{font:bold 18px Arial, Helvetica, sans-serif; color:#acd1e1}
</pre>
<p>Her satırın altındaki kenar çizgisini atamak için ilk olarak (tr) elemanına tanımladım ancak burada ie6 ile sorun yaşadım. Çözüm için <a href="http://www.fatihhayrioglu.com/internet-explorer-6-ve-7-icin-tablo-tr-elementine-kenar-cizgisi-atamak/">tıklayınız</a>. Bu detay sayfasındaki makaleyi burada yaşadığım sorundan sonra yazdım. Genelde makalelerim sorun-çözüm makaleleri böyle çıkıyor. Bir sorun ile bir kaç defa karşılaştıktan sonra çözüm ve önerilerini siteye yazıyorum. Hem aklımda kalmış oluyor hemde bir daha karşılaştığımda çözümü nerede bulacağımı biliyorum. Tabi birde insanlarla paylaşıp aynı sorunu yaşayan insanlara yardımcı olmak gibi güzel bir yanıda var.</p>
<pre class="brush: css; title: ; notranslate">
table#ligTablosu{border-collapse:collapse; }
table#ligTablosu td{padding:1px 2px; font:14px Arial, Helvetica, sans-serif; color:#828282; border-bottom:1px solid #d5d5d5;}
</pre>
<p>En son satırda kenar çizgisi olmayacağı için son satıra bir sınıf atayıp kenar çizgisini kaldırdım.</p>
<pre class="brush: css; title: ; notranslate">
table#ligTablosu tr.enAlt td{border:0}
</pre>
<p>Ayrıca tablo baş kısmı için içerikten farklı tanımları yaptım (table th) </p>
<pre class="brush: css; title: ; notranslate">
table#ligTablosu th{font:bold 14px Arial, Helvetica, sans-serif; color:#000; padding:5px 2px}
</pre>
<p><strong>Takım Adı ve Armaları</strong></p>
<p>Bu tablodaki takım adı ve logoları için sol kolonda yaptığımıza benzer kodları kullanıyoruz. Bunu yukarıda sol kolona ait toplu kodlarda görebilirsiniz. Aynı tanımlar olduğu için sadece virgül ie yanına seçiciyi ekledik. </p>
<pre class="brush: css; title: ; notranslate">
div#icerikAlani div.logoWerderBremen, a.WerderBremen{background-position:right -1440px}
</pre>
<p>görüldüğü gibi <strong>div#icerikAlani div.logoWerderBremen</strong> kısmı ile <strong>a.WerderBremen</strong> kısmına aynı tanımlar yapıldığı için virgül ile ayrılmıştır. Böylece daha kısa kod ve daha optimize kodlar elde edilmiştir. </p>
<p>Sol kolonda kullanmadığımız ama burada lazım olan aşağıdaki kodlarıda ekledik. </p>
<pre class="brush: css; title: ; notranslate">
a.takimLogo{ display:block; background:url(../images/takim_logolari.gif) right 0 no-repeat; padding:8px 30px 8px 0; color:#0c2b90; text-decoration:underline}
a.takimLogo:hover{text-decoration:none;}
</pre>
<h3>Sağ İçerik Alanının Kodlanması</h3>
<p>İçerik alanı 3 kolonlu yapının sonuncu kolonuna (sagIcerikAlani) ismini verdik ve diğer kolonları yanında durması için genişlik tanımı ve float:left tanımı yaptık. </p>
<pre class="brush: css; title: ; notranslate">
#sagIcerikAlani{float:left; width:300px}
</pre>
<p>İlk olarak banner alanını hazırlıyoruz. Normalde ben buraya resmi direk koyabilirdim, ancak banner flash ise ve buraya javascript ile eklenecekse bir id&#8217;ye ihtiyaç duyulabilir diye, bir katman içine alıyorum resmi. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;sagBannerAlani&quot;&gt;&lt;img src=&quot;images/band_website_banner.jpg&quot; width=&quot;300&quot; height=&quot;250&quot; alt=&quot;Web&quot; /&gt;&lt;/div&gt;
</pre>
<p>Not: Bir HTMLci, daha cancanlı isimlendirme ile Arayüz Kod geliştiricisi sadece kod yazmak ile kalmaz aynı zamanda yazdığın kodun nereye gideceği, neler içere bileceğinide düşünerek kodunu yazmalıdır. Bir bakıma bir programcı gibi düşünerek kodunu daha esnek yazmalıdır. </p>
<p><strong>Kategoriler Kısmı</strong></p>
<p>Kategoriler kısmını blok şeklide kodlayacağım. Her kategoriye bir satır olacak şekilde kodlamak için burada &quot;ul li&quot; listelerini kullandım.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul id=&quot;lKategoriiler&quot;&gt;
    &lt;li id=&quot;kMarslar&quot;&gt;&lt;a href=&quot;&quot;&gt;&lt;strong&gt;Marşlar&lt;/strong&gt;All the legendary football terrace anthems are here. &lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;kEglenceliTezahuratlar&quot;&gt;&lt;a href=&quot;&quot;&gt;&lt;strong&gt;Eğlenceli Tezahüratlar&lt;/strong&gt;All the legendary football terrace anthems are here. &lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;kSohretlerGecidi&quot;&gt;&lt;a href=&quot;&quot;&gt;&lt;strong&gt;Şöhretler Geçidi&lt;/strong&gt;All the legendary football terrace anthems are here. &lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;k18&quot;&gt;&lt;a href=&quot;&quot;&gt;&lt;strong&gt;+18&lt;/strong&gt;All the legendary football terrace anthems are here. &lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;kNostaljikTezahuratlar&quot;&gt;&lt;a href=&quot;&quot;&gt;&lt;strong&gt;Nostaljik Tezahüratlar&lt;/strong&gt;All the legendary football terrace anthems are here. &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>Her öğenin farklı ikonu olduğu için her liste öğesine bir id vereceğiz ve buna göre atamalarımızı yapacağız. Listede bir başlık ve içerik alanı var bu ayrımı sağlamak için başlık kısmını strong etiketi içine alıyoruz. </p>
<pre class="brush: css; title: ; notranslate">
#sagIcerikAlani ul#lKategoriiler{width:300px; float:left; font-family:Arial, Helvetica, sans-serif; margin-bottom:10px}
ul#lKategoriiler li a{ display:block; background:#eeeeee url(../images/notalar.gif) 0 0 no-repeat; margin-bottom:2px; padding:10px 5px 10px 40px; font-size:12px; color:#000}
ul#lKategoriiler li a:hover{background:#dbdbdb url(../images/notalar.gif) 0 0 no-repeat;}
ul#lKategoriiler li#kMarslar a{ background-position:0 -2px;}
ul#lKategoriiler li#kEglenceliTezahuratlar a{ background-position:0 -72px;}
ul#lKategoriiler li#kSohretlerGecidi a{ background-position:0 -141px;}
ul#lKategoriiler li#k18 a{ background-position:0 -215px;}
ul#lKategoriiler li#kNostaljikTezahuratlar a{ background-position:0 -289px;}
ul#lKategoriiler li a strong{display:block; font:bold 14px Arial, Helvetica, sans-serif; color:#0c2b90}
</pre>
<p><strong>Videolar </strong></p>
<p>Video kısmında resmi sola yazıları ve oylama kısmını sağa koyuyoruz. Burada oylama alanını css ile kodlarken yine ardalan kaydırma yöntemini kullanıyoruz. </p>
<p>Oylama html kodu </p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul class='oylama'&gt;
    &lt;li class='mevcutOy' style=&quot;width:60px&quot;&gt;3/5 Yıldız&lt;/li&gt;
    &lt;li&gt;&lt;a href='#' title='1 puan' class='birYildiz'&gt;1&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href='#' title='2 puan' class='ikiYildiz'&gt;2&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href='#' title='3 puan' class='ucYildiz'&gt;3&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href='#' title='4 puan' class='dortYildiz'&gt;4&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href='#' title='5puan' class='besYildiz'&gt;5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>5 adet yıldızımız var birde mevcut durumu gösteren bir li öğemiz. Burada da ardalan kaydırma metodu kullanarak oylama kısmı kodlanmıştır. </p>
<pre class="brush: css; title: ; notranslate">
ul.oylama{list-style: none; margin:0 3px 3px 3px; padding: 0px; width: 85px; height: 17px; position: relative; background: url(../images/yildiz.gif) top left repeat-x;}
    ul.oylama li{float:left; padding:0px; margin:0px;}
        ul.oylama li a{display:block; width:17px; height: 17px; text-decoration: none; text-indent: -9999px; z-index: 20; position: absolute; background-image:none;}
        ul.oylama li a:hover{background: url(../images/yildiz.gif) left bottom; z-index: 1; left: 0px;}
        ul.oylama li.mevcutOy{background: url(../images/yildiz.gif) left bottom; position: absolute; height: 17px; display: block; text-indent: -9999px; z-index: 1;}
        ul.oylama a.birYildiz{left: 0px;}
        ul.oylama a.birYildiz:hover{width:17px;}
        ul.oylama a.ikiYildiz{left:17px;}
        ul.oylama a.ikiYildiz:hover{width: 34px;}
        ul.oylama a.ucYildiz{left: 34px;}
        ul.oylama a.ucYildiz:hover{width: 51px;}
        ul.oylama a.dortYildiz{left: 51px;}
        ul.oylama a.dortYildiz:hover{width: 68px;}
        ul.oylama a.besYildiz{left: 68px;}
        ul.oylama a.besYildiz:hover{width: 85px;}
</pre>
<h3>Sosyal Alanın ve Alt Alanın Kodlanması</h3>
<p><a href="http://www.fatihhayrioglu.com/wp-content/sosyal_altalan.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/sosyal_altalan.jpg" alt="" title="sosyal_altalan" width="450" height="111" class="aligncenter size-full wp-image-1493" /></a></p>
<p>Burada üstteki beyaz oval alanı için fazladan bir katman açıp ona atamaktan ise zaten ekleyeceğiz sosyalAlan&#8217;a üstteki kapsayıcı katmanın alt ovalliğini ekleyerek daha az kodlama bu işi çözmüş olduk. </p>
<p><strong>Sosyal Alanın Kodlanması</strong> </p>
<p>Sabit genişliği ve yüksekliği olan bir alan ve yan yana dizilmiş öğelerimiz var. Yukarıda bir çok defa uyguladığımız listeler ve ardalan kaydırma metodunu burada da uyguluyoruz. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;sosyalAlan&quot; class=&quot;kapsayamamaSorunu&quot;&gt;
    &lt;ul&gt;
        &lt;li id=&quot;sBaslik&quot;&gt;Sosyal Medya&lt;/li&gt;
        &lt;li id=&quot;sRSS&quot;&gt;&lt;a href=&quot;&quot;&gt;RSS&lt;/a&gt;&lt;/li&gt;
        &lt;li id=&quot;sFacebook&quot;&gt;&lt;a href=&quot;&quot;&gt;facebook&lt;/a&gt;&lt;/li&gt;
        &lt;li id=&quot;sFriendfeed&quot;&gt;&lt;a href=&quot;&quot;&gt;friendfeed&lt;/a&gt;&lt;/li&gt;
        &lt;li id=&quot;sTwitter&quot;&gt;&lt;a href=&quot;&quot;&gt;twitter&lt;/a&gt;&lt;/li&gt;
        &lt;li id=&quot;sYoutube&quot;&gt;&lt;a href=&quot;&quot;&gt;youtube&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>CSS Kodu</p>
<pre class="brush: css; title: ; notranslate">
/* sosyalAlan */
#sosyalAlan{width:990px; margin:0 auto; background:url(../images/yatay_ayrac.gif) 0 0 no-repeat; height:71px}
    #sosyalAlan ul{float:right; width:310px; margin:30px 10px 0 0;}
        #sosyalAlan ul li{float:left; background:url(../images/sosyal_medya.gif) 0 0 no-repeat; text-indent:-9999px; margin-right:12px}
        #sosyalAlan ul li#sBaslik{ background-position:0 0; width:114px; height:23px}
        #sosyalAlan ul li#sRSS{ background-position:-125px 0; width:23px;}
        #sosyalAlan ul li#sFacebook{ background-position:-158px 0; width:23px}
        #sosyalAlan ul li#sFriendfeed{ background-position:-192px 0; width:23px;}
        #sosyalAlan ul li#sTwitter{ background-position:-226px 0; width:23px}
        #sosyalAlan ul li#sYoutube{ background-position:-260px 0; width:23px;}
        	#sosyalAlan ul li a{display:block; height:23px;}
</pre>
<p><strong>Alt Alanın Kodlanması</strong></p>
<p>altAlan kısmına baktığımızda 3 kolonlu bir yapıya sahip olduğunu görürüz. Sabit bir genişliği ve yüksekliği var. Tüm alt kısmı kapsayan bir background resmi var. Bu değerlendirmeleri yaptıktan sonra kodumuzu yazarsak. </p>
<pre class="brush: css; title: ; notranslate">
#altAlan{ background:url(../images/alt.png) 0 0 no-repeat; width:990px; height:122px; margin:0 auto; padding-top:10px; voice-family: &quot;\&quot;}\&quot;&quot;; voice-family:inherit; height:112px;} html&gt;body #altAlan{height:112px;}
</pre>
<p>Yukarıda bahsettiğimiz gibi bir elemana genişlik veya yükseklik tanımı yaptıktan sonra padding ve/veya border tanımı yaptığımızda kutu modeli sorunu ile karşılaşmamak için farklı bir kod yazıyoruz. Ayrıca ardalan resmindeki geçiş nedeni ile saydam png koymalıyız. Saydam pngler ie6&#8242;daki sorununu çözmek için kodumuz </p>
<pre class="brush: css; title: ; notranslate">
#altAlan{ background:url(../images/alt.png) 0 0 no-repeat; width:990px; height:122px; margin:0 auto; padding-top:10px; voice-family: &quot;\&quot;}\&quot;&quot;; voice-family:inherit; height:112px;} html&gt;body #altAlan{height:112px;}
* html #altAlan{background:transparent; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/alt.png', sizingMethod='crop');}
* html #altAlan a, * html #altAlan input, * html #altAlan button{position:relative; z-index:1}
</pre>
<p>şeklinde olmalıdır. Ayrıntılı bilgi için Internet Explorer 6 için saydam PNG desteği adlı makalemi okuyunuz. </p>
<p>Alttaki logoyu yerleştirmek için genişlik ve <strong>float</strong> tanımı yapıyoruz. Bu resmide CSS Sprite ile genel resimden çekiyoruz. </p>
<pre class="brush: css; title: ; notranslate">
#logoAltta{ background:url(../images/genel_resim.gif) 0 -236px no-repeat; width:123px; height:69px; text-indent:-9999px; margin:0 20px 0 10px; float:left;}
</pre>
<p>Ortadaki linkler ve copyright kısmını liste ve paragraflı bir yapı ile kodluyoruz. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;altLinkler&quot;&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Telif Hakları&quot;&gt;Telif Hakları&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;&quot; title=&quot;İletişim&quot; class=&quot;sonAltLink&quot;&gt;İletişim&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;© 2009 Fanatik Marşlar. Her hakkı saklıdır. Kaynak gösterilmeden kullanılamaz.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Marşlar&quot;&gt;Marşlar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Eğlenceli Tezahüratlar&quot;&gt;Eğlenceli Tezahüratlar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Şöhretler Geçidi&quot;&gt;Şöhretler Geçidi&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Klasikler&quot;&gt;Klasikler&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;&quot; title=&quot;+18&quot;&gt;+18&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;&quot; class=&quot;sonAltLink&quot; title=&quot;Nostaljik Tezahüratlar&quot;&gt;Nostaljik Tezahüratlar&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>Listeleri yan yana dizmek için li&#8217;ye display:inline tanımı yapıyoruz. </p>
<pre class="brush: css; title: ; notranslate">
#altLinkler{float:left; width:635px; font:12px Arial, Helvetica, sans-serif; padding-top:10px}
#altLinkler p{margin:3px 0}
#altLinkler ul li{display:inline;}
#altLinkler ul li a{color:#0c2b90; background:url(../images/genel_resim.gif) right -312px no-repeat; padding-right:8px; margin-right:5px}
#altLinkler ul li a.sonAltLink{background:none;}
#altLinkler ul li a:hover{text-decoration:underline}
</pre>
<p>Son olarakta RSS ve e-posta üyeliği kısmını kodluyoruz. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;rssEpostaUye&quot;&gt;
    &lt;a href=&quot;&quot; id=&quot;altRSSLink&quot;&gt;RSS&lt;/a&gt;
    &lt;p&gt;E-posta Üyeliği&lt;/p&gt;
    &lt;input type=&quot;text&quot; /&gt; &lt;button&gt;Gönder&lt;/button&gt;
&lt;/div&gt;
</pre>
<p>Bu gibi durumlarda şöyle bir seçim yapıyorum. Kapsayıcı bir katman içinde tek kullanımlık html elemanları koyarak css kodlamayı daha kolay hale getiriyorum. Burada mesela tek a, tek p, tek input ve tek button kullanmamın nedeni bu. </p>
<h3>Sonuç</h3>
<p>Bu makaleye kodlama yazarken tuttuğum notlardan yararlanarak hazırladım. Bazı bölümleri hızlı geçmiş, ayrıntısına inmemiş olabilirim, kafanıza takılan veya ayrıntısını öğrenmek istediğiniz kısımları yorumlar kısmında yazarsanız yardımcı olmaya çalışırım. Bir kusurumuz eksiğimiz oldu ise affola. </p>
<p>Örnek kodları görmek için <a href="http://fatihhayrioglu.com/dokumanlar/fm/index.html">tıklayınız.</a></p>
<p>Tüm kodları indirmek için <a href="http://www.fatihhayrioglu.com/dokumanlar/fm_anasayfa_html.rar">tıklayınız.</a>(rar dosyası index.html, images, style ve scripts klasörünü içerir) 388 Kb</p>
<p>Hazırladığımız bu dosyayı ilk makalemizdeki 30 &#8211; Musteriye kalsörü içine atıyoruz ve sıkıştırıp gönderiyoruz.</p>
<p>Not: Burada anlattığım kodlar ile yayındaki site arasında ufak tefek farklılıklar olabilir. Ben burada başta benim kodladığım sitenin kodları ve anlatımını yapıyorum.</p>
<p>Bir sonraki makalem <strong>Alt Sayfaların Kodlaması</strong> ile ilgili olacaktır. görüşmek dileğiyle hoşçakalın.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/psdden-htmle-%e2%80%93-fanatikmarslar-com-sitesinin-kodlamasi-ii/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Fatih Hayrioğlu&#8217;nun not defteri &#8211; 2009</title>
		<link>http://www.fatihhayrioglu.com/fatih-hayrioglunun-not-defteri-2009/</link>
		<comments>http://www.fatihhayrioglu.com/fatih-hayrioglunun-not-defteri-2009/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 16:02:59 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Haberler]]></category>
		<category><![CDATA[2009]]></category>
		<category><![CDATA[ie6]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1480</guid>
		<description><![CDATA[Geçen seneyi değerlendirirsem. Genel manada pek verimli bir sene olmadı. Çok fazla makale yayımlayamadım. Umarım 2010 daha iyi geçer.  Ocak  Kuleli 1919 – Şeref Tipi Senenin ilk yazısı bir hatıra kitabı. sIFR, Flash Player10 ve Firefox sorunu Sorunlarla daha ilk günlerden boğuşmaya başlamışız. Operasyon Ergenekon – Şamil Tayyar Şimdi anlıyorum ki eskiden daha çok kitap [...]]]></description>
			<content:encoded><![CDATA[<p>Geçen seneyi değerlendirirsem. Genel manada pek verimli bir sene olmadı. Çok fazla makale yayımlayamadım. Umarım 2010 daha iyi geçer. </p>
<p><strong>Ocak</strong> </p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/kuleli-1919-seref-tipi/" title="Kuleli 1919 – Şeref Tipi">Kuleli 1919 – Şeref Tipi</A> Senenin ilk yazısı bir hatıra kitabı. </li>
<li><a href="http://www.fatihhayrioglu.com/sifr-flash-palyer10-ve-firefox-sorunu/" title="sIFR, Flash Player10 ve Firefox sorunu">sIFR, Flash Player10 ve Firefox sorunu</A> Sorunlarla daha ilk günlerden boğuşmaya başlamışız.</li>
<li><a href="http://www.fatihhayrioglu.com/operasyon-ergenekon-samil-tayyar/" title="Operasyon Ergenekon – Şamil Tayyar">Operasyon Ergenekon – Şamil Tayyar</A> Şimdi anlıyorum ki eskiden daha çok kitap okuyormuşum.</li>
<li><a href="http://www.fatihhayrioglu.com/wordpress-27ye-gectikten-sonraki-sorunlarim-1/" title="WordPress 2.7′ye geçtikten sonraki sorunlarım – 1">WordPress 2.7′ye geçtikten sonraki sorunlarım – 1</A> En çok sorun yaşadığım sürümlerden birisi idi 2.7</li>
<li><a href="http://www.fatihhayrioglu.com/windows-vista-windows-defender-guncellemesindeki-sorunu-ve-cozumu/" title="Windows Vista / Windows Defender Güncellemesindeki Sorunu ve Çözümü">Windows Vista / Windows Defender Güncellemesindeki Sorunu ve Çözümü</A> 2009 sorunlarla başlamış, orası kesin.</li>
</ul>
<p><strong>Şubat </strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/sah-i-cihan-fatih-sultan-mehmed-han-ahmet-coskun/" title="Şâh-ı Cihan Fatih Sultan Mehmed Han – Ahmet Çoşkun">Şâh-ı Cihan Fatih Sultan Mehmed Han – Ahmet Çoşkun</A> Tarih kitapları ile devam ediyor süreç.</li>
<li><a href="http://www.fatihhayrioglu.com/float-uygulanmis-elementleri-tam-kapsayamama-sorunu-ipuclari/" title="Float Uygulanmış Elementleri Tam Kapsayamama Sorunu İpuçları">Float Uygulanmış Elementleri Tam Kapsayamama Sorunu İpuçları</A> Bir çok projede defalarca karşılaştığımız float uygulanmış nesnelerin kapsayamama sorunu için ipuçları.</li>
<li><a href="http://www.fatihhayrioglu.com/optimizasyon-icin-css-medya-dosyalarini-birlestirmek/" title="CSS İpucu 18: Optimizasyon İçin CSS Medya Dosyalarını Birleştirmek">CSS İpucu 18: Optimizasyon İçin CSS Medya Dosyalarını Birleştirmek</A> Daha önceleri projemizde farklı bölümler için farklı css dosyaları kullanmayı önerir iken sonradan fazla dosya çağırmanın optimizasyon bakımından dezavantajlı olduğunu öğrendik.</li>
<li><a href="http://www.fatihhayrioglu.com/tum-tarayicilar-icin-css-ile-saydamlik-opacity/" title="CSS İpucu 19: Tüm Tarayıcılar İçin CSS İle Saydamlık(Opacity)">CSS İpucu 19: Tüm Tarayıcılar İçin CSS İle Saydamlık(Opacity)</A> Ard arda ipuçları. saydamlık için css tanımları.</li>
</ul>
<p><strong>Mart</strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/basit-resimli-menu-yapmak/" title="Basit Resimli Menü Yapmak">Basit Resimli Menü Yapmak</A> Ardalan kaydırma yöntemi ile menü oluşturmayı daha önce anlatmıştım ancak çoğu insana o anlatım karmaşık geldi. Bende daha basit nasıl anlatırım diyerek bu yazıyı yazmıştım.</li>
<li><a href="http://www.fatihhayrioglu.com/internet-explorer-8in-nihai-surum-cikti/" title="Internet Explorer 8′in Nihai Sürümü Çıktı">Internet Explorer 8&#8242;in Nihai Sürümü Çıktı</A> O zaman yazmışım bu tarayıcının yetersiz olduğunu. İE9 seslerinin çıktı bu günlerde daha iyi anlıyoruz durumu.</li>
<li><a href="http://www.fatihhayrioglu.com/internet-explorer-8i-7-gibi-yorumla-kodu/" title="Internet Explorer 8'i 7 gibi yorumlama kodu">Internet Explorer 8&#8242;i 7 gibi yorumlama kodu</A> İE8&#8242;in bize kaznadırdığı en güzel özelliklerden birisi bu galiba. Sen 7 gibi yorumla.</li>
<li><a href="http://www.fatihhayrioglu.com/rss-adresimi-googlea-tasidim/" title="RSS Adresimi Google'a Taşıdım">RSS Adresimi Google&#8217;a Taşıdım</A> Google&#8217;un feedburner&#8217;ı almasından sonraki bir değişiklik. Ben google&#8217;dan bu aracı daha da geliştirmesini beklerdim ama çok atıl kaldı bence.</li>
<li><a href="http://www.fatihhayrioglu.com/futbol-ve-kuresellesme-pascal-boniface/" title="Futbol ve Küreselleşme – Pascal Boniface">Futbol ve Küreselleşme – Pascal Boniface</A> Seyretmek için çok zmana harcasamda hakkında pek kitap okumadığımı bir kez daha gördüm. Futbol hakkında okuduğum ilk ve tek kitap. Şimdilik</li>
</ul>
<p><strong>Nisan</strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/tablo-satirina-verilen-ardalan-resminin-tekrarlama-sorunu/" title="Tablo Satırına Verilen Ardalan Resminin Tekrarlama Sorunu">Tablo Satırına Verilen Ardalan Resminin Tekrarlama Sorunu</A> Genel itibari ile sorun ve çözüm önerileri hakkında makalelerle geçmiş.</li>
<li><a href="http://www.fatihhayrioglu.com/css-ipucu-20-firefoxda-kaydirma-cubugu-cikarma/" title="CSS İpucu 20: Firefox'da Kaydırma Çubuğu Çıkarma">CSS İpucu 20: Firefox&#8217;da Kaydırma Çubuğu Çıkarma</A> Bazıları için bir sorun olarak görünsede bence bir sorun olmayan bir özellik.</li>
<li><a href="http://www.fatihhayrioglu.com/sessiz-sedasiz-3-seneyi-astik/" title="Sessiz sedasız 3. seneyi aştık">Sessiz sedasız 3. seneyi aştık</A> Seneler çok çabuk geçiyor.</li>
</ul>
<p><strong>Mayıs</strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/jquery-ile-iframe-yuksekligini-icerigine-gore-otomatik-ayarlamak/" title="Jquery İle IFrame Yüksekliğini İçeriğine Göre Otomatik Ayarlamak">Jquery İle IFrame Yüksekliğini İçeriğine Göre Otomatik Ayarlamak</A> Çok kullanışlı ve güzel bir eklenti, bence tek sorunu yavaş çalışması.</li>
<li><a href="http://www.fatihhayrioglu.com/jquery-ile-basit-sekme-yapimi/" title="jQuery ile Basit Sekme Yapımı">jQuery ile Basit Sekme Yapımı</A> jQuery ile ilgili ilk makalem. jQuery 2009&#8242;da benim için tavan yaptı.</li>
<li><a href="http://www.fatihhayrioglu.com/css-ile-sayfalama-gorselligini-ayarlama/" title="CSS ile sayfalama görselliğini ayarlama">CSS ile sayfalama görselliğini ayarlama</A> Bir metot ve görselliği arttırma yöntemini anlattığım bir makale</li>
</ul>
<p><strong>Haziran</strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/css-ile-secilen-metinlerin-rengini-degistirmek/" title="CSS İpucu 21: CSS ile Seçilen Metinlerin Rengini Değiştirmek">CSS İpucu 21: CSS ile Seçilen Metinlerin Rengini Değiştirmek</A> Tamamen görselliğe yönelik bir özellik ve hala ie desteklemiyor.</li>
<li><a href="http://www.fatihhayrioglu.com/css-kod-yazma-duzeni/" title="CSS Kod Yazma Düzeni">CSS Kod Yazma Düzeni</A> 2009&#8242;da yazdığım makaleler arasında en çok beğendiğim yazılarımdan bir tanesi. Genelde kodlardan bahsederim, ama bu sefer işin farklı ama önemli bir kısmını anlattığım bir makale.</li>
<li><a href="http://www.fatihhayrioglu.com/ie-8-icin-css-duzeltmesihack/" title="IE 8 için CSS Düzeltmesi(Hack)">IE 8 için CSS Düzeltmesi(Hack)</A> Bu düzeltmeyi pek kullanmadım. Bunun yerine ie gibi yorumla kodunu kullandım.</li>
<li><a href="http://www.fatihhayrioglu.com/sayfa-dibine-yapisik-alt-alanlarsticky-footer/" title="Sayfa Dibine Yapışık Alt Alanlar(Sticky Footer)">Sayfa Dibine Yapışık Alt Alanlar(Sticky Footer)</A> Bir çok kere kullandım ve sonunda yazdım.</li>
<li><a href="http://www.fatihhayrioglu.com/css-ile-ziyaret-edilen-sayfa-baglantilarina-sekil-vermek/" title="CSS ile Ziyaret Edilen Sayfa Bağlantılarına Şekil Vermek">CSS ile Ziyaret Edilen Sayfa Bağlantılarına Şekil Vermek</A> Pek kullanmasak dahi önemli bir özellik.</li>
<li><a href="http://www.fatihhayrioglu.com/windows-vista-net-framework-guncelleme-sorunu-ve-cozumu/" title="Windows Vista .net Framework güncelleme sorunu ve çözümü">Windows Vista .net Framework güncelleme sorunu ve çözümü</A> Vista sorunları sene boyu bizi zorladı, ama yinede idare etti.</li>
<li><a href="http://www.fatihhayrioglu.com/firefoxun-negatif-degerli-z-index-destegi/" title="Firefox’un Negatif Değerli z-index Desteği">Firefox’un Negatif Değerli z-index Desteği</A> Firefox&#8217;un en büyük artılarından birisi sorunları olsada çabuk hallediyor ve bizleri uğraştırmıyor.</li>
<li><a href="http://www.fatihhayrioglu.com/dis-hat-cizgisioutline-ozellikleri/" title="Dış hat çizgisi(outline) özellikleri">Dış hat çizgisi(outline) özellikleri</A> outline bir kişinin gözünden kaçan bir özellik. Bizimde gözümüze fazla batmamış ki yazmamız bu kadar gece kalmış.</li>
<li><a href="http://www.fatihhayrioglu.com/dis-hat-cizgilerinioutline-kaldirmak/" title="Dış Hat Çizgilerini(outline) Kaldırmak">Dış Hat Çizgilerini(outline) Kaldırmak</A> Her nekadar makale ismi kaldırmak diye geçsede içinde kaldırıp kaldırmamayı tartıştık ve alternarif yöntemleri sunduk.</li>
<li><a href="http://www.fatihhayrioglu.com/firefox-3-5-cikti/" title="Firefox 3.5 çıktı">Firefox 3.5 çıktı</A> Şimdilerde hız artışını daha iyi anladığım Firefox 3.5 sürümünün çıkışı önemli idi. Şu aralar dünyada lider.</li>
</ul>
<p><strong>Temmuz</strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/firebug-1-4-surumu-cikti/" title="FireBug 1.4 sürümü çıktı">FireBug 1.4 sürümü çıktı</A> Sadece görsellik olduğunu ve bayağı bir sorun çıkardığını şimdilerde görüyorum. Beni bu sürümü ile çok üzdü. Ama yinede kalbimizdesin FireBug</li>
<li><a href="http://www.fatihhayrioglu.com/css-ipucu-22-iphone-icin-css-yazmak/" title="CSS İpucu 22: iPhone için CSS Yazmak">CSS İpucu 22: iPhone için CSS Yazmak</A> iPhone için web siteleri yaptık ama sonrasında biraz durağanlaştık.</li>
<li><a href="http://www.fatihhayrioglu.com/safari-ve-chromeda-metin-girditextbox-alanlarini-kenar-cizgileri-kaldiralim/" title="Safari ve Chrome'da metin girdi(textbox) alanlarını kenar çizgileri kaldıralım">Safari ve Chrome&#8217;da metin girdi(textbox) alanlarını kenar çizgileri kaldıralım</A> outline üzerine bir çok yazı yazmışız. Farklı tasarım uygulandığında kötü sonuçlar doğuruyor.</li>
</ul>
<p><strong>Ağustos</strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/iframe-virusu-ve-saldirgan-site-damgalamasindan-kurtulmanin-yolu/" title="iframe virüsü ve Saldırgan Site damgalamasından kurtulmanın yolu">iframe virüsü ve Saldırgan Site damgalamasından kurtulmanın yolu</A> Virüslerin artık şekil değiştirdiği artık sistemler yerine sitelere yöneldiği şu günlerde bizim gibi arayüz geliştiricilerin daha dikkatli olması gerektiğini öğrendik.</li>
</ul>
<p><strong>Eylül</strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/vmware-kurarken-setup-failed-to-write-data-to-the-registry-hatasi-aldimi/" title="VMware Kurarken “Setup failed to write data to the registry” hatası aldım">VMware Kurarken “Setup failed to write data to the registry” hatası aldım</A> Farklı yerlede ama yine sorunlar konumuz.</li>
</ul>
<p><strong>Ekim</strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/ie-6-iki-css-secicisi-sorunu-ve-cozumu/" title="İE 6 iki CSS seçicisi Sorunu ve Çözümü">İE 6 iki CSS seçicisi Sorunu ve Çözümü</A> ie6 ve sorun. ie6&#8242;dan bana çok ekmek çıkmış. Ama olmasa daha çok sevinirim.</li>
<li><a href="http://www.fatihhayrioglu.com/internet-explorer-6-ve-7-icin-tablo-tr-elementine-kenar-cizgisi-atamak/" title="İnternet Explorer 6 ve 7 için Tablo tr elementine kenar çizgisi atamak">İnternet Explorer 6 ve 7 için Tablo tr elementine kenar çizgisi atamak</A> sorunlar, sorunlar, sorunlar = ie</li>
<li><a href="http://www.fatihhayrioglu.com/jquery-ipuclari/" title="Jquery ipuçları">Jquery ipuçları</A> jquery çalışma hayatımı çok fazla etkilesede makalelerime fazla konu olamadığı kesin. 2010&#8242;da daha fazla değinmeye çalışacağım.</li>
<li><a href="http://www.fatihhayrioglu.com/font-face-kullanimi/" title="@font-face kullanımı">@font-face kullanımı</A> Çok güzel bir özellik hala bazı sorunlarıda olsa yakında daha cesurca kullanabileceğiz. Bu makale için çok zaman harcadığımı hatırlıyorum.</li>
</ul>
<p><strong>Kasım</strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/arayuz-gelistiricilerin-gorev-tanimi/" title="Arayüz Geliştiricilerin Görev Tanımı">Arayüz Geliştiricilerin Görev Tanımı</A> Bu makaleyi ilk başta yazmam gerekirdi ama sistemin oturması ve anlaşılması için zaman gerekti. Hala tam anlamıyla gerçekleşmese dahi büyük mesafe katettiğimizi düşünüyorum. </li>
<li><a href="http://www.fatihhayrioglu.com/eksi-margin-kullanimi/" title="Eksi Margin Kullanımı">Eksi Margin Kullanımı</A> Çok eski süredir bekleyen bir makale konusu idi. Önemli bir konu anlaşılması ve derinlemesine bilinmesi gereken.</li>
<li><a href="http://www.fatihhayrioglu.com/css-yorumlarinda-turkce-karakter-kullandigimizda-ie6da-sorun-cikariyor/" title="CSS Yorumlarında Türkçe Karakter Kullandığımızda İE6′da Sorun Çıkarıyor">CSS Yorumlarında Türkçe Karakter Kullandığımızda İE6′da Sorun Çıkarıyor</A> Sosyal medyanın etkilerini yavaş yavaş hissettiğim bu senede friendfeed&#8217;de boy göstermeye ve geri dönüşlerden makale çıkarmaya başladım. İkinci makalem.</li>
</ul>
<p><strong>Aralık</strong></p>
<ul>
<li><a href="http://www.fatihhayrioglu.com/ie6da-liste-ardalan-gormeme-sorunu/" title="IE6'da Liste Ardalan Görmeme Sorunu">IE6&#8242;da Liste Ardalan Görmeme Sorunu</A> Bilmiyorum bir şey yazmaya gerek var mı? ie6 = sorun</li>
<li><a href="http://www.fatihhayrioglu.com/fanatikmarslar-com-sitesinin-kodlamasi/" title="PSD'den HTML'e – fanatikmarslar.com Sitesinin Kodlaması">PSD&#8217;den HTML&#8217;e – fanatikmarslar.com Sitesinin Kodlaması</A> 2 senelik bir isteğin sonucunda sene sonunda anca çıkarabildim. Devamı 2010&#8242;da gelecek.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/fatih-hayrioglunun-not-defteri-2009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>PSD&#8217;den HTML&#8217;e &#8211; fanatikmarslar.com Sitesinin Kodlaması</title>
		<link>http://www.fatihhayrioglu.com/fanatikmarslar-com-sitesinin-kodlamasi/</link>
		<comments>http://www.fatihhayrioglu.com/fanatikmarslar-com-sitesinin-kodlamasi/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 09:13:53 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[adım adım kodlama]]></category>
		<category><![CDATA[css-kodlama-düzeni]]></category>
		<category><![CDATA[CSS-Layout]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[fanatikmarslar.com]]></category>
		<category><![CDATA[psdtohtml]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1445</guid>
		<description><![CDATA[Yaptığım bir projeyi baştan sonra anlatmak uzun süredir düşündüğüm ama yapamadığım bir işti. Son denememde direkten döndü bu sefer inşallah tamamına erdireceğiz. Fanatik Marşlar Nedir? Fanatik Marşlar, taraftar marşlarının toplantığı tüm fanatiklerin buluşma noktasıdır. Barlarda, sahalarda, tirübünlerde, maç yolunda otobüslerde, trenlerde, salonlarda, stadyumlarda kısacası taraftarların her yerde söylediği tezahüratları bulabileceğiniz, sizin de takımınız için marşınızı [...]]]></description>
			<content:encoded><![CDATA[<p>Yaptığım bir projeyi  baştan sonra anlatmak uzun  süredir düşündüğüm ama yapamadığım bir işti. Son denememde direkten döndü bu sefer inşallah  tamamına erdireceğiz. </p>
<p><strong>Fanatik Marşlar Nedir?</strong></p>
<p>Fanatik Marşlar, taraftar marşlarının toplantığı tüm fanatiklerin buluşma noktasıdır. Barlarda, sahalarda, tirübünlerde, maç yolunda otobüslerde, trenlerde, salonlarda, stadyumlarda kısacası taraftarların her yerde söylediği tezahüratları bulabileceğiniz, sizin de takımınız için marşınızı paylaşabileceğiniz bir taraftar sitesidir. </p>
<p><a href="http://televidyon.com/p/2107/fanatikmarslarcom">Ayrıca Mustafa&#8217;nın siteyi tanıttığı televidyon&#8217;daki etohum programınıda izleminizi</a> öneririm.</p>
<p>Bu projede <a href="http://www.websoldier.net/">Mustafa Özyurt</a> ve <a href="http://www.hasanyalcin.com/">Hasan Yalçın</a> ile birilikte çalıştım. İki arkadaşımada teşekkürlerimi sunarak yazıma başlıyorum. Mustafa Özyurt hem projenin sahibi, hemde programlamasını yaptı. Tasarımlarda sevgili dostum Hasan Yalçın&#8217;a ait. Bende html, css ve javascript kodunu yazdım.</p>
<p>Yazının biraz uzun olacağı ve derlemesi zaman alacağı için makaleyi üçe böldüm</p>
<ul>
<li>I -Kodlama Öncesi Hazırlıklar</li>
<li>II &#8211; Ana Sayfa Kodlaması</li>
<li>III &#8211; Alt Sayfaların Kodlaması</li>
</ul>
<h3>I &#8211; Kodlama Öncesi Hazırlıklar</h3>
<p>Projelere  başlamadan önce tüm projelerde kullandığım klasör yapısını sizlerle  paylaşmak isterim. İkonlar Windows Vista&#8217;nın kütüphanesinden, farklı  ikonlar olabilirdi ama o zaman farklı bilgisayarlara o ikonları taşımak  gerekiyor. İkon kullanmanın avantajı seçmek daha kolay oluyor. Her  klasör isminden önce rakamlar koymamın nedeni sıralamayı istediğim gibi  yapmak. Klasör ismi verirken Türkçe karakter kullanmamaya dikkat  ediyoruz. Gerçi dosyalara, klasörlere isim verirken Türkçe  kullanmayacağımızı biliyoruz. </p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/ders_01.gif"><img src="http://www.fatihhayrioglu.com/wp-content/ders_01.gif" alt="Klasör Yapısı" title="ders_01" width="151" height="114" class="aligncenter size-full wp-image-1446" /></a></p>
<p><strong>00 &#8211; Gonderilen:</strong> Bu klasöre proje için gönderilen dosyaları koyuyorum. Projenin şablon  psd&#8217;leri, içerik dokümanları(doc), resimler (jpeg, gif, png vd.),  projede geçen yazı tiplerini(ttf) bu klasöre koyuyorum.</p>
<p><strong>10 &#8211; Program:</strong> Bu kısma eskiden projede yazdığım program kodlarını koyuyordum. Son  zamanlarda pek program yazmıyorum genelde css, xhtml ve javascript  kısmını yapıyorum projelerin.  Bu klasörü şimdilerde kullandığım  eklentileri koymak için kullanıyorum. Örneğin akordiyon eklentisi,  lightbox eklentisi, galeri eklentisi vb. </p>
<p><strong>20 &#8211; Arsiv:</strong> Arşiv kısmında proje adımlarını belli aralıklarla arşivleyerek bu  klasöre koyuyorum. Ayrıca devamlı güncelleme yaptığım projelerde  güncellediğim her sayfa veya dokümanın yedeğini alıp bu klasöre  koyuyorum. Bu mesleği iş olarak edinmek isteyen herkes yedek almayı bir  görev bilmeli kendine. <strong>Yedeksiz çalışmanın bedeli çok ağır sonuçlar doğura bilir.</strong> </p>
<p><strong>30 &#8211; Musteriye:</strong> Müşteriye klasörünü yaptığım projenin, işin, güncellemenin son  dosyalarının sıkıştırılmış hallerini koyuyorum. Böylelikle çalıştığım  ve müşteriye gönderdiğim dosyaların ayrımını daha kolay yapabiliyorum.  Devamlı güncelleme yaptığım sitelerde bu klasörü daha yoğun  kullanıyorum.</p>
<p><strong>40 &#8211; HTML: </strong>Projede çalıştığım  dosyaları bu klasöre koyuyorum. html, css, javascript, resimler ve  flash dosyaları. Bu klasör içinde de bir düzenim var.  </p>
<p><strong>images:</strong> resimleri(jpeg, gif ve png) ve flash dosyalarını(.swf) buraya koyuyorum. </p>
<p><strong>scripts:</strong> javascript dosyalarını(.js) buraya koyuyorum.  </p>
<p><strong>style:</strong> css dosyalarımı buraya koyuyorum.</p>
<p>html dosyalarıda HTML klasörü içinde kalıyor. </p>
<p>Bu  genel proje standardım. Bazı projelerde bu klasör yapısı değişik  olabiliyor. Mesela resim galerisinin olduğu sitelerde images/galeri/  klasörü açıp resimleri onun içine koyuyorum. Xml&#8217;leri yoğun olarak  kullandığım projelerde bunlara ek olarak /xml/ klasörü oluşturuyorum.  Flash yoğunluklu projelerde /swf/ klasörü açıyorum. Yani projeden proje  farklılıklar gösterebiliyor, ama standardım bu.</p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/ders_02-e1262041236446.gif"><img src="http://www.fatihhayrioglu.com/wp-content/ders_02-e1262041236446.gif" alt="" title="ders_02" width="450" height="432" class="aligncenter size-full wp-image-1447" /></a></p>
<p>Buraya kadar anlattıklarım hazır klasör yapısıdır, bundan sonra projeyi kodlamaya başlamadan önceki hazırlıklar olacak.</p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/fan.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/fan-200x300.jpg" alt="" title="fan" width="200" height="300" class="aligncenter size-medium wp-image-1454" /></a>  <a href="http://www.fatihhayrioglu.com/wp-content/fan-dinle.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/fan-dinle-200x300.jpg" alt="" title="fan-dinle" width="200" height="300" class="aligncenter size-medium wp-image-1455" /></a>  <a href="http://www.fatihhayrioglu.com/wp-content/fan-gonder.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/fan-gonder-200x300.jpg" alt="" title="fan-gonder" width="200" height="300" class="aligncenter size-medium wp-image-1456" /></a>  <a href="http://www.fatihhayrioglu.com/wp-content/fan-listele.jpg"><img src="http://www.fatihhayrioglu.com/wp-content/fan-listele-200x300.jpg" alt="" title="fan-listele" width="200" height="300" class="aligncenter size-medium wp-image-1457" /></a></p>
<p>1-  İlk olarak tüm psd&#8217;leri kontrol ederek hangi bölümlerin tüm sayfalarda  aynı olduğu belirleyip ona göre kodlama yapmayı düşünüyorum. Genel bir  değerlendirme bakışıda diyebiliriz buna.</p>
<p>2- İkinci  olarak genel yapıyı görebileceğimiz bir eskiz çiziyoruz. Çizim her  zaman bize neyin nasıl olacağı ve hangi alanlarda hangi teknikleri  kullanacağımızı göstermesi bakımından önemlidir.</p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/fm_eskiz.gif"><img src="http://www.fatihhayrioglu.com/wp-content/fm_eskiz.gif" alt="" title="fm_eskiz" width="450" height="474" class="aligncenter size-full wp-image-1467" /></a></p>
<p>Her ne kadar sanal dünyada çalışıyor olsak da gerçek çizimler bize yardımcı olacaktır.</p>
<p>3- Eskizini çıkardığımız bu yapıyı sırası ile kodlamaya başlayacağız. İlk olarak boş bir html sayfası açıp index.html adı ile kaydederiz. Sonra boş bir css dosyası açarız. Aslında ilk açtığım bu boş dokümanlar bile bir şeyler içerir.</p>
<p>XHTML sayfamız</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;title&gt;FanatikMarşlar.Com&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Bu dokümanı Adobe DreamWeaver ile oluşturduğumda dw benim için oluşturuyor.  </p>
<ul>
<li>DocType olarak xhtml-strict kullanıyoruz. Doküman tipleri hakkında ayrıntılı bil için <a id="pnwt" href="http://www.fatihhayrioglu.com/dogru-doctype-kullanimi/" title="tıklayınız.">tıklayınız.</a></li>
<li>Karakter kodumuz utf-8. uft-8 seçimi bizim karakter kodu konusunda sorunsuz çalışmamız için önemlidir. Ayrıntılı bilgi için <a id="u0tq" href="http://www.makaleci.com/webmaster-yardimcisi/utf-8-nedir-kodlar-karakterler-ve-hakkinda-hersey-418.html" title="tıklayınız.">tıklayınız.</a></li>
<li>Genel html kodları (html, head ve body)</li>
</ul>
<p>İlk yaptığım iş başlık kısmını değiştirmek olur.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;title&gt;FanatikMarşlar.Com&lt;/title&gt;
</pre>
<p>Daha sonra boş bir css dokümanı oluştururum. Genelde isim verirken ana,  main, iskelet, veya sirket_adi nokta css şeklinde tanımlarım bu seferde  site ismini tanımlıyorum <strong>fanatikmarslar</strong><strong>.css</strong> Oluşturduğum bu dokümana sırası ile imza alanımı ve sıfırlama kodlarını ekliyorum.</p>
<pre class="brush: css; title: ; notranslate">
/************************
************************
Fanatik Marşlar - http://fanatikmarslar.com/
fatih hayrioglu
24 Eylul 2009
ie6, ff, opera, chrome, safari
************************
************************/
</pre>
<p>Bunu benim imzam olarak nitelendirebilirsiniz. Genelde tüm projelerime eklerim. Bazılarında unuttuğumda oluyor. Daha  sonra css sıfırlama kodlarını ekleyelim. Ben genelde standart sıfırlama  tekniklerini kullanmam kendi ufak bir iki tekniğim vardır onları yazar  geçerim. Ama bu sefer bazı sıfırlama kodlarının  elenmiş halini  kullandım ve koduma ekledim. Bide kapsayamama sorunu kodunu ekledim.</p>
<pre class="brush: css; title: ; notranslate">
/* Css Sifirlama */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; text-decoration:none;}

body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
/* remember to define focus styles! */
:focus, a:focus, a:active{    outline: 0; }

/* remember to highlight inserts somehow! */
ins{ text-decoration: none; }
del{ text-decoration: line-through; }

/* tables still need 'cellspacing=&quot;0&quot;' in the markup */
table{border-collapse: collapse; border-spacing: 0;}

/* float uygulanan elemanları kapsayamama sorunu */
.kapsayamamaSorunu:after {content: &quot;.&quot;; display: block; height: 0; clear: both; visibility: hidden;}
.kapsayamamaSorunu {display: inline-block;}
/* IE-mac de bu bolumu sakla \ */
* html .kapsayamamaSorunu {height: 1%;}
.kapsayamamaSorunu {display: block;}
/* IE-mac bu bolumu saklam artik */

/* Css Sifirlama */
</pre>
<p>CSS  sıfırlama tekniğini kısaca açıklarsak; Farklı tarayıcılarda farklı  şekillerde yorumlanan html elemanlarının özelliklerini her tarayıcıda  aynı görünmesini sağlayacak kodlara sıfırlama denir. Bu sayede her  tarayıcıda bu elemanlar aynı sıfır noktasına gelecektir. Örneğin  p{margin:0; padding:0}</p>
<p>Daha sonra xhtml sayfamıza css kodumuzu ekleyelim.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
@import url(&quot;style/fanatikmarslar.css&quot;);
--&gt;
&lt;/style&gt;
</pre>
<p>Bundan  sonra genelde ben psd&#8217;yi açıp sırası ile eskizde çizdiğim yapıya uygun  olarak kodlamama başlarım. Bunun dışında bir yöntem daha vardır ki ben  genelde bu yönteme başvurmuyorum. Genel sayfa yapısını içeren  kısımlar(üst alan, promo alanı, içerik alanı alt alan vb.) kodlanır ve  içleri doldurulur. Dediğim gibi ben psd yi açarak sırası ile kodlamaya başlarım. </p>
<p>Tasarımlara  bakınca site genel olarak anasayfadaki üç kolonlu yapı ve alt sayfadaki  iki kolonlu yapı olarak ikiye ayrılıyor. Ana Sayfa kodlaması ile  başlayalım</p>
<p>Bir sonraki makalede kaldığımız yerden devam edeceğiz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/fanatikmarslar-com-sitesinin-kodlamasi/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Arayüz Geliştiricilerin Görev Tanımı</title>
		<link>http://www.fatihhayrioglu.com/arayuz-gelistiricilerin-gorev-tanimi/</link>
		<comments>http://www.fatihhayrioglu.com/arayuz-gelistiricilerin-gorev-tanimi/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 21:36:52 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[arama motoru]]></category>
		<category><![CDATA[arayüz-geliştiriciler]]></category>
		<category><![CDATA[Erişebilirlik]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1364</guid>
		<description><![CDATA[Şu anki bulunduğum durum ve FirendFeed&#8217;deki Arayüz Geliştiricileri grubunun etkisi ile bu yazıyı yazmayı düşündüm. Bir çok şirket eleman ararken bazı şartları ileri sürüyor, peki bunlar ne kadar gerçekçi. Bir listede ben çıkardım, sizlerde katkıda bulunursanız Arayüz Geliştiricilerini Görev Tanımı&#8217;nı çıkarmış oluruz. Aslında bundan önce bir web ajansının yapısını ve iş akışını çıkarmak gerekir ve [...]]]></description>
			<content:encoded><![CDATA[<p>Şu anki bulunduğum durum ve <a href="http://friendfeed.com/arayuz-gelistiriciler" title="FirendFeed'deki Arayüz Geliştiricileri">FirendFeed&#8217;deki Arayüz Geliştiricileri</a> grubunun etkisi ile bu yazıyı yazmayı düşündüm. Bir çok şirket eleman ararken bazı şartları ileri sürüyor, peki bunlar ne kadar gerçekçi. Bir listede ben çıkardım, sizlerde katkıda bulunursanız Arayüz Geliştiricilerini Görev Tanımı&#8217;nı çıkarmış oluruz. </p>
<p>Aslında bundan önce bir web ajansının yapısını ve iş akışını çıkarmak gerekir ve buna göre görev tanımları yapılmalıdır, ama o biraz daha kapsamlı bir iş.</p>
<p>Bizim memlekette genelde bir iş yapılır daha sonra standartları yerleşir. Aynı durum web mecrasında da var. Bir çok kişi bu mecrada çalışmasına ve bir sektör oluşmasına rağmen iş akışı ve görev tanımları tam olarak oturmamıştır. Ben yaklaşık 10 senelik bir çalışma hayatımdaki yaşadıklarım ve okuduklarım ile Arayüz Geliştiricileri için şöyle bir liste çıkardım;</p>
<ul>
<li><strong>HTML bilmek:</strong> Çok iyi derecede HTML bilmelidir ve uygulamada gereksiz kod yığınlarında kaçınmalıdır.</li>
<li><a href="http://www.fatihhayrioglu.com/css-dersleri/"><strong>CSS Bilmek:</strong> Çok iyi derecede CSS bilmelidir. Katman tabanlı kodlamayı bilmelidir. Tablosuz sayfa yapısını tasarlamalıdır.</a></li>
<li><strong>Javascript:</strong> Çok iyi derecede javascript bilmelidir. Ajax ve  javascript kütüphanelerinden birine(jquery, mootools, vd.) hakim olmalı ve uygulama geliştirebilmelidir.</li>
<li><strong>Gelişmiş Kod Yazma:</strong> Arama motorlarına, erişebilirlik ilkelerine, farklı platform ve tarayıcılara uygun kod yazmalıdır. En az kod ile en yüksek performansı almalıdır.</li>
<li><strong>İçerik Yönetim Sistemleri:</strong> Şirket içi CMS vb. içerik yönetim sistemlerini bilmeli ve kullanmalıdır.</li>
<li><strong>Mailing:</strong> Mailing standartların bilemeli ve buna uygun mailing kodları hazırlamalıdır. <a href="http://www.fatihhayrioglu.com/html-mailing-1-mailing-kodlarken-dikkat-edilmesi-gerekenler/">HTML Mailing -1: Mailing Kodlarken Dikkat Edilmesi Gerekenler</a> | <a href="http://www.fatihhayrioglu.com/html-mailing-2-mailing-html-kodunun-yazilmasi/">HTML Mailing 2 – Mailing HTML Kodunun Yazılması</a></li>
<li><strong>Görsel Araçlar:</strong> Adobe Photoshop, Firework veya benzeri bir programı kendi işini yapacak kadar bilmelidir.</li>
<li><strong>Takım Çalışması:</strong> Takım çalışmalarına uyumlu olmalıdır. Proje Yöneticisi, tasarımcı, flashçı ve programcılar ile etkileşimli çalışmalıdır.</li>
<li><a href="http://www.fatihhayrioglu.com/yeniliklerin-takibi-ve-google-reader/"><strong>Yenilikçi:</strong> Web mecrasındaki gelişmeleri takip etmeli ve uygulamalarında bu yenilikleri gerektiğinde kullanmalıdır.</a></li>
<li><strong>Yabancı Dil:</strong> En az yenilikleri takip edecek kadar İngilizce bilmelidir.</li>
<li><strong>Sunucu Taraflı Diller:</strong> Asp.Net, PHP vb. sunucu taraflı dillerin genel mantığını bilmelidir.<BR>
      </li>
</ul>
<p>Bu liste tasarımcı, programcı, flashçı ve Arayüz geliştirici ayrımını yapabilmiş şirketler için geçerlidir. Memlekette hala bu ayrımı yapmamış şirketlerin olması üzücü. Ayrıca yukarıda tanımladığımız Arayüz Geliştiricilerinin Görev Tanımı zamanla gelişebilir. Örneğin Arama motoruna uygunluk ve erişebilirlik ve javascript  için gelecekte ayrı birimler kurulabilir. Daha da ileri gidip jquery geliştirici bile aranabilir. Malum sektör hızlı gelişiyor.</p>
<ul>
<li><A id="ry6p" href="http://v1.garrettdimon.com/archives/the-time-is-now-for-front-end-architects" title="http://v1.garrettdimon.com/archives/the-time-is-now-for-front-end-architects">http://v1.garrettdimon.com/archives/the-time-is-now-for-front-end-architects</A></li>
<li><A id="hzcs" href="http://www.cherny.com/webdev/105/front-end-web-designers-developers-and-engineers" title="http://www.cherny.com/webdev/105/front-end-web-designers-developers-and-engineers">http://www.cherny.com/webdev/105/front-end-web-designers-developers-and-engineers</A></li>
<li><A id="za:n" href="http://fuelyourcoding.com/steps-to-becoming-a-front-end-web-developer/" title="http://fuelyourcoding.com/steps-to-becoming-a-front-end-web-developer/">http://fuelyourcoding.com/steps-to-becoming-a-front-end-web-developer/</A></li>
<li><A id="hbpp" href="http://onlinetools.org/articles/fed2.html" title="http://onlinetools.org/articles/fed2.html">http://onlinetools.org/articles/fed2.html</A></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/arayuz-gelistiricilerin-gorev-tanimi/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>CSS İpucu 22: iPhone için CSS Yazmak</title>
		<link>http://www.fatihhayrioglu.com/css-ipucu-22-iphone-icin-css-yazmak/</link>
		<comments>http://www.fatihhayrioglu.com/css-ipucu-22-iphone-icin-css-yazmak/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 10:38:55 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1287</guid>
		<description><![CDATA[Gelişen ve yaygınlaşan mobil cihazlar bizlere bir mecra daha açacağa benziyor. Gelecekte etkisini daha çok hissettirecek cep telefonu vb. ürünlerden internete girme isteği. Şimdilerde kendini gösteriyor. Benim size burada bahsedeceğim ipucu küçük ama kullanışlı bir ipucu olacaktır. Bir kaç sitede gördükten sonra ve bende bir iphone projesine başlayacak olmamdan dolayı buraya eklemeyi uygun gördüm. Daha [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.fatihhayrioglu.com/wp-content/apple-iphone.jpg" alt="apple-iphone" title="apple-iphone" width="250" height="246" class="alignright size-full wp-image-1291" />Gelişen ve yaygınlaşan mobil cihazlar bizlere bir mecra daha açacağa  benziyor. Gelecekte etkisini daha çok hissettirecek cep telefonu vb.  ürünlerden internete girme isteği. Şimdilerde kendini gösteriyor. Benim  size burada bahsedeceğim ipucu küçük ama kullanışlı bir ipucu  olacaktır.</p>
<p>Bir kaç sitede gördükten sonra ve bende bir iphone projesine başlayacak olmamdan dolayı buraya eklemeyi uygun gördüm. Daha önce <a title="çıktı almak için(print)" href="http://www.fatihhayrioglu.com/cssde-cikti-alma-print/">çıktı almak için(print)</a> benzer bir yapıyı kullanmıştık. </p>
<p>Kodumuz çok basit</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!--[if !IE]&gt;–&gt;
&lt;link media=&quot;only screen and (max-device-width: 480px)&quot; href=&quot;iPhone.css&quot; type=&quot;text/css&quot; rel=&quot;stylesheet&quot; /&gt;
&lt;!–&lt;![endif]–&gt;
</pre>
<p>veyahut</p>
<pre class="brush: css; title: ; notranslate">
@media only screen and (max-device-width: 480px) {
  body {color:#000;}
}
</pre>
<p>şeklinde bir tanımlamada yapabiliyoruz. İlk koddaki ie şartlı koşulu bazı eski ie sürümlerinde bu kodu algılama durumu içindir.</p>
<p>Yukarıdaki tanımlar sadece iPhone&#8217;da görünecektir. İşin püf noktasını <strong>max-device-width: 480px</strong> kısmı oluşturuyor.</p>
<h3><strong>Kaynaklar</strong></h3>
<ul>
<li><a title="http://www.w3.org/TR/css3-mediaqueries/" href="http://www.w3.org/TR/css3-mediaqueries/">http://www.w3.org/TR/css3-mediaqueries/</a></li>
<li><a title="http://www.evotech.net/blog/2007/07/web-development-for-the-iphone/" href="http://www.evotech.net/blog/2007/07/web-development-for-the-iphone/">http://www.evotech.net/blog/2007/07/web-development-for-the-iphone/</a></li>
<li><a title="http://squaregirl.com/blog/2009/6/1/iphone-css.html" href="http://squaregirl.com/blog/2009/6/1/iphone-css.html">http://squaregirl.com/blog/2009/6/1/iphone-css.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/css-ipucu-22-iphone-icin-css-yazmak/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Sayfa Dibine Yapışık Alt Alanlar(Sticky Footer)</title>
		<link>http://www.fatihhayrioglu.com/sayfa-dibine-yapisik-alt-alanlarsticky-footer/</link>
		<comments>http://www.fatihhayrioglu.com/sayfa-dibine-yapisik-alt-alanlarsticky-footer/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 11:58:39 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[alta-yapışık-alanlar]]></category>
		<category><![CDATA[kapsayamama-sorunu]]></category>
		<category><![CDATA[sticky-footer]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1161</guid>
		<description><![CDATA[Bir çok sitede karşılaştığımız sayfanın dibine yapışık alt kısımları bu makalede anlatmaya çalışacağım. Bunu hiç javascript kullanmadan sadece css yardımı ile yapacağız. Site içeriğinin az olduğu durumlarda sayfanın alt kısımları normal akış içerisinde ise yukarı doğru kayacaktır ve hoş olmayan görüntülere neden olacaktır. Bu gibi durumları engellemek için sayfamızın alt kısımlarını sayfa dibine yapıştırmalıyız, böylece [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.fatihhayrioglu.com/wp-content/yapisik_altalan.gif" alt="yapisik_altalan" title="yapisik_altalan" width="233" height="323" class="alignright size-full wp-image-1166" />Bir çok sitede karşılaştığımız sayfanın dibine yapışık alt  kısımları bu makalede anlatmaya çalışacağım. Bunu hiç javascript  kullanmadan sadece css yardımı ile yapacağız.</p>
<p>Site  içeriğinin az olduğu durumlarda sayfanın alt kısımları normal akış  içerisinde ise yukarı doğru kayacaktır ve hoş olmayan görüntülere neden  olacaktır. Bu gibi durumları engellemek için sayfamızın alt kısımlarını  sayfa dibine yapıştırmalıyız, böylece sayfa içeriğinin az olması ve çok  olması durumunda  alt kısmın yerini aynı olacaktır.</p>
<p>Bu işi  yapmak için bir kaç türlü yöntem geliştirilmiştir, mantık olarak aynı  olan bu yöntemlerde farklı tarayıcılardaki sorunlara çözüm bulmak için  farklılıklar içerir. Ben bunlarda bazıları çeşitli projelerimde  uyguladım, ancak makaleyi yazarken en iyisi hangisi ise onu yazmaya  karar verdim. <a title="cssstickyfooter.com" href="http://www.cssstickyfooter.com" id="zf92">cssstickyfooter.com</a>&#8216;um anlattığı yöntem benim gördüğüm en iyi yöntem.</p>
<p>Kodumuzu yazmaya başlarsak.</p>
<p>XHTML kodu:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;kapsul&quot;&gt;
    &lt;div id=&quot;ustAlan&quot;&gt;
		&lt;h1&gt;Lorem ipsum dolor sit amet&lt;/h1&gt;
    &lt;/div&gt;
    &lt;div id=&quot;icerikAlani&quot;&gt;
        &lt;div id=&quot;icerik&quot;&gt;
        &lt;/div&gt;

        &lt;div id=&quot;icerikSagAlani&quot;&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;altAlan&quot;&gt;
&lt;/div&gt;
</pre>
<p>XHTML kodunda dikkate değer olan kısım içerik alanı ve alt alanı iki farklı bölüm olarak kodlamamız. <strong>altAlan</strong> ve diğer alanları kapsayan bir kapsayıcı katmandan(<strong>#kapsul</strong>) oluşuyor kodumuz. Bizim yaptığımız örnekte üst alanı ve iki kolonlu içerik kısmını kapsayıcı katman içine alıyoruz.</p>
<p>CSS Kodu</p>
<pre class="brush: css; title: ; notranslate">
html, body, #kapsul {height: 100%;}
body &gt; #kapsul {height: auto; min-height: 100%;}
#icerik {padding-bottom: 133px;} /* altAlan yukseligi ile ayni olmali */
#altAlan {
	position: relative;
    margin-top: -133px; /* altAlan yuksekliginin eksi degeri */
    height: 133px;
    clear:both;
}
</pre>
<p>Buradaki 133px tanımına dikkat etmemiz gerekiyor. 133px altAlan yüksekliğidir ve 3 yerde birden aynı değeri kullandığımıza dikkat edeniz.</p>
<p>Kodu incelersek birinci ve ikinci satırda yüksekliklerin tüm alanı kapsaması için farklı tarayıcılar için %100 tanımını yapıyoruz.</p>
<p>3. satırda alta yapışık alan kadar padding değeri vererek içerik kısmının alt kısmın altında kalmasını engelliyoruz.</p>
<p>4-8 satır arasında alt alan tanımlarımızı yapıyoruz. Göreceli konumlandırdığımız alanı içerik alanında padding-bottom değeri ile açtığımız boşluğa yerleştirmek için negatif üst kenar boşluğu değeri veriyoruz. </p>
<p>Bu yöntemde float uygulanmış içerik kısmında tam alanı kapsayamama sorunu  ile karşılaşıyoruz. Float uygulanmış alanların kapsayamama sorunu  çözmek için <a title="http://www.fatihhayrioglu.com/float-uygulanmis-elementleri-tam-kapsayamama-sorunu/" href="http://www.fatihhayrioglu.com/float-uygulanmis-elementleri-tam-kapsayamama-sorunu/">http://www.fatihhayrioglu.com/float-uygulanmis-elementleri-tam-kapsayamama-sorunu/</a> makalemiz anlattığımız yöntemi kullanıyoruz.</p>
<pre class="brush: css; title: ; notranslate">
.kapsayamamaSorunu:after {content: &quot;.&quot;; display: block; height: 0; clear: both; visibility: hidden;}
.kapsayamamaSorunu {display: inline-block;}
/*IE-mac de bu bolumu sakla \ */
* html .kapsayamamaSorunu {height: 1%;}
.kapsayamamaSorunu {display: block;}
/* IE-mac bu bolumu saklam artik */
</pre>
<p>Bu sınıfı tanımlıyoruz ve içeriği kapsayan(#icerikAlani) katmana atıyoruz.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;kapsul&quot;&gt;
    &lt;div id=&quot;ustAlan&quot; class=&quot;kapsayamamaSorunu&quot;&gt;
		&lt;h1&gt;Lorem ipsum dolor sit amet&lt;/h1&gt;
    &lt;/div&gt;
    &lt;div id=&quot;icerikAlani&quot; class=&quot;kapsayamamaSorunu&quot;&gt;
        &lt;div id=&quot;icerik&quot;&gt;
        &lt;/div&gt;

        &lt;div id=&quot;icerikSagAlani&quot;&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;altAlan&quot;&gt;
&lt;/div&gt;
</pre>
<p>Bu yöntemin ryanfait.com&#8217;un yöntemine göre en büyük avantajı bence  ryanfait.com&#8217;un yöntemindeki anlamsız tampon katmanı gibi bir fazla  kodlamadan kaçınış oluyoruz.</p>
<p>Örneği görüntülemek için <a href="/dokumanlar/sayfa_dibine_yapisik.html">tıklayınız.</a></p>
<h3>Sorunlar ve Çözümleri</h3>
<p>-  Benim kullandığım projede body ve üstAlan&#8217;daki margin-top değeri sorun  çıkardı. Bunun yerine padding kullanarak sorunu çözdüm. Üst kısım  body&#8217;deki margin-top ve margin-bottom tanımları sorun çıkarıyor, bunun  yerine padding kullanın.</p>
<p>- Ayrıca yazı tipi boyutunu büyük  kullanmak isteyen kullanıcılarda sorun çıkabileceği söyleniyor. Eğer  yazı tipi boyutunu piksel(px) vb. kesin değerler ile belirlerseniz bu  tip sorunları engelleyebilirsiniz.</p>
<p>- Son olarakta asp.net ile  oluşturulan sayfalarda &lt;form&gt; elemanı ile kapsanan sayfanızda  sorun çıkabilir. Bunu engellemek için kodunuzu</p>
<pre class="brush: css; title: ; notranslate">
	html, body, form, #kapsul {height: 100%;}
</pre>
<p>şeklinde değiştirmelisiniz. <a title="http://www.cssstickyfooter.com/using-sticky-footer-code.html" href="http://www.cssstickyfooter.com/using-sticky-footer-code.html"></a></p>
<h3>Kaynaklar</h3>
<ul>
<li><a title="http://www.cssstickyfooter.com/" href="http://www.cssstickyfooter.com/">http://www.cssstickyfooter.com/</a></li>
<li><a title="http://www.lwis.net/journal/2008/02/08/pure-css-sticky-footer/" href="http://www.lwis.net/journal/2008/02/08/pure-css-sticky-footer/">http://www.lwis.net/journal/2008/02/08/pure-css-sticky-footer/</a></li>
<li><a title="http://ryanfait.com/resources/footer-stick-to-bottom-of-page/" href="http://ryanfait.com/resources/footer-stick-to-bottom-of-page/">http://ryanfait.com/resources/footer-stick-to-bottom-of-page/</a>
    </li>
<li><a title="http://cokbasit.blogspot.com/2009/01/yapkan-taban-sticky-footer.html" href="http://cokbasit.blogspot.com/2009/01/yapkan-taban-sticky-footer.html">http://cokbasit.blogspot.com/2009/01/yapkan-taban-sticky-footer.html</a></li>
<li><a title="http://css-tricks.com/sticky-footer/" href="http://css-tricks.com/sticky-footer/">http://css-tricks.com/sticky-footer/</a></li>
<li><a title="http://www.waycoolwebdesign.com/Blog/2008/11/15/CSS-Sticky-Footer" href="http://www.waycoolwebdesign.com/Blog/2008/11/15/CSS-Sticky-Footer">http://www.waycoolwebdesign.com/Blog/2008/11/15/CSS-Sticky-Footer</a></li>
<li><a title="http://stever.ca/web-design/css-sticky-footer/" href="http://stever.ca/web-design/css-sticky-footer/">http://stever.ca/web-design/css-sticky-footer/</a></li>
<li><a title="http://brassblogs.com/blog/sticky-footer" href="http://brassblogs.com/blog/sticky-footer">http://brassblogs.com/blog/sticky-footer</a></li>
<li><a title="http://www.davidjrush.com/blog/2009/01/css-sticky-footer/" href="http://www.davidjrush.com/blog/2009/01/css-sticky-footer/">http://www.davidjrush.com/blog/2009/01/css-sticky-footer/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/sayfa-dibine-yapisik-alt-alanlarsticky-footer/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>CSS Kod Yazma Düzeni</title>
		<link>http://www.fatihhayrioglu.com/css-kod-yazma-duzeni/</link>
		<comments>http://www.fatihhayrioglu.com/css-kod-yazma-duzeni/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 14:08:09 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS kodlarını optimize etmek]]></category>
		<category><![CDATA[css-kodlama-düzeni]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[standart]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1116</guid>
		<description><![CDATA[CSS yazarken bazı kurallar koyarsak ve bu kurallara göre kodumuzu yazarsak bir çok konuda yararını göreceğiz. Daha hızlı kod yazma: Belli bir standardınız oluşturunca kod yazmak daha hızlı olacaktır. Birden fazla kişinin çalıştığı durumlarda kolaylık sağlar: Aynı kodlama düzenine sahip olmak beraber çalışmayı kolaylaştırır. Koordinasyonu arttırır. Daha okunabilir kodlar elde ederiz. Daha performanslı sayfalar elde [...]]]></description>
			<content:encoded><![CDATA[<p>CSS yazarken bazı kurallar koyarsak ve bu kurallara göre kodumuzu yazarsak bir çok konuda yararını göreceğiz.</p>
<ul>
<li>Daha hızlı kod yazma: Belli bir standardınız oluşturunca kod yazmak daha hızlı olacaktır.</li>
<li>Birden  fazla kişinin çalıştığı durumlarda kolaylık sağlar: Aynı kodlama  düzenine sahip olmak beraber çalışmayı kolaylaştırır. Koordinasyonu  arttırır.</li>
<li>Daha okunabilir kodlar elde ederiz.</li>
<li>Daha performanslı sayfalar elde ederiz.</li>
<li>Daha  sonra kodları güncellememiz gerektiğinde bize kolaylıklar sağlar.  Mesela bir projeyi bitirdik 3-4 ay sonra değişiklik geldiğinde  düzenimiz standart olduğu için düzeltmelerimizi daha kolay yaparız.</li>
</ul>
<p>CSS  kodu yazarken bazı standartlar oluşturmanın avantajlarından bahsettik  yukarıda. Peki bu standartlar nasıl olmalı neler yapmalıyız ki optimum  kod elde edelim. </p>
<p><img src="http://www.fatihhayrioglu.com/wp-content/css_duzenleme2.gif" alt="css_duzenleme2" title="css_duzenleme2" width="540" height="279" class="alignnone size-full wp-image-1128" /></p>
<h3>1. CSS doküman indeksini oluşturun</h3>
<p>CSS  dokümanınız indeksini hazırlayınız. Büyük projelerde tercih edilecek  bir husus bence. Şimdiye kadar hiç uygulamadım ama büyük projelerde  uygulamanın yararlı olacağını düşündüğüm bir uygulama</p>
<pre class="brush: css; title: ; notranslate">
/*------------------------------------------------------------------
[CSS Kod indeksi]
1. Body
2. Üst Alan / #ustAlan
2.1. Menü / #menu
3. İçerik Alanı / #icerik
	3.1. Sol Kolon / #solKolon
	3.2. Sidebar / #yanKolon
		3.2.1. RSS / #rss
		3.2.2. Arama / #arama
		3.2.3. Kutular / .kutu
4. Alt Alan / #altAlan
-------------------------------------------------------------------*/
</pre>
<h3>2. CSS dokümanınıza imzanızı atın</h3>
<p>Kod  yazarının veya yazarlarının imzası ve genel bilgilerini yazarak  kodlarımızı başlamalıyız.(Bende bunu ara sıra unutuyorum. Ama unutmamak  gerekli) </p>
<pre class="brush: css; title: ; notranslate">
/************************
************************
MYK Medya - http://myk-medya.com/
yahoyt.com
fatih hayrioglu
28 Mayis 2009
ie6, ff, opera. chrome, safari
************************
************************/
</pre>
<h3>3. Seçici isimlendirirken standart ve anlamlı isimler verin</h3>
<p>Seçici isimleri ve genel isimlendirmede bir standardı oturtun.</p>
<p>Anlamlı  isimler verin. Anlamlı isimler vermek kod yazarken ve daha sonrası için  çok büyük kolaylık sağlayacaktır. XHTML kodların nasıl bir anlamı(body,  p, form vd.) varsa, kendi oluşturduğumuz seçici isimlerinde bir anlamı  olması mantıklıdır.</p>
<p><strong>#maviKutu</strong> yerine <strong>#haberKutusu</strong> veya <strong>#haberAlani</strong> tanımı daha mantıklı ve anlamlı bir isimlendirmedir.</p>
<p>İsimlendirmede  bir standardınız olsun. Benim standardım bu konuda ilk harf küçük,  sonraki kelimelerin baş harfi büyük ile başlar ve bitişik yazılır.</p>
<pre class="brush: css; title: ; notranslate">
#icerikOzu{..}
#solIcerikAlani{..}
</pre>
<p>Bu  benim standardım. Başka türlü standartlarda vardır. Her kesin kendince  bir standardı olabilir. Mesela alt çizgiyle ayıranlar var. (-)Tire ile  ayıranlar var.</p>
<pre class="brush: css; title: ; notranslate">
#icerik_ozu{..}
#sol-icerik-alani{..}
</pre>
<p>Bu  standardı herkes kendince yapabilir. Benim önerim aynı projede çalışan  insanların aynı kodlama yöntemini kullanması, diğer türlü pek hoş  olmuyor. Göz aşina olmayınca bir eksik hissediyor insan kod yazarken.</p>
<h3>4. Kısaltma kullanın.</h3>
<p>CSS tanımlarında kısaltmaları kullanın. CSS kısaltmaları hakkında daha fazla bilgi için <a title="http://www.fatihhayrioglu.com/cssde-kisaltmalar/" href="http://www.fatihhayrioglu.com/cssde-kisaltmalar/" >http://www.fatihhayrioglu.com/cssde-kisaltmalar/</a> okumanızı tavsiye ederim.</p>
<pre class="brush: css; title: ; notranslate">
font-weight: bold;
font-family: verdana, sans-serif;
font-size: 11px;
line-height: 15px;
</pre>
<p>yerine</p>
<pre class="brush: css; title: ; notranslate">
font: bold 11px/15px verdana, sans-serif;
</pre>
<h3>5. CSS dokümanlarınızı anlamlı bölümlere ayırın.</h3>
<p>Büyük projelerde css dokümanlarını birden fazla bölümlere ayırarak daha düzenli ve kolay kodlanabilir dokümanlar elde ederiz.</p>
<pre class="brush: css; title: ; notranslate">
@import url(/css/iskelet.css);
@import url(/css/fontlar.css);
@import url(/css/renkler.css);
@import url(/css/sifirlama.css);
</pre>
<p>Ben  yukarıdaki yöntemi genelde çok büyük projelerde kullanmayı tercih  ediyorum. Normalde ve genellikle tek ve iki css dokümanı ile projeyi  bitiriyorum. Performans açısından bu daha iyi ayrıca.</p>
<p>Eğer CSS sıfırlama tekniklerinden birini kullanacaksam Bunu imzadan sonraya yazmak. Yada site genel tanımlarını başa yazmak. <a title="YUI CSS REset" href="http://developer.yahoo.com/yui/reset/" >YUI CSS Reset</a> ve <a title="Eric Meyer" href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/" >Eric Meyer</a>&#8216;in ki var mesela.</p>
<pre class="brush: css; title: ; notranslate">
/************************
************************
MYK Medya - http://myk-medya.com/
fatih hayrioglu
28 Mayis 2009
ie6, ff, opera. chrome, safari
************************
************************/

body{margin:0; padding:0;}
ul{margin:0; padding:0; list-style:none;}

/*kapsayamam sorunu */
.kapsayamamaSorunu:after {content: &quot;.&quot;; display: block; height: 0; clear: both; visibility: hidden;}
.kapsayamamaSorunu{display: inline-block;}
/* IE-mac de bu bolumu sakla \ */
* html .kapsayamamaSorunu{height: 1%;}
.kapsayamamaSorunu {display: block;}
/* IE-mac bu bolumu saklam artik */
/*kapsayamam sorunu */
</pre>
<h3>6. Her satıra bir tanım yöntemini kullanın</h3>
<p>CSS özelliği tanımlarken her satıra bir tanım yazarak daha uygun kod elde edebiliriz.</p>
<p>Ben daha önce her satıra bir özellik tanımı yapıyordum.</p>
<pre class="brush: css; title: ; notranslate">
#aramaAlani{
    float:left;
    width:265px;
    background-color:#fff;
    border:3px solid #525252;
}
</pre>
<p>Bu yöntemde kod açık ve görüntü olarak daha kullanışlı  görünse de, fazla boşluklar sorun oluşturmaya başladı. CSS kodları çok  uzayınca kaydırma çubuğu ile çok aşağılara in yukarı çık zaman kaybına  neden oluyordu.</p>
<p><strong>Her Satırda Bir Tanım Yapma Yöntemi</strong></p>
<p>Bende  her satıra bir tanım yöntemini kullanmaya başladım. Aslında benim bu  yönteme ilk geçme nedenim olan optimizasyonda css kodlarımı optimize  ederken fazla boşluklardan kurtulmam gerektiğiydi. Daha sonra bu  yöntemin daha avantajlı olduğunu gördüm, ayrıca daha derli toplu kodlar oluşturmama  yaradı. Bundan sonra böyle kod yazamaya başladım. </p>
<pre class="brush: css; title: ; notranslate">
#anaKapsul{...}    
#ustalan{...}    
#icerikAlani{...}    
#solIcerikAlani{...}    
#sagIcerikAlani{...}
#altAlan{...}   
</pre>
<p>Kodlarımızın daha  okunabilir olması içinde girintili bir yapıyı tercih etmeliyiz.</p>
<pre class="brush: css; title: ; notranslate">
#icerikAlani{float:left; clear:left; padding-top:20px;}   
	#solIcerikAlani{float:left; width:647px; margin-right:13px}
		#icerikOzu{float:left; clear:left; margin-top:20px}   
	#sagIcerikAlani{float:left; width:300px; margin:0;}  
</pre>
<h3>7. Kodlarınızı yorum satırları ile açıklayıcı hale getirin.</h3>
<p>Kodumuzun  anlaşılabilir olması için yorum satırları eklemeliyiz. Bölümleri ve özel  alanları yorum kodu ile belirleyerek anlaşılabilirliği arttırabiliriz.  Böylelikle bölümler arasında daha kolay ayrım yapabiliriz. Kod  okunabilirliği daha fazla olacaktır.</p>
<pre class="brush: css; title: ; notranslate">
#anaKapsul{margin:0 auto; width:960px;}    
/**************************************************** ustalan   */
#ustalan{padding-top:20px;}

/**************************************************** icerikAlani   */
#icerikAlani{float:left; clear:left; padding-top:20px;}

/*sol icerik alani */    
	#solIcerikAlani{float:left; width:647px; margin-right:13px}
		#icerikOzu{float:left; clear:left; margin-top:20px}

/* sagIcerikAlani */

	#sagIcerikAlani{float:left; width:300px; margin:0;}       
</pre>
<h3>8. CSS özellik tanımlarını sıralayın.</h3>
<p>Özellik  tanımlarında sıralama uygulayın. Özellik tanımlarında şablon  tanımlarını başta yazmak. CSS tabanlı kodlama yazarken site yapısını  oluşturan özellikler(float, width, height gibi özellikleri) ilk sırada  yazıp sonra diğer özellikleri yazmayı tercih ediniz.</p>
<pre class="brush: css; title: ; notranslate">
#solIcerikAlani{float:left; width:647px; margin-right:13px}
</pre>
<p>Burada bir diğer  yöntemde özellikleri alfabetik sıraya göre yazmaktır. Buradaki amaç bir standart oluşturup göz aşinalığı sağlamak ve  böylelikle daha hızlı kod yazmaktır.</p>
<p>Sıralayı şöyle yapmak mantıklı olacaktır.</p>
<ul>
<li>Konumlandırma, boyutlar (width, height, position, float, clear)
  </li>
<li>Kenar için ve kenar dışı boşluklar ve kenar dışı çizgisi (margin, padding, border)</li>
<li>Metin tanımları (font, line-height, color)
  </li>
<li>Diğer özellikler
  </li>
</ul>
<h3>9. Çalışma gruplarınızda ortak standardınızı oluşturun.</h3>
<p>Bir  projede beraber çalıştığınız insanlarla aynı kodlama düzeninde  çalışması çok önemlidir. Projede çalışan kişilerin bir araya gelip  ortak bir düzen oluşturmaları ve projede bu düzen üzerine çalışmaları  herkes açısından büyük katkı sağlayacaktır. Ayrıca css  düzeltmelerinde(hack) de aynı şey söz konusu. Mümkünse aynı css  düzeltmelerini kullanmanız ortak çalışılan projelerde size kolaylık  sağlayacaktır.</p>
<h3>10. CSS Editör araçlarından yararlanın</h3>
<p>Daha öncede <a title="yazdığım" href="http://www.fatihhayrioglu.com/css-editorleri/" >yazdığım</a> gibi css editörü olarak Adobe Dreamweaver kullanıyorum. Bunun bir kaç  sebebi var. Eskiden beri kullana gelmenin verdiği bir el alışkanlığı.  CSS ve son sürümde de javascript editör kısımların gayet güzel  çalışması.</p>
<p>Gelelim CSS Editörlerinin bizim CSS düzenine katkılarına</p>
<p><strong>10.1</strong> Otomatik  tamamlama özelliği bize kod yazarken çok yardımcı oluyor. Bu özellik  kod yazma hızımızı arttırıyor ve yanlış yazımları engelliyor. </p>
<p><img src="http://www.fatihhayrioglu.com/wp-content/dw_duz_01.gif" alt="dw_duz_01" title="dw_duz_01" width="400" height="217" class="alignnone size-full wp-image-1118" /></p>
<p><strong>10.2</strong> Kodların  renklendirilmesi de editörün güzel özelliklerinden biridir. Seçici,  özellik, tanım ve yorum satırı ayrımı bize göstererek kod ayrımına  yardımcı olur ve daha okunabilir kod görünümü sağlar.</p>
<p><img src="http://www.fatihhayrioglu.com/wp-content/dw_duz_02.gif" alt="dw_duz_02" title="dw_duz_02" width="400" height="208" class="alignnone size-full wp-image-1119" /></p>
<p><strong>10.3</strong> Sık  kullandığımız css düzeltmelerini(hack) snippets(dw özelliği) alanına  ekleyerek hız kazanabiliriz. Daha hızlı olmak için bu tanımlara bir  kısa yol bile atayabilirisiniz.</p>
<p><img src="http://www.fatihhayrioglu.com/wp-content/dw_duz_03.gif" alt="dw_duz_03" title="dw_duz_03" width="242" height="233" class="alignnone size-full wp-image-1120" /></p>
<p><strong>10.4</strong> Dreamweaver&#8217;ın stil dosyalarını standarda oturmak çok kolay.</p>
<p>Edit  -&gt; Preferences.. tıklayınca gelen pencereden Code Format kısmını  seçince sağ tarafta CSS.. düğmesine tıklayınca CSS doküman formatını  ayarlama ekranından css düzenimizi ayarlayabiliyoruz.</p>
<p><img src="http://www.fatihhayrioglu.com/wp-content/dw_stil_ayarlama.gif" alt="dw_stil_ayarlama" title="dw_stil_ayarlama" width="656" height="475" class="alignnone size-full wp-image-1121" /></p>
<p>Notepad  ++ daki hizalama çizgileride çok güzel dw olmaması çok üzücü. DW&#8217;da  hala tam olarak istedikleri karşılaya bilmiş değil, ama bildiğim en iyi  editör.</p>
<p><img src="http://www.fatihhayrioglu.com/wp-content/hiza_cizgileri.gif" alt="hiza_cizgileri" title="hiza_cizgileri" width="394" height="318" class="alignnone size-full wp-image-1122" /></p>
<h3>Sonuç</h3>
<p>Burada ben kullandığım ve araştırma sonucu elde ettiğim css düzeninden bahsettim. Bu stadartları kendinize göre değiştirebilir ve kendi stadartlarınızı oluşturabilirsiniz, Amaç stadart ve düzenli bir css kodlama düzenine erişmek. Son olarak örnek bir css dokümanı nasıl olmalıya bir örnek yazarsak:</p>
<p>XHTML kodu:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div &gt;

    &lt;div &gt;
    &lt;/div&gt;&lt;!--[if !IE]&gt;ustAlan sonu&lt;![endif]--&gt;

    &lt;div &gt;
        &lt;div &gt;
            &lt;div &gt;&lt;img src=&quot;images/promo.jpg&quot; width=&quot;647&quot; height=&quot;264&quot; alt=&quot;Promo&quot; /&gt;&lt;/div&gt;
            &lt;div &gt;
            &lt;/div&gt;&lt;!--[if !IE]&gt;icerikOzu sonu&lt;![endif]--&gt;
        &lt;/div&gt;&lt;!--[if !IE]&gt;solIcerikAlani sonu&lt;![endif]--&gt;
        &lt;div &gt;
        &lt;/div&gt;&lt;!--[if !IE]&gt;sagIcerikAlani sonu&lt;![endif]--&gt;
    &lt;/div&gt;&lt;!--[if !IE]&gt;icerikAlani sonu&lt;![endif]--&gt;

    &lt;div  class=&quot;kapsayamamaSorunu&quot;&gt;
    &lt;/div&gt;    

&lt;/div&gt;&lt;!--[if !IE]&gt;anaKapsul sonu&lt;![endif]--&gt;
</pre>
<p>CSS kodu</p>
<pre class="brush: css; title: ; notranslate">
/************************
************************
MYK Medya - http://myk-medya.com/
yahoyt.com
fatih hayrioglu
28 Mayis 2009
ie6, ff, opera. chrome, safari
************************
************************/

/************************************************** Genel Tanımlar   */

body{margin:0; padding:0;}
ul{margin:0; padding:0; list-style:none;}

/*kapsayamam sorunu */
    .kapsayamamaSorunu:after {content: &quot;.&quot;; display: block; height: 0; clear: both; visibility: hidden;}
    .kapsayamamaSorunu{display: inline-block;}
    /* IE-mac de bu bolumu sakla \ */
    * html .kapsayamamaSorunu{height: 1%;}
    .kapsayamamaSorunu {display: block;}
    /* IE-mac bu bolumu saklam artik */
/*kapsayamam sorunu */

#anaKapsul{margin:0 auto; width:960px;}    

/************************************************** ustalan   */
#ustalan{padding-top:20px;}
            
/************************************************** icerikAlani   */
#icerikAlani{float:left; clear:left; padding-top:20px;}
    
/*sol icerik alani */    
    #solIcerikAlani{float:left; width:647px; margin-right:13px}
    #icerikOzu{float:left; clear:left; margin-top:20px}
    
/* sagIcerikAlani */

    #sagIcerikAlani{float:left; width:300px; margin:0;}                

/************************************************** altAlan */

#altAlan{clear:left; background-color:#404040; padding:12px; margin-bottom:20px;}
</pre>
<h3>Kaynaklar</h3>
<ul>
<li><a title="http://www.webdesignerdepot.com/2009/05/10-best-css-practices-to-improve-your-code/" href="http://www.webdesignerdepot.com/2009/05/10-best-css-practices-to-improve-your-code/" >http://www.webdesignerdepot.com/2009/05/10-best-css-practices-to-improve-your-code/</a></li>
<li><a title="https://developer.mozilla.org/en/Underscores_in_class_and_ID_Names" href="https://developer.mozilla.org/en/Underscores_in_class_and_ID_Names" >https://developer.mozilla.org/en/Underscores_in_class_and_ID_Names</a> (isimlendirme)</li>
<li><a title="http://davidwalsh.name/format-css-files" href="http://davidwalsh.name/format-css-files" >http://davidwalsh.name/format-css-files</a> (güzel örnek)</li>
<li><a title="http://help.adobe.com/en_US/Dreamweaver/10.0_Using/WS6A10E93F-6587-4e1b-956C-03CBD7F678BBa.html" href="http://help.adobe.com/en_US/Dreamweaver/10.0_Using/WS6A10E93F-6587-4e1b-956C-03CBD7F678BBa.html" >http://help.adobe.com/en_US/Dreamweaver/10.0_Using/WS6A10E93F-6587-4e1b-956C-03CBD7F678BBa.html</a> (dw ayarları)</li>
<li><a title="http://www.smashingmagazine.com/2008/05/02/improving-code-readability-with-css-styleguides/" href="http://www.smashingmagazine.com/2008/05/02/improving-code-readability-with-css-styleguides/" >http://www.smashingmagazine.com/2008/05/02/improving-code-readability-with-css-styleguides/</a> (süper)</li>
<li><a title="http://www.louddog.com/bloggity/2008/03/css-best-practices.php" href="http://www.louddog.com/bloggity/2008/03/css-best-practices.php" >http://www.louddog.com/bloggity/2008/03/css-best-practices.php</a></li>
<li><a title="http://css-tricks.com/indent-css-changes-you-are-unsure-about/" href="http://css-tricks.com/indent-css-changes-you-are-unsure-about/" >http://css-tricks.com/indent-css-changes-you-are-unsure-about/</a></li>
<li><a title="http://woork.blogspot.com/2008/03/write-well-structured-css-file-without.html" href="http://woork.blogspot.com/2008/03/write-well-structured-css-file-without.html" >http://woork.blogspot.com/2008/03/write-well-structured-css-file-without.html</a> (güzel)</li>
<li><a title="http://woork.blogspot.com/2008/01/optimize-your-css-files-to-improve-code.html" href="http://woork.blogspot.com/2008/01/optimize-your-css-files-to-improve-code.html" >http://woork.blogspot.com/2008/01/optimize-your-css-files-to-improve-code.html</a></li>
<li><a title="http://www.smashingmagazine.com/2007/05/10/70-expert-ideas-for-better-css-coding/" href="http://www.smashingmagazine.com/2007/05/10/70-expert-ideas-for-better-css-coding/" >http://www.smashingmagazine.com/2007/05/10/70-expert-ideas-for-better-css-coding/</a></li>
<li><a title="http://css-tricks.com/video-screencasts/8-css-formatting/" href="http://css-tricks.com/video-screencasts/8-css-formatting/" >http://css-tricks.com/video-screencasts/8-css-formatting/</a> (video)</li>
<li><a title="http://www.graphicrating.com/2009/02/23/css-code-readability-tips/" href="http://www.graphicrating.com/2009/02/23/css-code-readability-tips/" >http://www.graphicrating.com/2009/02/23/css-code-readability-tips/</a></li>
<li><a title="http://developer.yahoo.com/performance/rules.html#num_http" href="http://developer.yahoo.com/performance/rules.html#num_http" >http://developer.yahoo.com/performance/rules.html#num_http</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/css-kod-yazma-duzeni/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
	</channel>
</rss>

