‘CSS’ etiketi için sonuçlar
Arayüz Geliştiricilerin Görev Tanımı
Kasım 2nd, 2009 • 30 yorum CSS, Web Standartları, XHTML
Etiketler: arama motoru, arayüz-geliştiriciler, CSS, Erişebilirlik, Javascript
Şu anki bulunduğum durum ve FirendFeed’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ı’nı çıkarmış oluruz.
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ş.
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;
- HTML bilmek: Çok iyi derecede HTML bilmelidir ve uygulamada gereksiz kod yığınlarında kaçınmalıdır.
- CSS Bilmek: Çok iyi derecede CSS bilmelidir. Katman tabanlı kodlamayı bilmelidir. Tablosuz sayfa yapısını tasarlamalıdır.
- Javascript: Çok iyi derecede javascript bilmelidir. Ajax ve javascript kütüphanelerinden birine(jquery, mootools, vd.) hakim olmalı ve uygulama geliştirebilmelidir.
- Gelişmiş Kod Yazma: 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.
- İçerik Yönetim Sistemleri: Şirket içi CMS vb. içerik yönetim sistemlerini bilmeli ve kullanmalıdır.
- Mailing: Mailing standartların bilemeli ve buna uygun mailing kodları hazırlamalıdır. HTML Mailing -1: Mailing Kodlarken Dikkat Edilmesi Gerekenler | HTML Mailing 2 – Mailing HTML Kodunun Yazılması
- Görsel Araçlar: Adobe Photoshop, Firework veya benzeri bir programı kendi işini yapacak kadar bilmelidir.
- Takım Çalışması: 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.
- Yenilikçi: Web mecrasındaki gelişmeleri takip etmeli ve uygulamalarında bu yenilikleri gerektiğinde kullanmalıdır.
- Yabancı Dil: En az yenilikleri takip edecek kadar İngilizce bilmelidir.
- Sunucu Taraflı Diller: Asp.Net, PHP vb. sunucu taraflı dillerin genel mantığını bilmelidir.
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.
CSS İpucu 22: iPhone için CSS Yazmak
Temmuz 22nd, 2009 • 22 yorum CSS
Etiketler: CSS, iPhone
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 önce çıktı almak için(print) benzer bir yapıyı kullanmıştık.
Kodumuz çok basit
<!--[if !IE]>–> <link media="only screen and (max-device-width: 480px)" href="iPhone.css" type="text/css" rel="stylesheet" /> <!–<![endif]–>
veyahut
@media only screen and (max-device-width: 480px) {
body {color:#000;}
}
şeklinde bir tanımlamada yapabiliyoruz. İlk koddaki ie şartlı koşulu bazı eski ie sürümlerinde bu kodu algılama durumu içindir.
Yukarıdaki tanımlar sadece iPhone’da görünecektir. İşin püf noktasını max-device-width: 480px kısmı oluşturuyor.
Kaynaklar
Sayfa Dibine Yapışık Alt Alanlar(Sticky Footer)
Haziran 12th, 2009 • 20 yorum CSS, Web Standartları, XHTML
Etiketler: alta-yapışık-alanlar, CSS, kapsayamama-sorunu, sticky-footer
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 sayfa içeriğinin az olması ve çok olması durumunda alt kısmın yerini aynı olacaktır.
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. cssstickyfooter.com‘um anlattığı yöntem benim gördüğüm en iyi yöntem.
Kodumuzu yazmaya başlarsak.
XHTML kodu:
<div id="kapsul">
<div id="ustAlan">
<h1>Lorem ipsum dolor sit amet</h1>
</div>
<div id="icerikAlani">
<div id="icerik">
</div>
<div id="icerikSagAlani">
</div>
</div>
</div>
<div id="altAlan">
</div>
XHTML kodunda dikkate değer olan kısım içerik alanı ve alt alanı iki farklı bölüm olarak kodlamamız. altAlan ve diğer alanları kapsayan bir kapsayıcı katmandan(#kapsul) 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.
CSS Kodu
html, body, #kapsul {height: 100%;}
body > #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;
}
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.
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.
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.
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.
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 http://www.fatihhayrioglu.com/float-uygulanmis-elementleri-tam-kapsayamama-sorunu/ makalemiz anlattığımız yöntemi kullanıyoruz.
.kapsayamamaSorunu:after {content: "."; 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 */
Bu sınıfı tanımlıyoruz ve içeriği kapsayan(#icerikAlani) katmana atıyoruz.
<div id="kapsul">
<div id="ustAlan" class="kapsayamamaSorunu">
<h1>Lorem ipsum dolor sit amet</h1>
</div>
<div id="icerikAlani" class="kapsayamamaSorunu">
<div id="icerik">
</div>
<div id="icerikSagAlani">
</div>
</div>
</div>
<div id="altAlan">
</div>
Bu yöntemin ryanfait.com’un yöntemine göre en büyük avantajı bence ryanfait.com’un yöntemindeki anlamsız tampon katmanı gibi bir fazla kodlamadan kaçınış oluyoruz.
Örneği görüntülemek için tıklayınız.
Sorunlar ve Çözümleri
- Benim kullandığım projede body ve üstAlan’daki margin-top değeri sorun çıkardı. Bunun yerine padding kullanarak sorunu çözdüm. Üst kısım body’deki margin-top ve margin-bottom tanımları sorun çıkarıyor, bunun yerine padding kullanın.
- 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.
- Son olarakta asp.net ile oluşturulan sayfalarda <form> elemanı ile kapsanan sayfanızda sorun çıkabilir. Bunu engellemek için kodunuzu
html, body, form, #kapsul {height: 100%;}
Kaynaklar
- http://www.cssstickyfooter.com/
- http://www.lwis.net/journal/2008/02/08/pure-css-sticky-footer/
- http://ryanfait.com/resources/footer-stick-to-bottom-of-page/
- http://cokbasit.blogspot.com/2009/01/yapkan-taban-sticky-footer.html
- http://css-tricks.com/sticky-footer/
- http://www.waycoolwebdesign.com/Blog/2008/11/15/CSS-Sticky-Footer
- http://stever.ca/web-design/css-sticky-footer/
- http://brassblogs.com/blog/sticky-footer
- http://www.davidjrush.com/blog/2009/01/css-sticky-footer/
CSS Kod Yazma Düzeni
Haziran 3rd, 2009 • 26 yorum CSS
Etiketler: CSS, CSS kodlarını optimize etmek, css-kodlama-düzeni, Dreamweaver, optimize, standart
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 ederiz.
- 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.
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.

1. CSS doküman indeksini oluşturun
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
/*------------------------------------------------------------------ [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 -------------------------------------------------------------------*/
2. CSS dokümanınıza imzanızı atın
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)
/************************ ************************ MYK Medya - http://myk-medya.com/ yahoyt.com fatih hayrioglu 28 Mayis 2009 ie6, ff, opera. chrome, safari ************************ ************************/
3. Seçici isimlendirirken standart ve anlamlı isimler verin
Seçici isimleri ve genel isimlendirmede bir standardı oturtun.
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.
#maviKutu yerine #haberKutusu veya #haberAlani tanımı daha mantıklı ve anlamlı bir isimlendirmedir.
İ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.
#icerikOzu{..}
#solIcerikAlani{..}
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.
#icerik_ozu{..}
#sol-icerik-alani{..}
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.
4. Kısaltma kullanın.
CSS tanımlarında kısaltmaları kullanın. CSS kısaltmaları hakkında daha fazla bilgi için http://www.fatihhayrioglu.com/cssde-kisaltmalar/ okumanızı tavsiye ederim.
font-weight: bold; font-family: verdana, sans-serif; font-size: 11px; line-height: 15px;
yerine
font: bold 11px/15px verdana, sans-serif;
5. CSS dokümanlarınızı anlamlı bölümlere ayırın.
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.
@import url(/css/iskelet.css); @import url(/css/fontlar.css); @import url(/css/renkler.css); @import url(/css/sifirlama.css);
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.
Eğer CSS sıfırlama tekniklerinden birini kullanacaksam Bunu imzadan sonraya yazmak. Yada site genel tanımlarını başa yazmak. YUI CSS Reset ve Eric Meyer‘in ki var mesela.
/************************
************************
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: "."; 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 */
6. Her satıra bir tanım yöntemini kullanın
CSS özelliği tanımlarken her satıra bir tanım yazarak daha uygun kod elde edebiliriz.
Ben daha önce her satıra bir özellik tanımı yapıyordum.
#aramaAlani{
float:left;
width:265px;
background-color:#fff;
border:3px solid #525252;
}
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.
Her Satırda Bir Tanım Yapma Yöntemi
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.
#anaKapsul{...}
#ustalan{...}
#icerikAlani{...}
#solIcerikAlani{...}
#sagIcerikAlani{...}
#altAlan{...}
Kodlarımızın daha okunabilir olması içinde girintili bir yapıyı tercih etmeliyiz.
#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;}
7. Kodlarınızı yorum satırları ile açıklayıcı hale getirin.
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.
#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;}
8. CSS özellik tanımlarını sıralayın.
Ö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.
#solIcerikAlani{float:left; width:647px; margin-right:13px}
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.
Sıralayı şöyle yapmak mantıklı olacaktır.
- Konumlandırma, boyutlar (width, height, position, float, clear)
- Kenar için ve kenar dışı boşluklar ve kenar dışı çizgisi (margin, padding, border)
- Metin tanımları (font, line-height, color)
- Diğer özellikler
9. Çalışma gruplarınızda ortak standardınızı oluşturun.
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.
10. CSS Editör araçlarından yararlanın
Daha öncede yazdığım 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ı.
Gelelim CSS Editörlerinin bizim CSS düzenine katkılarına
10.1 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.

10.2 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.

10.3 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.

10.4 Dreamweaver’ın stil dosyalarını standarda oturmak çok kolay.
Edit -> 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.

Notepad ++ daki hizalama çizgileride çok güzel dw olmaması çok üzücü. DW’da hala tam olarak istedikleri karşılaya bilmiş değil, ama bildiğim en iyi editör.

Sonuç
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:
XHTML kodu:
<div >
<div >
</div><!--[if !IE]>ustAlan sonu<![endif]-->
<div >
<div >
<div ><img src="images/promo.jpg" width="647" height="264" alt="Promo" /></div>
<div >
</div><!--[if !IE]>icerikOzu sonu<![endif]-->
</div><!--[if !IE]>solIcerikAlani sonu<![endif]-->
<div >
</div><!--[if !IE]>sagIcerikAlani sonu<![endif]-->
</div><!--[if !IE]>icerikAlani sonu<![endif]-->
<div class="kapsayamamaSorunu">
</div>
</div><!--[if !IE]>anaKapsul sonu<![endif]-->
CSS kodu
/************************
************************
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: "."; 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;}
Kaynaklar
- http://www.webdesignerdepot.com/2009/05/10-best-css-practices-to-improve-your-code/
- https://developer.mozilla.org/en/Underscores_in_class_and_ID_Names (isimlendirme)
- http://davidwalsh.name/format-css-files (güzel örnek)
- http://help.adobe.com/en_US/Dreamweaver/10.0_Using/WS6A10E93F-6587-4e1b-956C-03CBD7F678BBa.html (dw ayarları)
- http://www.smashingmagazine.com/2008/05/02/improving-code-readability-with-css-styleguides/ (süper)
- http://www.louddog.com/bloggity/2008/03/css-best-practices.php
- http://css-tricks.com/indent-css-changes-you-are-unsure-about/
- http://woork.blogspot.com/2008/03/write-well-structured-css-file-without.html (güzel)
- http://woork.blogspot.com/2008/01/optimize-your-css-files-to-improve-code.html
- http://www.smashingmagazine.com/2007/05/10/70-expert-ideas-for-better-css-coding/
- http://css-tricks.com/video-screencasts/8-css-formatting/ (video)
- http://www.graphicrating.com/2009/02/23/css-code-readability-tips/
- http://developer.yahoo.com/performance/rules.html#num_http
CSS ile sayfalama görselliğini ayarlama
Mayıs 29th, 2009 • 10 yorum CSS, Web Standartları, XHTML
Etiketler: CSS, gezinme-alanları, Javascript, sayfalama, Web Standartları
Web sitelerin kodlarken genelde hafızamdaki hazır metotları kullanıyorum. Ancak sonra farklı bir yöntem görünce aklıma “acaba bu daha mı iyi” sorusu geliyor ve araştırma yapmaya başlıyorum. Sayfalamada da aynı durum söz konusu benim için. Burada yaptığım araştırmayı sizlerle paylaşmayı düşünüyorum. Genel olarak sayfalama hakkında bir giriş yapalım sonra kodlamaya geçeriz.
Sayfalama
Web sitelerinde sayfalama genel olarak içeriğin uzun olduğu durumlarda kullanıcıya daha kullanabilir sayfalar üretmek için içeriğin belli mantıksal kısımlara ayrılmasıdır. Genelde arama sonuç sayfalarında, günlük(blog) sitelerinde, uzun içeriğe sahip makalelerde uygulamalarına rastlarız.
Sayfalama alanları genel olarak sitede gezinme alanlarının(navigation) bir parçasıdır. Sitedeki kullanılabilirliği ve düzeni sağlayan normal menü yapılarının dışındaki yapılardır. Aslında bir bakıma gezinme elemanı sınıfına da sokabiliriz. Sayfalama yaparken aşırıya kaçıp görünüşü çok hoş olsun diye kullanıcıyı zora sokan tasarımlardan kaçınmak gerekir. Sayfalamada önemli olan kullanıcı dostu ve işlevsel bir yapı oluşturmaktır, ondan sonra görsellik gelir. İşlevselliği kaybetmeden görsellikde geliştirilebilir. Okumaya devam edin »
CSS İpucu 18: Optimizasyon İçin CSS Medya Dosyalarını Birleştirmek
Şubat 16th, 2009 • 4 yorum CSS, XHTML
Etiketler: birleştirme, CSS, firebug, Firefox, optimize, yazıcı, YSlow
Bir çok web kod yazarı için sayfaların yavaş açılması büyük bir sorundur. Bu sorunun çözümü için çeşitli metotlar uygulanır. Farklı araçlar ile testler yapılır çözümler üretilmeye çalışılır. Sonuçta en kararlı hale ulaşılmaya çalışılır.
Bende bir test aracı ile(Firefox – FireBug – YSlow) test ediyorum. Test ettiğim siteler HTTP isteklerinin çokluğundan dolayı düşük puan alıyor. Fazla sayıda css ve javascript dosyasının eklenmesi bu soruna neden oluyor. Bunun için en kolay ve basit yöntem css ve js dosyalarını birleştirmekten geçiyor.

Genelde projelermizde css dosyalarımızı genel stil için ve yazıcı için olmak üzere ikiye ayırıyoruz.
<link rel="stylesheet" href="/style/iskelet.css" type="text/css" media="screen" /> <link rel="stylesheet" href="/style/yazici.css" type="text/css" media="print" />
Normal ve çıktı almak için bunları bir css dosyasında birleştirerek HTTP istek sayısını azaltabiliriz.
<link rel="stylesheet" href="/style/iskelet.css" type="text/css" />
gibi iskelet.css içeriğinin yapısı ise aşağıdaki gibi olacaktır.
/* all media */
@media all
{
body { color:#666; font:13px arial, helvetica, sans-serif; padding:20px 0 30px 0; }
}
@media print
{
body { color:#000; font:12px arial, helvetica, sans-serif; padding:0; }
}
şeklinde yaparak css dosyalarımızı tek dosya içerisinde toplayabiliriz.
Daha fazla sayıda css dosyası kullanmamız durumunda ise sunucu veya istemci taraflı kod yardımı ile css veya js dosyalarımızı tek bir dosya gibi gösterebiliriz. Bu konuya burada girmeyeceğim. Konu ile alakalı çalışmaların linklerini aşağıda veriyorum.
Kaynak
- http://davidwalsh.name/combine-css-media-styles-file
- http://developer.yahoo.com/performance/rules.html#num_http
- http://www.vulgarisoip.com/2007/06/21/minify-your-external-javascript-and-css-with-php/
- http://www.websiteoptimization.com/speed/tweak/http/
- http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml
- http://yuiblog.com/blog/2006/11/28/performance-research-part-1/
- http://www.sitepoint.com/blogs/2007/04/10/faster-page-loads-bundle-your-css-and-javascript/
- http://www.jaisenmathai.com/blog/2008/02/27/speed-up-apache-how-i-went-from-f-to-a-in-yslow/
- http://www.cloudfour.com/77/easy-steps-to-speedup-your-wordpress-blog/