<?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; site-kodlama</title>
	<atom:link href="http://www.fatihhayrioglu.com/tag/site-kodlama/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>PSD&#8217;den HTML&#8217;e – fanatikmarslar.com Sitesinin Kodlaması III</title>
		<link>http://www.fatihhayrioglu.com/psdden-htmle-%e2%80%93-fanatikmarslar-com-sitesinin-kodlamasi-iii/</link>
		<comments>http://www.fatihhayrioglu.com/psdden-htmle-%e2%80%93-fanatikmarslar-com-sitesinin-kodlamasi-iii/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 22:14:01 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[adım adım kodlama]]></category>
		<category><![CDATA[alt sayfa]]></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[psdtohtml]]></category>
		<category><![CDATA[site-kodlama]]></category>
		<category><![CDATA[tezahürat dinle]]></category>
		<category><![CDATA[tezahürat ekle]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1551</guid>
		<description><![CDATA[Alt Sayfaların Kodlanması Genelde siteler yapılırken ana sayfa ve alt sayfa olarak kodlanır. Bunun sebebi ana sayfalar tekildir, alt sayfalar ise birbirine benzeyen yapılardan oluşur. Bu nedenle alt sayfaların bir tanesi kodlanınca diğer sayfaların kodlanması daha az zaman alır. Bir çok freelance işinde ana sayfa farklı alt sayfalar farklı olarak ücretlendirilir. Neyse işin bu kısmına [...]]]></description>
			<content:encoded><![CDATA[<h3>Alt Sayfaların Kodlanması </h3>
<p> Genelde siteler yapılırken ana sayfa ve alt sayfa olarak kodlanır. Bunun sebebi ana sayfalar tekildir, alt sayfalar ise birbirine benzeyen yapılardan oluşur. Bu nedenle alt sayfaların bir tanesi kodlanınca diğer sayfaların kodlanması daha az zaman alır. Bir çok freelance işinde ana sayfa farklı alt sayfalar farklı olarak ücretlendirilir. Neyse işin bu kısmına girmeyelim. </p>
<p>Eksiden sadece bir alt sayfa şablonu hazırlayıp diğer sayfa içeriklerini o şablondaki içerik kısmına girerek tüm siteyi oluştururduk. Şimdilerde ise neredeyse her sayfa için bir tasarım çıkıyor ve her birini ayrı ayrı kodluyoruz. </p>
<p> Fanatikmarslar.com sitesini düşünürsek; bana gönderilen alt sayfa tasarımlarından 4 tane farklı tasarıma sahip sayfa vardı. Diğerleri bunların kopyası gibi olduğu için ben burada sizlere bu 4 alt sayfayı nasıl kodladığımı anlatacağım.</p>
<p><img src="http://www.fatihhayrioglu.com/images/marslar_kucuk.jpg" alt="Marşlar" width="450" height="733"></p>
<p><img src="http://www.fatihhayrioglu.com/images/tezahurat_ekle_kucuk.jpg" alt="Tezahürat Ekle" width="450" height="663"></p>
<p><img src="http://www.fatihhayrioglu.com/images/tezahurat_izle_dinle_kucuk.jpg" alt="Tezahürat İzle Dinle"></p>
<p><img src="http://www.fatihhayrioglu.com/images/genel_sablon_kucuk.jpg" alt="Genel Şablon" width="450" height="593"></p>
<p>Yukarıdaki 4 sayfada gördüğümüzü özetlersek; ilk olarak üst kısım ve alt kısmın ana sayfa ile aynı olduğunu görüyoruz. Orta kısım ise tüm alt sayfalarda aynı. İki kolonlu bir yapı ve sağ kolon sabit. Sol içerik kolonu içeriği değişiyor.</p>
<h3>Kategori Listeleme Sayfasının Kodlanması</h3>
<p><img src="http://www.fatihhayrioglu.com/images/marslar_kucuk.jpg" alt="Marşlar" width="450" height="733"></p>
<p>Orta kısmı iki kolona ayırıyorum. solOrtaAlan ve icerikalaniSag adını verdim. İki kolonu yan yana koymak için float ve genişlik tanımlarını yapıyoruz. </p>
<pre class="brush: xml; title: ; notranslate">
	&lt;div id=&quot;solOrtaAlan&quot;&gt;
    ...
    &lt;/div&gt;
    &lt;div id=&quot;icerikalaniSag&quot;&gt;
    ...
    &lt;/div&gt;
</pre>
<p>CSS kodunu yazalım</p>
<pre class="brush: css; title: ; notranslate">
#solOrtaAlan{float:left; width:650px; margin:0 20px 0 10px; font:14px Arial, Helvetica, sans-serif; display:inline}
#icerikalaniSag {float:left; width:300px}
</pre>
<p><strong>Sol Orta Alan</strong></p>
<p>#solOrtaAlan tanımına margin tanımlarını yapıyorum. Burada &quot;<a href="http://www.fatihhayrioglu.com/ieda-ikikat-gorulen-margin-problemi-ve-cozumu/">IE&#8217;da İkikat görülen Margin Problemi ve Çözümü</a>&quot; sorunu ile karşılaştığım için display:inline tanımı atadım.</p>
<p>Kodlamaya sol orta alandan devam ediyorum. </p>
<p><strong>Başlık</strong></p>
<pre class="brush: xml; title: ; notranslate">&lt;h1&gt;Marşlar&lt;/h1&gt;</pre>
<p>Başlığımızı h1 ile tanımlıyoruz. Hem anlamlı kodlama hemde arama motorlarına uygun kodlama açısından sayfa başlığını h1 ile tanımlıyoruz. Diğer başlıklarıda sırası ile h2, h3, vd. şeklinde tanımlamalıyız. Şimdi burada gerekmediği için tanımları yapmadık.</p>
<p><strong>Sıralama Alanı</strong></p>
<p>Sıralama kısmına yaparken bu alanı sırasız listeler ile yapmayı düşündüm. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;siralamAlani&quot;&gt;
 &lt;ul&gt;
     &lt;li&gt;&lt;strong&gt;Sıralama:&lt;/strong&gt;&lt;/li&gt;
     &lt;li&gt;&lt;a href=&quot;&quot;&gt;Karışık&lt;/a&gt;&lt;/li&gt;
     &lt;li&gt;&lt;a href=&quot;&quot;&gt;Popüler&lt;/a&gt;&lt;/li&gt;
     &lt;li&gt;&lt;a href=&quot;&quot;&gt;Oley!&lt;/a&gt;&lt;/li&gt;
     &lt;li&gt;&lt;a href=&quot;&quot; class=&quot;secili&quot;&gt;Alfabetik&lt;/a&gt;&lt;/li&gt;
     &lt;li&gt;&lt;a href=&quot;&quot;&gt;En Çok Tıklanan&lt;/a&gt;&lt;/li&gt;
     &lt;li&gt;&lt;a href=&quot;&quot;&gt;En Son Eklenen&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>Dışına bir katman atamamın nedeni ardalan resmi ve diğer öğeler ile olan ilişkileri ayarlamak içindir. Sıralama öğelerinden bir tanesine göre sıralama yapılacak ve başındaki ok ikonu aşağı bakacağı için bu öğeye bir sınıf tanımlıyorum diğerlerinden ayırmak için </p>
<pre class="brush: css; title: ; notranslate">
div#siralamAlani{ background:url(../images/siralama_ard.gif) 0 0 no-repeat; height:38px;}
    div#siralamAlani ul{padding:10px 0 0 10px}
        div#siralamAlani ul li{display:inline;}
            div#siralamAlani ul li strong{display:block; float:left; color:#828282; font:bold 14px Arial, Helvetica, sans-serif; margin-right:3px}
            div#siralamAlani ul li a{display:block; background:url(../images/genel_resim.gif) right -388px no-repeat; float:left; font:bold 14px Arial, Helvetica, sans-serif; color:#0c2b90; padding-right:15px; margin-right:10px}
            div#siralamAlani ul li a.secili{background:url(../images/genel_resim.gif) right -354px no-repeat;}
</pre>
<p><strong>Listeleme Tablosu</strong></p>
<p>Listeleme tablosunun bir kaç kolonu hariç ana sayfadaki tablodan bir farkı yoktur. Benzer bir anlayış ile burayı kodlayalım. </p>
<pre class="brush: css; title: ; notranslate">
table.genelTablo{border-collapse:collapse; }
    table.genelTablo th{font:bold 14px Arial, Helvetica, sans-serif; color:#000; padding:5px 2px; text-align:left}
    table.genelTablo th.ortala{text-align:center}
    table.genelTablo tr.enAlt td{border:0}
    table.genelTablo td{padding:1px 2px; font:14px Arial, Helvetica, sans-serif; color:#828282; border-bottom:1px solid #d5d5d5;}
</pre>
<p>Listeleme tablosunun ana sayfadan farklı olan kısmı en sağdaki oylama gösterme alanı</p>
<pre class="brush: xml; title: ; notranslate">&lt;td&gt;&lt;p class=&quot;oley&quot;&gt;&lt;strong class=&quot;ucKupa&quot;&gt;3 Kupa&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;</pre>
<p>Sadece oyu göstereceğimiz için bu şekilde kodladık. </p>
<pre class="brush: css; title: ; notranslate">
#solOrtaAlan table td p.oley{background:url(../images/genel_resim.gif) 0 -483px no-repeat; width:93px; height:21px; margin:0}
    table td p.oley strong{display:block; background:url(../images/genel_resim.gif) 0 -459px no-repeat; text-indent:-9999px; height:21px}
    table td p.oley strong.birKupa{ width:18px;}
    table td p.oley strong.ikiKupa{ width:37px;}
    table td p.oley strong.ucKupa{ width:56px;}
    table td p.oley strong.dortKupa{ width:75px;}
    table td p.oley strong.besKupa{ width:95px;}
</pre>
<p>#solOrtaAlan table td p.oley tanımını niye p.oley şeklinde yapmıyoruzda bu kadar uzun yapıyoruz derseniz, üstten gelen kalıtsal tanımlar alt elemanları da etkiliyor bu etkiyi kaldırmak için bu şekilde tanımını uzatarak bu tanımı daha etkin yapıyoruz. Konu hakkında detaylı bilgi almak için <a href="http://www.fatihhayrioglu.com/cssde-tanimlamalar-ve-etkinliklerispecificity/">tıklayınız.</a></p>
<p>Ana sayfadaki tablo ile yapının aynısı olduğu için bu kadar anlatarak tablo faslını geçiyorum ve sayfalama kısmının kodlamasını anlatmaya başlıyorum.</p>
<p><strong>Sayfalama</strong></p>
<p><a href="http://www.fatihhayrioglu.com/css-ile-sayfalama-gorselligini-ayarlama/">Sayfalama kodlamalarını bir kaç tipi</a> var ben burada daha önce kodladığım bir kodu kopyalıyorum. Bu yöntemi seçmemde programcı arkadaşım Mustafa&#8217;nın etkiside var. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;sayfalama&quot;&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;span&gt;|&amp;lt;&lt;/span&gt;&lt;/li&gt;
        &lt;li&gt;&lt;span&gt;Önceki&lt;/span&gt;&lt;/li&gt;
        &lt;li&gt;&lt;span&gt;1&lt;/span&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&quot;#&quot;&gt;2&lt;/a&gt;&lt;/li&gt;
        &lt;li &gt;&lt;a href=&quot;#&quot;&gt;3&lt;/a&gt;&lt;/li&gt;
        &lt;li &gt;&lt;a href=&quot;#&quot;&gt;4&lt;/a&gt;&lt;/li&gt;
        &lt;li &gt;&lt;a href=&quot;#&quot;&gt;5&lt;/a&gt;&lt;/li&gt;
        &lt;li &gt;&lt;a href=&quot;#&quot;&gt;6&lt;/a&gt;&lt;/li&gt;
        &lt;li &gt;&lt;a href=&quot;#&quot;&gt;7&lt;/a&gt;&lt;/li&gt;
        &lt;li &gt;&lt;a href=&quot;#&quot;&gt;8&lt;/a&gt;&lt;/li&gt;
        &lt;li &gt;&lt;a href=&quot;#&quot;&gt;9&lt;/a&gt;&lt;/li&gt;
        &lt;li &gt;&lt;a href=&quot;#&quot;&gt;10&lt;/a&gt;&lt;/li&gt;
        &lt;li &gt;&lt;a href=&quot;#&quot;&gt;Sonraki&lt;/a&gt;&lt;/li&gt;
        &lt;li class=&quot;sayfalmaSonu&quot;&gt;&lt;a href=&quot;#&quot;&gt;&amp;gt;|&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>Sayısız listeler ile listelediğimiz sayfa sayılarının farklı bölümlerini belirlemek için &lt;li&gt;&lt;span&gt;1&lt;/span&gt;&lt;/li&gt; şeklinde tanımlama yapıyoruz. Normal bağlantılarıda &lt;li&gt;&lt;a href=&quot;&quot;&gt;2&lt;/a&gt;&lt;/li&gt; şeklinde tanımlıyoruz. CSS kodunu yazalım.</p>
<pre class="brush: css; title: ; notranslate">
/* sayfalama */
 div.sayfalama ul{margin:0 auto; width:530px; padding:10px 0 0 0; clear:left}
     div.sayfalama ul li{font:bold 12px Tahoma, Geneva, sans-serif; color:#fff; float:left; list-style:none; margin:0 2px; background:#80a3b7;}
         div.sayfalama ul li span{padding:5px 8px; display:block}
         div.sayfalama ul li a{font:bold 12px Tahoma, Geneva, sans-serif ; color:#80a3b7; text-decoration:none; background-color:#f0f0f0; padding:5px 8px; display:block}
         div.sayfalama ul li a:hover{background-color:#80a3b7; color:#f0f0f0;}
</pre>
<p><strong>İçerik Alanı Sağ</strong></p>
<p>İçerik alanının sağ kısmı aslında pek bir şey içermiyor bir banner alanı ve kategori listesi. Her iki alanda ana sayfada mevcut olduğu için aynı kodları buraya taşıyoruz. </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>Sağ banner alanı diye ayrı bir isim vermemin nedeni, kodlaması aynı olsa da site yayına girdikten sonra ana sayfa ve alt sayfaya farklı bannerlar atanma ihtimali olduğu için buraya farklı bir isim veriyorum ve tanımlamamı yapıyorum. </p>
<p><strong>Kategori Listeleme Alanı</strong></p>
<p>Kategori listeleme alanı da ana sayfa ile birebir aynıdır. Kodu aynen taşıyorum.  Bu tip modülleri kodlarken eğer esnek kodlar isek modül nereye konursa konsun sorun çıkarmaz. Site kodlamaya başlanmadan önce bu tip modülleri belirleyip sabit bir genişlik vermekten kaçınmalıyız. Burada genişlikleri aynı olduğu için sorun çıkarmazdı zaten ama farklı projeler için söylüyorum bunu, aklınızın bir kenarında bulunsun.</p>
<h3>Tezahürat Ekle Sayfasının Kodlanması</h3>
<p><img src="http://www.fatihhayrioglu.com/images/tezahurat_ekle_kucuk.jpg" alt="Tezahürat Ekle" width="450" height="663"></p>
<p>Sayfamızı incelediğimizde sol içerik alanında bir tezahürat ekleme formunun diğer sayfadan farklı olduğunu görüyoruz. </p>
<p>Eskiden form alanlarını kodlarken tabloları kullanırdım daha rahat gelirdi. Ancak listeler(ul) ve tanımlayıcı listeleri(dl dd dt) kullanmaya başladıktan sonra artık tabloları kullanmıyorum. </p>
<p>Bu sayfadaki form yapıları iki kolonlu bir yapı olduğu için listeler ile sayfa form yapısını oluşturabiliriz. Başlık ve altındaki paragrafı ekliyoruz.</p>
<p><strong>Tezahürat Ekle Formunun Kodlanması</strong></p>
<p>Her satırın altında bir çizgi olduğu için her satırı bir katman içine alıp bu katmanada bir sınıf tanılayarak bu işi çözebiliriz. </p>
<pre class="brush: css; title: ; notranslate">.formAlani{border-top:1px solid #e0e0e0; border-bottom:1px solid #e0e0e0; padding:10px; margin:10px 0; clear:left;}</pre>
<p>clear:left; tanımı her satırın soldan başlaması için yapıldı.</p>
<p>İlk form alanı için bir label ve birde select alanımız var </p>
<pre class="brush: xml; title: ; notranslate">&lt;div class=&quot;formAlani&quot;&gt;&lt;label&gt;Lig Seçiniz:&lt;/label&gt;&lt;select&gt;&lt;option&gt;--------------&lt;/option&gt;&lt;option&gt;Turkcell Süper Lig&lt;/option&gt;&lt;/select&gt;&lt;/div&gt;</pre>
<p>CSS kodunu yazalım</p>
<pre class="brush: css; title: ; notranslate">
.formAlani label{margin-right:10px; width:135px; display:block; float:left;}
.formAlani select{width:180px; font:12px Arial, Helvetica, sans-serif;}
</pre>
<p><strong>Seçilen Ligdeki Takımlar Alanı</strong></p>
<p>Bu alanı kodlarken sayısız listeleri kullandım. Listelere bir genişlik ve float tanımı yaparak yan yana dize bilirim. Genişlikleri verirken 3 tanesini yan yana duracak şekilde ayarladım. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul class=&quot;secilenLigler&quot;&gt;
    &lt;li&gt; &lt;input type=&quot;radio&quot; name=&quot;takimSec&quot; /&gt;&lt;div class=&quot;logoTrabzon&quot;&gt;Trabzon&lt;/div&gt; &lt;label&gt;Trabzon Spor Klubü Tesisleri&lt;/label&gt;&lt;/li&gt;
    &lt;li&gt; &lt;input type=&quot;radio&quot; name=&quot;takimSec&quot; /&gt;&lt;div class=&quot;logoFenerbahce&quot;&gt;Fenerbahçe&lt;/div&gt; &lt;label&gt;Fenerbahçe&lt;/label&gt;&lt;/li&gt;
    &lt;li&gt; &lt;input type=&quot;radio&quot; name=&quot;takimSec&quot; /&gt;&lt;div class=&quot;logoAnkara&quot;&gt;Ankaraspor&lt;/div&gt; &lt;label&gt;Ankaraspor&lt;/label&gt;&lt;/li&gt;
      .......
&lt;/ul&gt;
</pre>
<p>CSS kodları </p>
<pre class="brush: css; title: ; notranslate">
ul.secilenLigler{width:575px; margin:0 auto}
    ul.secilenLigler li{float:left; width:170px; margin:0 20px 10px 0; color:#828282;}
        ul.secilenLigler li div{float:left}
        ul.secilenLigler li label{position:relative; top:8px}
        ul.secilenLigler li input{float:left; position:relative; top:8px; margin-right:10px}
</pre>
<p>Her takım alanı için radyo butonu, logo için bir katman, takım adı için bir label tanımladım ve bunları yan yana dizmek için float:left tanımı kullandım. label ve input için kullandığım postion:relative tanımı ve top değerleri bu öğeleri diğer öğeler ile yatayda aynı hizaya getirmek içindir. </p>
<p>Yukarıda bahsettiğim gibi form alanlarını kodlarken sayısız listeleri(ul) kullanıyorum burada da</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;formAlani&quot;&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;label&gt;Kategori Seçiniz:&lt;/label&gt;&lt;select&gt;&lt;option&gt;--------------&lt;/option&gt;&lt;option&gt;Turkcell Süper Lig&lt;/option&gt;&lt;/select&gt;&lt;/li&gt;
        &lt;li&gt;&lt;label&gt;Tezahüratın Adı:&lt;/label&gt;&lt;input type=&quot;text&quot; /&gt;&lt;/li&gt;
        &lt;li&gt;&lt;label&gt;Youtube linki:&lt;/label&gt;&lt;input type=&quot;text&quot; /&gt;&lt;/li&gt;
        &lt;li&gt;&lt;label&gt;Tezahüratın sözleri:&lt;/label&gt;&lt;/li&gt;
        &lt;li&gt;&lt;textarea&gt;&lt;/textarea&gt;&lt;/li&gt;
        &lt;li&gt;&lt;label&gt;Kısa tanıtım:&lt;/label&gt;&lt;input type=&quot;text&quot; /&gt;&lt;/li&gt;
        &lt;li&gt;&lt;label class=&quot;genisEtiket&quot;&gt;Kayıtlı bir tezahüratınız varsa buradan yükleyiniz:&lt;/label&gt; &lt;input type=&quot;file&quot; /&gt;&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>CSS kodu </p>
<pre class="brush: css; title: ; notranslate">
.formAlani p{margin-bottom:10px}
.formAlani label{margin-right:10px; width:135px; display:block; float:left;}
.formAlani label.genisEtiket{width:310px}
.formAlani textarea{width:625px; height:210px; border:1px solid #e8e8e8; margin-top:8px; font:12px Arial, Helvetica, sans-serif; padding:3px;}
	.formAlani ul li{margin-bottom:10px}
.formAlani input{border:1px solid #e8e8e8; font:12px Arial, Helvetica, sans-serif; padding:3px; width:300px}
.formAlani select{width:180px; font:12px Arial, Helvetica, sans-serif;}
.formAlani select.darSelect{width:75px;}
</pre>
<p>Son olarakta gönder düğmesini koyuyorum. </p>
<pre class="brush: xml; title: ; notranslate">&lt;input type=&quot;button&quot; value=&quot;Gönder&quot; class=&quot;gonderBut&quot; /&gt;</pre>
<p>CSS kodu </p>
<pre class="brush: css; title: ; notranslate">input.gonderBut{width:170px; height:45px; float:right; font:bold italic 24px Arial, Helvetica, sans-serif; color:#434343; cursor:pointer}</pre>
<p>Böylece Tezahürat Ekle sayfamızı bitirmiş oluyoruz.</p>
<h3>Tezahürat Dinle Sayfasının Kodlaması</h3>
<p><img src="http://www.fatihhayrioglu.com/images/tezahurat_izle_dinle_kucuk.jpg" alt="Tezahürat İzle Dinle"></p>
<p>Tezahürat dinle sayfası iki sekmeli bir yapıdan oluşuyor ve dinleme ve izleme seçenekleri iki ayrı sekme içinde yer alıyor. </p>
<p>Başlık ve açıklama kısmını kodluyoruz. Başlık ve ilk paragraf bir önceki sayfa ile aynı. Başlık yanındaki logo ve takım ismi kısmına biraz değinelim.</p>
<pre class="brush: xml; title: ; notranslate">&lt;div id=&quot;dinleTakimi&quot;&gt;&lt;div class=&quot;logoTrabzon&quot;&gt;Trabzon&lt;/div&gt; &lt;span&gt;Trabzon&lt;/span&gt;</pre>
<p>Logo için iki ayrı katman oluşturuyorum. Bunun nedeni logoların geneli için bir sınıf tanımlıyorum. Ayrıca ikinci katmanda her bir takım için tanımlanacak özellikler için. CSS kodunu yazarsak;</p>
<pre class="brush: css; title: ; notranslate">
div#dinleTakimi{float:left; width:180px; margin-left:20px; position:relative; top:-4px}
    div#dinleTakimi div{float:left;}
    div#dinleTakimi span{ position:relative; bottom:-10px; font:14px Arial, Helvetica, sans-serif; color:#828282; padding-left:6px}
</pre>
<p>Burada şöyle bir şey var. Başlığın uzunluğu belli olmadığı için sadece logo ve takım adına float tanımı ve genişlik tanımı yaptık. Böylece başlık uzunluğu ne olursa olsun başlık ve logo kısmı devamlı yan yana duracaktır. </p>
<p>Sekmeleri kodlarken daha önce yazdığım <a href="http://www.fatihhayrioglu.com/jquery-ile-basit-sekme-yapimi/">jquery ile sekme yapımını</a> anlattığım makaledeki gibi yapacağız. </p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;&gt;&lt;/script&gt;
 &lt;script type=&quot;text/javascript&quot;&gt;
 $(document).ready(function() {
 $('div.sekmeAlani ul#tezahuratSekme li a').not(&quot;div.sekmeAlani ul#tezahuratSekme li#favEkle a, div.sekmeAlani ul#tezahuratSekme li.pasif a&quot;).click(function(){
 $(this).parent('li').addClass('normal').siblings().removeClass('normal');
 var mevcutSinif = this.className.slice(0,2);
 $('div.sekmeAlani &gt; div').hide().filter('div.'+mevcutSinif).show();
 });
 $('.sekmeAlani ul#tezahuratSekme li a:first').click();
 });
 &lt;/script&gt;
</pre>
<p>Buradaki tek fark favoriler kısmını sekmeli yapının dışında tutmak için.  jquery&#8217;nin :not() fonksiyonunu kullandık. Bu fonksiyonun anlamı bu elementlere uygula not fonksiyonu ile belirtilen elemana uygulamadır. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;sekmeAlani&quot;&gt;
    &lt;ul id=&quot;tezahuratSekme&quot; class=&quot;kapsayamamaSorunu&quot;&gt;
        &lt;li class=&quot;s1 normal&quot;&gt;&lt;a href=&quot;javascript:void(0);&quot; class=&quot;s1 dinle&quot;&gt;Tezahürat Dinle&lt;/a&gt;&lt;/li&gt;
        &lt;li class=&quot;s2 pasif&quot;&gt;&lt;a href=&quot;javascript:void(0);&quot; class=&quot;s2 izle&quot;&gt;Tezahürat İzle&lt;/a&gt;&lt;/li&gt;
        &lt;li id=&quot;favEkle&quot;&gt;&lt;a href=&quot;javascript:void(0);&quot; id=&quot;favorimedenCikar&quot;&gt;Favorilerine Ekle&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;div class=&quot;s1&quot;&gt;
    	&lt;div id=&quot;sesOynatici&quot;&gt;&lt;img src=&quot;images/ses_oynatici.gif&quot; width=&quot;333&quot; height=&quot;50&quot; alt=&quot;ses&quot; /&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;s2&quot;&gt;
    	&lt;div id=&quot;videoOynatici&quot;&gt;&lt;img src=&quot;images/video_player.gif&quot; width=&quot;320&quot; height=&quot;260&quot; alt=&quot;video&quot; /&gt;&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>CSS kodlarını yazarsak; </p>
<pre class="brush: css; title: ; notranslate">
ul#tezahuratSekme{border-bottom:1px solid #ccc; padding-left:30px}
    ul#tezahuratSekme li{float:left; height:39px;}
        ul#tezahuratSekme li a{display:block; padding:15px 45px 0 50px; color:#000; font-size:14px}
        ul#tezahuratSekme li.normal{background:url(../images/normal_seme_ard.gif) 0 0 no-repeat; }
        ul#tezahuratSekme li.pasif{background:url(../images/sekme_pasif.gif) 0 0 no-repeat; }
	        ul#tezahuratSekme li.pasif a{ cursor:default;}
            ul#tezahuratSekme li.normal a.dinle{ background:url(../images/tez_din_ikon.gif) 15px -220px no-repeat; }
            ul#tezahuratSekme li.normal a.izle{ background:url(../images/tez_din_ikon.gif) 15px -270px no-repeat;}
		ul#tezahuratSekme li{background:url(../images/kapali_sekme.gif) 0 0 no-repeat;}
            ul#tezahuratSekme li a.dinle{ background:url(../images/tez_din_ikon.gif) 15px -220px no-repeat;}
            ul#tezahuratSekme li a.izle{ background:url(../images/tez_din_ikon.gif) 15px -268px no-repeat;}
		ul#tezahuratSekme li#favEkle{float:left; height:39px; background:none}
            ul#tezahuratSekme li#favEkle a{background:url(../images/tez_din_ikon.gif) 18px -318px no-repeat;}
            ul#tezahuratSekme li#favEkle a:hover{background:url(../images/tez_din_ikon.gif) 18px -419px no-repeat;}
            ul#tezahuratSekme li#favEkle a#favorimedenCikar, ul#tezahuratSekme li#favEkle a#favorimedenCikar:hover{background:url(../images/tez_din_ikon.gif) 18px -368px no-repeat;}
</pre>
<p><strong>Tezahürat Bilgi Alanı</strong></p>
<p>Tezahürat bilgi alanında; ekleyen, kaç kez dinlendiği veya izlendiği, paylaşım linki ve kaç kişinin oley çektiği bilgileri yan yana yer alıyor. </p>
<p>Bu alanı bir katman içine alıp ardalan rengini bu katman veriyoruz. İçine sol ve sağ kolonlar için iki katman oluşturup içerikleri buraya koyuyoruz. İçerikleride bir paragraf içinde kodluyoruz. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;tezahuratBilgi&quot; class=&quot;kapsayamamaSorunu&quot;&gt;
    &lt;div id=&quot;tezahuratBilgiSol&quot;&gt;
        &lt;p&gt;Ekleyen: &lt;a href=&quot;&quot;&gt;Hasan&lt;/a&gt; &lt;span&gt;27 Ağustos 2009'da Eklendi&lt;/span&gt;&lt;/p&gt;
        &lt;p&gt;Link Paylaş: &lt;input type=&quot;text&quot; value=&quot;htpp:www..ewrwerwerwerewrra&quot; /&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;div id=&quot;tezahuratBilgiSag&quot;&gt;
        &lt;p&gt;123.288 kez dinlendi&lt;/p&gt;
        &lt;p&gt;&lt;span&gt;16.258 kişi Oley! çekti!&lt;/span&gt; &lt;ul class='oleyCek'&gt;&lt;li class='mevcutOy' style=&quot;width:54px&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;&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
</pre>
<p>CSS koduda şöyle olacak; </p>
<pre class="brush: css; title: ; notranslate">
#tezahuratBilgi{margin:1px 0; background-color:#eee; padding:13px 10px 0 10px}
    #tezahuratBilgiSol{float:left; width:390px}
        #tezahuratBilgiSol a{ color:#0c2b90}
        #tezahuratBilgiSol p{margin-bottom:10px}
        #tezahuratBilgiSol input{border:1px solid #cbcbcb; font:14px Arial, Helvetica, sans-serif; color:#cccccc; width:200px}
    #tezahuratBilgiSag{float:left; width:240px}
        #tezahuratBilgiSag p{margin:0 0 15px 0}
	        #tezahuratBilgiSag p span{float:left;}
</pre>
<p>Etiketler, Önce Söyle, Sonra Yorumla vb. başlıkların ikonlarını sprite tekniği ile resimlerini hazırlayıp başlıkların başına ardalan resmi ile koyuyoruz. </p>
<p>Etiketler için padding ve ardalan rengi tanımlıyoruz. hover hallerini hazırlıyoruz.</p>
<pre class="brush: css; title: ; notranslate">
div#etiketler a{padding:2px 4px; background-color:#eee; color:#666; font-size:14px}
div#etiketler a:hover{background-color:#666; color:#eee;}
</pre>
<p><strong>Önce Söyle </strong></p>
<p>Önce söyle başlığınıda diğer başlıklar gibi hazırlıyoruz. İçeriği blockquote içine koydum. Aslında bunun için de bir katman açıp koyabilirdik, tercih meselesi. Ardalan resmini sağ alta sabitliyoruz. </p>
<pre class="brush: css; title: ; notranslate">
blockquote.tezahuratMetni{ background:#eee url(../images/tezahurat_zem.gif) right bottom no-repeat; padding:20px 50px 20px 30px; margin-bottom:1px; font-style:italic}
</pre>
<p><strong>Yorum Alanı </strong></p>
<p>Yorum alanın solda avatar&#8217;ın(küçük resim) ve sağda alt alta içeriklerin bulunduğu iki kolonlu bir yapıya sahip . </p>
<p>float ve genişlik tanımlarını yaparak öğeleri yerleştiriyoruz. Burada farklı durumda olan kısım yorum oylama kısmıdır. Yorum oylama kısmını ayrı bir katman içine alıp yorum yazanın yanında durması için position:relative ve float:left tanımı ile ile ayırıyoruz. Artı, eksi ve puan kısmını bir liste şeklinde kodluyoruz. </p>
<p>Son olarakta &quot;Sende Yaz&quot; kısmını kodluyoruz. Başlığı yukarıdaki başlıklar gibi yazıyoruz. Yorum yazma kısmına bir textarea yapıp genişlik, yükseklik ve kenar çizgisi tanımlarını yapıyoruz. </p>
<pre class="brush: css; title: ; notranslate">
div.yorumalani{border-bottom:1px solid #e0e0e0; margin-bottom:12px}
div.yAvatar{float:left; width:60px}
div.yorumAlaniSag{float:left; width:590px}
div.yorumAlaniSag strong{color:#a1a1a1; display:block; clear:left; margin:10px 0 5px 0}
#solOrtaAlan div.yorumAlaniSag p{margin-bottom:10px}
div.yorumYazari{float:left; font-weight:bold;}
div.yorumYazari a{color:#2a459d}
div.comment-rate{float:left; width:75px; margin-left:20px; position:relative;}
div.comment-rate-num{float: left; padding-right: 5px; color:#088f02; font-weight:bold;}

ul.yorumOyla{float:left; width:75px; margin-left:20px; position:relative; top:-5px;}
    ul.yorumOyla li{float:left;}
        li.yorumArti a{ background:url(../images/genel_resim.gif) -15px -530px no-repeat; display:block; text-indent:-9999px; width:16px; height:20px}
        li.yorumEksi a{ background:url(../images/genel_resim.gif) 0 -530px no-repeat; display:block; text-indent:-9999px; width:16px; height:20px}
    li.olumlu{color:#088f02; font-weight:bold;}
    li.olumsuz{color:#c00; font-weight:bold;}
    li.notr{color:#000; font-weight:bold;}
h3.senYaz{background:url(../images/tez_din_ikon.gif) 0 -168px no-repeat; padding:15px 0 3px 32px}
#solOrtaAlan textarea{border:1px solid #e1e1e1; width:642px; margin-bottom:20px; height:100px}
</pre>
<p>Tezahürat Dinle/İzle sayfasınıda tamamlamış oluyoruz.</p>
<h3>Site Genel Şablonu Sayfasının Kodlanması</h3>
<p><img src="http://www.fatihhayrioglu.com/images/genel_sablon_kucuk.jpg" alt="Genel Şablon" width="450" height="593"></p>
<p>Site kodlarken site içerisinde genelde bir şablon sayfası oluşturulur. Bu sayfa site içinde olabilmesi mümkün elemanların bulunduğu bir sayfadır. Tasarımcı bu sayfayı daha sonra eklenmesi durumunda hazırlayarak sitenin gelişmesi durumlarınıda düşünmüş olur. Böyle site yapısından kopmamış oluruz.</p>
<p>Fanatikmarşlar.com&#8217;un şablon sayfası biraz daha sade oldu. Normalde paragraflar, tablo yapısı, resimler, listeler, vb. yapıları içerir. </p>
<p>Fanatikmarşlar.com&#8217;un şablon sayfasına baktığımızda başlık, paragraf ve uyarı mesajları şeklinde oluşmaktadır.</p>
<pre class="brush: css; title: ; notranslate">
#anaKapsul h1.hata{color:#e40000}
#anaKapsul h1.onay{color:#1f6600}
</pre>
<p>Bilgi kutusunu oluştururken yuvarlak kenarlı olduğu için, iki elamana ihtiyaç var. Bunun için kapsayıcı div ve içine paragrafa koyduk.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div class=&quot;bilgiKutusu&quot;&gt;
 &lt;p&gt;&lt;strong&gt;Bu kullanıcı adı zaten alınmış, başka bir tane deneyin. &lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
</pre>
<p>CSS Kodları</p>
<pre class="brush: css; title: ; notranslate">
div.bilgiKutusu{ background:#2d2d2d url(../images/bilgi_kutusu.gif) 0 0 no-repeat; margin-bottom:20px; font:bold 14px Arial, Helvetica, sans-serif; color:#fff}
    div.bilgiKutusu p{background:url(../images/bilgi_kutusu.gif) -650px bottom no-repeat; padding:10px;}
	    div.bilgiKutusu p strong{color:#ffc000}
</pre>
<p>Alt sayfaların kodlamasını böylelikle bitirdik. Site kodlarken değişik tasarımlarda olsa genelde benzer yapılar olduğu için yaklaşık olarak kodlarımız bu şekilde olacaktır. </p>
<h3>Sonuç</h3>
<p>Site kodlarken kodlarımı Adobe Dreamweaver ile yazıyorum. Kodlamanın bir çok yerinde FireBug kullanıyorum, daha doğrusu firebug&#8217;ı kapatmıyorum. Ayrıca test amaçlı ietester programını kullandım. Daima ie6&#8242;da test ettim.</p>
<p>Site kodlarken bir çok yöntem kullanılabilir. Ben kodlarımı yazarken devamlı bu alanı kodlarken nasıl daha iyi kodlarım, ileriye yönelik değişikliklerde nasıl sorun yaşamam, arama motorları standartlarına nasıl uyarım düşüncesi ile kodluyorum. Yazdığım kodlara genellikle daha sonra baktığımda beğenmiyorum. Devamlı en iyi hedefleyince eski kodlarımı beğenmiyorum. Bence olması gereken bu çünkü sektör daima kendini yeniliyor ve yeni özellikler çıkıyor biz devamlı bunları takip edip yeni projelerimizde kullanmalıyız. </p>
<p>Çok uzun süredir tasarladığım ama ancak nasip olan bir işi bitirmenin sevinci ile bu makalemide bitiriyorum. Daha güzel makalelerde buluşmak dileğiyle kendinize iyi bakın.</p>
<p>Projede yer alan tüm dosyaları sıkıştırıp attım. <a href="http://www.fatihhayrioglu.com/dokumanlar/fm_htmlleri_son.rar">Tüm dosyaları indirmek için tıklayınız.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/psdden-htmle-%e2%80%93-fanatikmarslar-com-sitesinin-kodlamasi-iii/feed/</wfw:commentRss>
		<slash:comments>13</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>More Eric Meyer on CSS</title>
		<link>http://www.fatihhayrioglu.com/more-eric-meyer-on-css/</link>
		<comments>http://www.fatihhayrioglu.com/more-eric-meyer-on-css/#comments</comments>
		<pubDate>Mon, 04 Sep 2006 20:33:06 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Kitaplar]]></category>
		<category><![CDATA[css-ile-planlama]]></category>
		<category><![CDATA[kitap]]></category>
		<category><![CDATA[site-kodlama]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=152</guid>
		<description><![CDATA[Bu kitap uygulamalı CSS kodlamanın anlatıldığı bir kitap. Kitap 10 bölümden oluşmakta ve her bölümde adım adım CSS kodlaması anlatılıyor. Bölümler: Mevcut sayfayı CSS&#8217;li yapıya çevirmek Fotoğraf koleksiyon sayfasını CSS ile oluşturma Finanasal Rapor tablolarını CSS ile oluşturma Zemin Konumlandırma Liste tabanlı Menüler CSS ile yapılmış Dropdown menüler Tab Menüler WebBloglarına CSS uygulamak Anasayfa Tasarlamak [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.fatihhayrioglu.com/wp-content/more_eric_meyer.thumbnail.jpg" alt="Eric Meyer'in Güzel kitaplarında biri" align="right" />Bu kitap uygulamalı CSS kodlamanın anlatıldığı bir kitap. Kitap 10 bölümden oluşmakta ve her bölümde adım adım CSS kodlaması anlatılıyor.<span id="more-152"></span></p>
<p>Bölümler:</p>
<ul>
<li>Mevcut sayfayı CSS&#8217;li yapıya çevirmek</li>
<li>Fotoğraf koleksiyon sayfasını CSS ile oluşturma</li>
<li>Finanasal Rapor tablolarını CSS ile oluşturma</li>
<li>Zemin Konumlandırma</li>
<li>Liste tabanlı Menüler</li>
<li>CSS ile yapılmış Dropdown menüler</li>
<li>Tab Menüler</li>
<li>WebBloglarına CSS uygulamak</li>
<li>Anasayfa Tasarlamak</li>
<li>Bir Site tasarlamak(Bahçe)</li>
</ul>
<p>Her bölüm adım adım CSS ile Web Sitesi tasarımını anlatan uygulamalı güzel bir kitap.</p>
<p>Kitabı almasanız bile sitesinden kaynak kodlarını indirip incelemenizi öneririm.</p>
<p>Ayrıntılı bilgi ve kaynak kodlar için <a href="http://more.ericmeyeroncss.com/">tıklayınız.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/more-eric-meyer-on-css/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

