Professional Documents
Culture Documents
baz pahal hatalardan kanmak adna gz gezdirmenizin yararl olaca CSS Gelitiricilere 30 pucu
1. Anlalr Olmak
CSS kodlarnzn anlalabilir olmas olduka nemli. eitli gncellemeler yapmak istediinizde kendinizi kaybetmek istemezsiniz. Kullandnz bir divin ieriini paralara blmek yerine tek bir seferde yazmanz mantkl olacaktr. 1 . h e r a n g i b i r D i v{b a c k g r o u n d :r e d ;p a d d i n g :2 e m ;b o r d e r :1 p ? x
Her stili tek bir satrda yazmanz ve divin satrndan 1 tab ieride olmas anlalrln arttracaktr. 1 2 3 4 5 . h e r a n g i b i r D i v{ b a c k g r o u n d :r e d ; p a d d i n g :2 e m ; b o r d e r :1 p xs o l i db l a c k ; }
?
2. Tutarllk
CSS iin kendi standartlarnz oluturmaya balayn. Bylelikle birden fazla projede benzer classlarla alyor olacaksnz ve hakimiyetiniz kodlar rahatlkla hatrlyor olacanzdan artacaktr. rnein bir wordpress sistemi default olarak grsel editrden bir fotoraf saa yaslarsanz otomatik olarak .captionright classn verecektir. Dolaysyla birden fazla temanzda .caption-right float: right; olarak ayn ekilde kullanyor olmalsnz.
3. Framework
Her ne kadar kullanmasam ve hatta tavsiye etmesem de araba kullanmak iin tekerlei tekrar icat etmek istemeyenler iin faydal olabilecek, size zaman kazandrabilecek olan Frameworkleri tercih eden gelitiriciler var. Benim dncem mevzu araba veya tekerlekten te arabann nasl altn bilmek ile ilgili. Kendinizi nasl rahat hissediyorsanz o ekilde devam edin. Fakat framework ile balamayn, belirli bir sre sonra doru bir adm ile framework kullanmaya balayabilir veya kendi frameworknz yazabilirsiniz. Tavsiye edebileceim 960.gs var. (Tasarlarken kullanyorum fakat CSS gelitirirken framework olarak faydalanmyorum.)
4. Reset
h1 kodu iin herangi bir stil tanmlamasanz da fontun otomatik olarak byk olduunu greceksiniz. Bu browserlarn default olarak tanmlad stil zelliklerinden biri. Ne yazk ki bu default olarak tanmlanan geler tm browserlarda ayn ekilde tanml deil. Kk bir rnek olarak Firefox 3te paragraflardan nce boluk olmasna ramen IE 7de herangi bir boluk yok. Bu tarz kk ayrntlar tasarmnzn farkl browserlarda farkl grntlenmesine neden olacaktr ve baz projelerde bu farkllklar olduka nemli. te bu noktada Reset CSS oluka zekice bir i yapp tm bu deerleri sfrlayarak bize tam hakimiyet salyor. Eric Meyer ve YUI 2yu Reset CSS olarak tavsiye ediyorum.
5. Yap
Stil dosyanz tasarmda kullandnz ge sralamasnda kodlamanz kullanl olacaktr. Genel classlar (body, a, p, h1, vs.) #header #nav-menu #main-content Ayrca her blm bana notlar almay da unutmayn. 1 2 3 4 5 / * * * * * *h e a d e r* * * * * * * * * / h e a d e rs t i lk o d l a r / * * * * * *f o o t e r* * * * * * * * * / f o o t e rs t i lk o d l a r
?
6. Elementleri Birletirmek
h1, h2, ve h3 isimleriyle 3 adet elementiniz var. tahoma fontu ve #333 rengi bu elementler iin ortak, ayrca her birinin birbirinden farkl boyutlar var. Dolaysyla ortak elementleri birlikte kodlamak ilerleyen gnlerdeki deiikliklerinizde hakimiyet ve kolaylk salar. 1 2 3 4 h 1 ,h 2 ,h 3{ f o n t f a m i l y :t a h o m a ,c o l o r :# 3 3 3 } h 1{ s i z e :2 . 1 e m } h 2{ s i z e :1 . 6 e m } h 3{ s i z e :1 e m }
?
7. nce Markup
lk bakta HTML ve CSSi ayn anda gelitiriyor olmak mantkl geliyor olabilir fakat yaplmas gereken mockup olarak HTMLi kodlamak, zorlanlabilecek ksmlar belirlemek, onlara gre zel zmleri hayal ederek HTMLli gelitirmek, ardndan CSS kodlarn yazmaktr. CSSteki eitli gereksinimlerinizde HTMLde tekrar deiiklik elbette yaplabilir. ncelikle HTMLi yazmanz default layout olarak siteyi grmenizi, temiz bir kod yazmanz salayacaktr. Ayrca gereksinimlerden dolay srekli ncelik CSS kodlarnz yenileme gereksinimizi de ortadan kaldryor olduunu farkedeceksiniz.
Ufak bir not: HTML semantik olarak markup ve ierik iindir, CSS ile sunarsnz. Eer bir deiiklik iin CSS deil de HTMLi dzenliyorsunuz bir eyleri yanl yapyorsunuz demektir.
9. Doru Doctype
CSS dorulamalar Doctypenza gre yaplr, Doctypenza gre browserlar sitenizi bambaka okuyabilir. Fix Your Site With the Right DOCTYPE! bu konuda nemli bir kaynak. Ben tm projelerimde HTML5 Doctype kullanmaya baladm. 1 < ! D O C T Y P Eh t m l >
?
10. Ksaltmak
padding, margin, font gibi eitli deerlerde kodlarnz ksaltmanz gayet mmkn. 1 2 3 4 5 # r s s{ m a r g i n l e f t : 5 p x ; m a r g i n r i g h t : 7 p x ; m a r g i n t o p :8 p x ; }
?
11. Yorum
1 / *y o r u m l a r* /
?
eklinde css kodlarnza yorum ekleyebilir, belirli bir zellii /* */ arasna alarak pasif hale getirebilir, eitli buglar not alabilirsiniz.
Block elemenletler: 1 d i v ,h 1 . . . h 6 ,p ,u l ,l i ,t a b l e ,b l o c k q u o t e ,p r e ,f o r m
?
Block ve Inline olarak kullanabileceiniz, clearfixe gerek duyacanz durumlar srekli kontrol edin.
Gz ile taramanzda uzun vadede size zaman kazandracak, ayrca firebug gibi eklentilerle cssnizi grntlediinizde otomatik olarak alfebatik sraladndan eitli deiikliklerinizi el ile gncellemek istediinizde beni hatrlayacaksnz.
14. Sktrma
CSS dosyalarnn boyutu normalde fazla byk olmaz fakat sitenizin aln bir nebze olsun hzlandrmak iin final dosyanzn satr boluklarndan CSS Compressor ve CSS Optimizer kullarak kurtulabilirsiniz.
kullanmalsnz.
eklinde kullanmak yerine h1i kapsayan divi parent olarak kullanp stil verebilirsiniz. 1 < h 1 > H e a d e rT e x t < / h 1 >
?
18. Firebug
Firebug eer kullanmyorduysanz napyorsanz durun, Firebug kurun. Olmazsa olmaz aracnz olacak! debug JavaScript, inspect HTML, hata bulma gibi zellikleri real-time dzenlemeler derken ertesi gn Firebug yokken gelitiriciler ne yapyordu diyeceksiniz.
19. Cross-Browser
Cross-Browser desteklemiyor olsa bile CSS ile kimi browserlara gzellikler yapabilirsiniz. Hatta sonrasnda Prefixr ile mmkn olduunca tm browserlara uygulayabilirsiniz. 1 2 . b o x{ o p a c i t y :. 5 ;
?
21. Text-Transform
Text-transform ile ieriklerinizi CSS zerinden ynetebilirsiniz.
25. Listelemenin Gc
Listeleme olduka gzel ve gl bir zelliktir. Ayrca semantic olarak da anlam verir. CSS3n salad gzelliklerle nthchild (first,last, 1, 5.. )a zel stil verebilmemiz bence r aan zelliklerden. 1 2 3 4 5 6 < u li d = " n a v " > < l ic l a s s = " c a t i t e mc a t i t e m 2 9 1 "
?
< / l i > < l ic l a s s = " c a t i t e mc a t i t e m 1 8 7 " > < at i t l e = " M e d y a d aR S SK i t a p ' aY e rV e r e n l e r " < / l i > < / u l >
b o d y# c o n t a i n e r. s o m e c l a s su ll i{ . . . . }
eklinde kullanmak daha doru. Bu ekilde css dosyanz maher alan gibi olmaz.
*{ m a r g i n : 0 ; p a d d i n g : 0 ; }
30. / Kapatn
XHTML validator ile eksiklerinizi farkedin. Boa krek ekmeyin. Not: Umarm anlalr bir makale olmutur. Hatam varsa affola, yorumlarsanz annda dzeltmek iin adm atabiliriz. Unutmadan: Yazy betimleyen thumbnaili tamamen css ile oluturuldu. Teekkrler Jeffrey Way, ayrca makale Nettutsa ve Glen Stansberry ayrca teekkrler. Biraz daha teknik blog yazlarna ynelmek istiyorum, eer blogun gidiat konusunda syleceiniz olursa ltfen ekinmeyin. Teekkrler.