CSS Sıfırlama Tekniği
Yazar: Volkan Görgülü | Yayın Tarihi:
26 Temmuz 2008 | Yorumlar:
44 Yorum
Kategori: CSS & XHTML
Merhaba arkadaşlar, öncelikle hemen belirtmek istiyorum yazının devamında bu paylaşımımın kota dostu metin sürümünü okuyabilirsiniz. Ayrıca yeni öğrendiğim video işleme teknikleri sayesinde paylaşımım için hazırladığım 8 dakikalık videonun boyutu sadece 14,5 MB
Bu paylaşımımda sizler ile geliştiriciler için muazzam derecede hayat kurtarıcı bir yöntem olan CSS Sıfırlama teknikleri üzerine bilgiler paylaşmak istedim, CSS Sıfırlama tekniği nedir? Bize getirileri neler? Ve paylaşımımın sonunda size en sık kullanılan iki sıfırlama tekniğini göstereceğim.
Kaynak: Videoda kullandığım Eric Meyer’in CSS Sıfırlama tekniği
Dilerseniz bu konu üzerine daha önce yapılan paylaşımlarada göz atabilirsiniz;
- Tarayıcı Uyumluluğu için CSS Sıfırlama, Yakuter
- CSS Sıfırlama, Bildirgeç
- Reset.css ve Kurtardığı Hayatlar, SiberKültür
Lütfen Tartışalım
Arkadaşlar lütfen sizde CSS Sıfırlama konusunda kendi tecrübelerinizi yazınız ve yeni başlayan arkadaşlar ise soruları var ise lütfen çekinmeden sorsunlar. Güzel bir tartışma ortamı olursa paylaşımım çok daha faydalı olacaktır, şimdiden paylaşımıma katkı yapacak herkese teşekkürler!
Metin Sürümlerinin Devam Etmesini İstermisiniz?
İlk defa bu paylaşımım için ayrıca bir metin sürümü hazırladım, nasıl arkadaşlar faydalı buldunuz mu? Bu şekilde devam etmemi istermisiniz? Metin sürümüde yeterince açıklayıcı ve faydalı mı? Lütfen yorumlarınız ile düşüncelerinizi paylaşın.
Beni Takip Edebilirsiniz
Arkadaşlar paylaşımlarımı faydalı buluyor iseniz beni RSS, Twitter ve FriendFeed yayınlarımdan takip ederek, paylaşımlarımdan yayınlanır yayınlanmaz haberdar olabilirsiniz.
CSS Sıfırlama Tekniği Metin Sürümü
Arkadaşlar biz bir XHTML dökümanı için hiç bir CSS tanımlaması yapmasak da, dökümanı bir internet tarayıcısında açtığınızda etiketleri varsayılan stilleri ile görürsünüz. Aşağıdaki resme bakacak olursak

hiç bir stil tanımlamama rağmen başlık etiketinde üst ve alt boşluklar var ve ayrıca paragraf ile karşılaştıracak olursak puntosu çok daha büyük. Paragrafın altındaki listenin de kendine has bir stili var.
Peki Sorun Nerede?
Şöyle bir sorun var, malesef bu varsayılan tanımlamalar internet tarayıcıları arasında değişiklik gösterebiliyor, hemen size uygulaması basit ama çok etkili bir örnek göstermek istiyorum. Sırası ile şu işlemleri yapacağım;
- Yeni bir XHTML dökümanı açacağım
- Body etiketinin margin ve padding değerlerini 0 olarak tanımlayacağım
- H2 etiketini kullanarak sayfaya Web Deneyimleri yazacağım
- Son olarak, size farklılıkları daha rahat gösterebilmek için H2 etiketine 1px değerinde, kırmızı bir sınır vereceğim.
Dilerseniz bahsi geçen XHTML dökümanını buradan görüntüleyebilirsiniz.
Gelin Testimize Başlayalım
Aşağıdaki resimlerde farklı internet tarayıcılarında yukarıda oluşturduğum dökümanı açtığımda karşılaştığım görüntüleri görebilirsiniz.
Internet Explorer 6

Gördüğünüz gibi Internet Explorer 6 da H2 etiketi için herhangi bir üst boşluk yok.
Internet Explorer 7

Internet Explorer 6′nın ortanca abisi IE 7 de H2 etiketi için herhangi bir boşluk göstermiyor.
Internet Explorer 8

En büyük abi Internet Explorer 8 web standartlarını dikkate aldığından mıdır nedir, H2 etiketine 18px lik bir üst boşluk koyuyor.
Windows için Safari

Safari ise H2 etiketi için 19px değerinde bir üst boşluk tanımlıyor.
Opera 9.0

Yok mu arttıran
Opera’da ise üst boşluk değeri 20px’e çıkıyor.
Firefox 3

Sonuç?
Sadece H2 etiketi için durum böyle iken gerisini siz düşünün, işte CSS Sıfırlama tekniği kullanılmadığı zaman internet tarayıcıları arasında farklı görüntüler ortaya çıkabiliyor.
Bu durumu engellemek için tarayıcıları bir şekilde sıfırlamalıyız ki kodumuzu geliştirmeye tüm tarayıcılarda eşit şartlar ile başlayalım.
Teknik 1: Basit Sıfırlama
CSS dökümanımızın en başına aşağıdaki kodu ekliyoruz;
* {margin:0; padding:0}
Kullandığımız bu kod parçasının türkçesi şu demek, “Tüm HTML etiketlerinin margin ve padding değerlerini sıfırla”. Kolayca anlaşılabileceği gibi bu teknik tamamen bir sıfırlama işlemi yapmıyor ve * seçicisini kullanmanın tarayıcıları yorduğu söyleniyor.
Teknik 2: Tam Sıfırlama
Eric Meyer tarafından geliştirilen bu teknikte, CSS dökümanımızın en başına aşağıdaki kodu ekliyoruz;
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
body {
line-height: 1;
color: black;
background: white;
}
ol, ul {
list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: separate;
border-spacing: 0;
}
caption, th, td {
text-align: left;
font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
blockquote, q {
quotes: "" "";
}
Bu teknikte ise kodlardanda anlaşılabileceği gibi bütünüyle bir sıfırlama söz konusu ve ilk tekniğe nazaran kullanımı çok daha fazla.
İşte size bir anket sonucu
Arkadaşım Chris’in kendi blogunda yaptığı bir anketin sonuçlarını sizinle paylaşmak istiyorum. Chris sormuş “Hangi CSS Sıfırlama Tekniğini” kullanıyorsunuz,

Gördüğünüz gibi 27% lik bir dilim Eric Meyer’ın geliştirdiği tekniği kullanıyor, 26% lık bir kesmin CSS Sıfırlama tekniği hakkında hiç bir bilgisi yok, 15% lik dilim ise yukarıda sizler ile paylaştığım ilk tekniği kullanıyor.
Peki Hangi Tekniği Kullanmak Lazım?
Bu soruya ben kendi tecrübelerimden yola çıkarak şöyle cevap verebilirim, Eric Meyer’in CSS Sıfırlama tekniğini kullandığınız zaman, tüm stiller sıfırlandığından çok fazla tanımlama yapmak zorunda kalıyorsunuz. Düşünün bir em kullandığınızda metin yatık gözükmeyecek, strong kullandığınız zaman metin koyu gözükmeyecek. Bu tanımlamaları baştan yapmanız lazım ya da sıfırlama kodundan bu etiketleri çıkartacaksınız.
Bitiriyorum
Sonuç olarak şunu söyleyebilirim eğer tüm kontrolün sizin elinizde olmasını istiyorsanız kesinlikle Eric Meyer’in sıfırlama tekniğini kullanın ancak ben her etiketi tanımlamak ile uğraşmak istemiyorum zaten o kadar da bir bilgim yok, geliştirdiğim kod tarayıcılar arasında genişlik boşluk açısından farklı gözükmesin yeter diyorsanız ilk tekniği öneririm.
Bir sonraki paylaşımımda görüşmek üzere
Başka bir paylaşımımı inceleyebilirsiniz
Düşüncelerinizi duymaya ihtiyacım var!
Zamanınızın çok küçük bir bölümünü ayırarak, bu form aracılığı ile yazı hakkındaki düşüncelerinizi paylaşabilirsiniz.

Yazıya Gelen Yorumlar
1
Oğuzcan Şahin
26 Temmuz 2008´de söylemiş
Süper! hem video hem text ve en sık karşılaşılan ve bir çok kişinin yapamadığı bir konuya değinmişsin! Tebrikler Volkan
2
Volkan Görgülü
26 Temmuz 2008´de söylemiş
@Oğuzcan, teşekkür ederim, peki sen bu tekniklerden birini ya da başka bir tekniği kullanıyormusun? Kullanıyor isen neden o tekniği kullanıyorsun?
3
Oğuzcan Şahin
26 Temmuz 2008´de söylemiş
Rica ederim, Valla Volkan ben işime hangisi o an yarar ise onu kullanıyorum
Bu bazen Eric Meyer’s Reset, Bazen Yahoo! bazen de kendim hallediyorum. Ama yeni arkadaşların bilmesi gereken bir şey var mutlaka kullanmalılar. Aslında ülkemizde CSS ile arayüz kodlamaya yeni başlayan arkadaşlar CSS Reset kavramlarını bilmiyorlar olabilirler ya da bilseler bile o kadar kodu bir arada gördükleri için korkuyorlar ya da çekiniyorlardır
Bu yüzden de XHTML&CSS ile birlikte geniş çaplı projeler yapmaktan korkuyorlar gibi düşünüyorum. Çünkü başlarda benim de çekingenliklerim olmadı değil
.
4
zonaye
26 Temmuz 2008´de söylemiş
Anladığım kadarıyla bu reset olayı tasarımlarda olduğu gibi kullanılması için değildir. Bu resetlerin verilmesinin sebebi hangi önceden değeri olan (h1, br vd.) etketlerin hangi özelliklerinin kendiliğinden var olduğu ve bunların sıfırlanmasına yarayan kodlardır.
ben sadece * kullanılmasını yeterli görüyorum yani zaten diğer tanımlamalarda css kod yazarken etiketlerin yükseklikleri sorun oluyor o da * ile sağlanabilir. Onun dışında h1 i sıfırlamanın br yi sıfırlamanın manası yok. Sadece tarayıcılarda değişik biçimde çıktığında veya kendiliğinden istemediğiniz bir özellik atadığında bu reset kodlarına bakarak nerenin sıfırlanması gerektiğini bulabilir ve kullanabilirsiniz…
5
Gürkan OLUÇ
26 Temmuz 2008´de söylemiş
Tebrikler Volkan güzel çalışma
Ben Yahoo CSS Reset kullanıyorum. Herkesede tavsiye ediyorum
CSS Reset gerçekten oldukça işe yarıyor. Bunu CSS reset kullanarak kodladığım bir arayüzden sonra “acaba CSS Reset’i kaldırınca n’olacak ki?” sorusunu sorup, daha sonrasında da onu kaldırdığımda anladım
Sayfa dağaldı
6
Ozan KOCADEMİR
26 Temmuz 2008´de söylemiş
Makale için teşekkürler Volkan!Ben ise Eric Meyer’s tekniğinide ve yahoodan birisi kesinlikle kullanırım.Ama hangisi daha iyi tartışılması gereken bir konu…
7
Şükrü Şükrüoğlu
26 Temmuz 2008´de söylemiş
Gerçekten güzel bir video olmuş devamnın dikkatle bekliiyorum
8
Cihan ÖNER
26 Temmuz 2008´de söylemiş
Her zaman ki gibi güzel bir paylaşım ve video olmuş. Eline koluna sağlık Volkan hocam..
9
fatihturan
26 Temmuz 2008´de söylemiş
Röpörtajımızda da bu konuyu konuşmuştuk seninle Volkan.
Tekrar bu konuyu bu yazıda derinlemesine anlatman CSS’e yeni başlayan veya çapraz tarayıcı (cross-browser) uyumsuzluğuyla uğraşan geliştiriciler için iyi bir kaynak olmuş. Zira CSS’ye yeni başlayanları epey zorluyor bu konu.
Ben, yukardaki ankette de görüldüğü üzere çoğu kişinin kullanıyor olduğu Eric Meyer’in CSS sıfırlama tekniğini kullanıyorum.
Yanlız kendime göre bazı ufak tefek değişiklikler yapıyorum tabi. Mesela sıfırlanmasını istemediğim etiketleri CSS dosyasında /* */ ile yorum içine alıyorum (mesela strong etiketi). Kendi eklemelerimi yapıyorum. Kısacası kendime göre en optimum yöntemi kullanıyorum.
Sonuç olarak şunu söyleyeyim; çapraz tarayıcı uyumsuzluğu ile kısmen de olsa başa çıkabilmek için bir sıfırlama tekniği veya en azından “hard reset” diye tabir edilen
* { margin:0; padding:0 }kodu epey yararlı oluyor.10
Emre Delibas
26 Temmuz 2008´de söylemiş
Bu konu gerçekten çok işime yaradı uzun süre araddığım bi sorunun çözümünü bulmuş oldum teşekkür ederim değerli paylaşımınız için !!!
11
Volkan Görgülü
26 Temmuz 2008´de söylemiş
@Gürkan, evet haklısın bazen bende yapıyorum aynı işlemi ve sonuç dediğin gibi oluyor
@gfx, haklısın, dengeyi ayarlamam lazım, çok teşekkürler
@Fatih, evet bencede en iyi çözüm Eric Meyer’in tekniğini işinize yarayacak şekilde uyarlayıp kullanmak, teşekkürler.
12
Volkan Görgülü
26 Temmuz 2008´de söylemiş
@Emre, çok mutlu oldum bunu duyduğuma
13
ahmet kadir
26 Temmuz 2008´de söylemiş
Çok canımı sıkan ve çözümünü (bilgim dahilinde) bulamadığım bir konunun cevabını hem görüntülü hem de yazılı olarak anlattığınız için çok teşekkür ederim. Ne desem az.
14
ahmet
27 Temmuz 2008´de söylemiş
Volkan, blogun cok guzel bir calisma olmus, tebrik ediyorum. azmin ve hevesini takdir ettim
15
Volkan Görgülü
27 Temmuz 2008´de söylemiş
@Ahmet Kadir, @Ahmet, çok teşekkür ederim, çok mutlu oldum
16
Emre Sümer
28 Temmuz 2008´de söylemiş
Volkan metin olarak da yayınlaman çok güzel olmuş.
Css’yi fazla şişirmemek lazım
Ben de Eric Meyer Css reset kodunu kullanıyorum. Yapılacak işe göre kullanmayacağım elemanları siliyorum tabi
17
Jnbn
30 Temmuz 2008´de söylemiş
Merhaba,
Ben de Eric Meyer’in tekniğini kullanıyorum. Bunu seçmemdeki asıl gerekçe, belirtilen listede belirtilen tüm özelliklerin sıfırlanmasının aslında mantıklı olduğunu düşünmem. Kısaca anlatmak gerekirse tipografik ve hizalama olarak bile zaman zaman tarayıcılar arasında bir farklılık olduğunu kolayca gözlemlemek mümkün oluyor. Bu nedenle Eric Meyer’in tekniği biraz daha kullanışlı ve amaca yönelik olacaktır diye düşünüyorum.
Ama bunların yanında şu da var ki, basit olarak düşünürsek bu anlatımın veya bu uygulamaların en genel amacı CSS ile ilgili problem yaşayan veya CSS ile uğraşmaya yeni başlayan insanları bilgilendirmektir. Ve öyle sanıyorum ki, yeni başlayan veya problem yaşadığını bildiğimiz birisine Eric Meyer tekniği uygulamayı empoze edip onu bütün kullandığı etiketler veya sınıflar için teker teker elle CSS yazmaya zorlamak pek doğru olmayacaktır.
Bu nedenle şahsi düşünceme dayalı olarak, Eric Meyer’in tekniğinin sadece CSS ile uzun zaman geçirmiş ve biraz daha advanced bilgi sahibi olan kişiler tarafından kullanılmasını tavsiye ediyorum.
Yeni başlayan veya çok ileri bilgisi olmayan pek çok insanın işini hard reset görecektir..
Başarılar
18
Volkan Görgülü
30 Temmuz 2008´de söylemiş
@Jnbn, kesinlikle katılıyorum!
19
veyselkeles
01 Ağustos 2008´de söylemiş
volkan çok teşekkürler bu bilgiler için. bugün bahsettin bana biraz ama sıfırlama diye falan anlamamıştım meğer tam da ihtiyacım olan birşeymiş.
20
ümran
01 Ağustos 2008´de söylemiş
css le yeni haşır neşir olmaya başlamış biri olarak gerçekten çok işime yaradı.. ayrıca metin olarakta yayınlamanız daha iyi olmuş..
21
NeTHaLiL
03 Ağustos 2008´de söylemiş
iyi bir çözüm ve iyi bir paylaşım yine… Sanırım bu tarayıcılar yüzünden baya bir başımız dertte, CSS yöntemleri de olmasa ne yapardık…
22
sedran
07 Ağustos 2008´de söylemiş
Çok teşekküre ederim çok güzel bir paylaşımdı bu, yeni bir tema hazırlıyorum ve aklıma ilk olarak buraya gelip css sıfırlama kodlarını kopyalamak geldi
2. tam sıfırlama başlığını kullandım, ve biraz da uyarlamaya çalıştım onu kendime.
23
Bilal
09 Ağustos 2008´de söylemiş
Volkan hocam harikasın.. 30 günlük bi zaman dilimde bunları başarman çok mükemmel birşey..Bundan sonra takipcinim unutma
24
Yalçın GÖRMEZ
18 Ağustos 2008´de söylemiş
Ankette çıkan gibi en iyisi Eric Meyer’s method. Aslında anlamadığım olay şu neden asterix ile yapılana hard reset demişler acaba. Benim bildiğim hard reset işi kökten halledendir Eric Meyer gibi ancak asterix onun yanında soft kalır da neyse
Paylaşım için teşekkür ederim, web deneyimleri gerçekten ismine layık konularla açılmış ve ilerlemiş çünkü her yerde aynı şeyler (genelde tercüme) hiçbiri tecrübe değil ancak bunlar tecrübe üzerine araştırma kokusunu verdi burnuma.
25
emin
29 Ekim 2008´de söylemiş
Paylaşım oldukça yararlı. Web sitesi yapanlar keşke bu standartlara uysa. Kullanıcılarda rahatca işlerini görebilse.
Bu teknikde sitenin istenilen şekilde tam net görünmesine katkı sağlıyor.
Payşlaşım için teşekkürler dostum..
Çalışmalarının devamını bekliyorum..
26
Orhan
14 Aralık 2008´de söylemiş
Merhaba volkan abi paylaşımın çok yararlı basit bir şekilde anladım benim sormak istediğim bir soru olacaktı bu cssleri sitelere kodlarken dreamweawerdamı cssleri oluşturuyorsun,daha sonrada note ++ açıp gerekli düzenlemeleri yapıyorsun yoksa 0′danmı css kodluyorsun elle ben daha yeniyim o yüzden soruyorum paylaşım çok güzel allah seni sevdiğine kavuştursun
27
mugi
16 Aralık 2008´de söylemiş
bende denedim teknigi fakat bendeki problem farkli
ie de sayfa solda
firefoxda ortada ve gayet duzgun
sifirlama tekniginde bu dedigimi gerceklestirmedi ? nasil cozebilirim
28
gürcan
20 Ocak 2009´de söylemiş
ya arkadaslar biliorum belki konudan uzak ama size soru sormak istiyorum…bu sitelerde büyüyen yazıyı hangi kodlarla düzeltebilirim.hani ctrl tuşuna basarken mausun scroll tekerlegini oynatınca yazi büyüyüp kücülüyor bunu nasıl engelleyebilirim…
29
Resul Ünal
23 Ocak 2009´de söylemiş
gerçekten güzel bir video olmuş askerdeymişsin hayırlı teskereler
30
Aziz Necati
30 Nisan 2009´de söylemiş
Herkese merhabalar,
jnbn dediği gibi,
“Bu nedenle şahsi düşünceme dayalı olarak, Eric Meyer’in tekniğinin sadece CSS ile uzun zaman geçirmiş ve biraz daha advanced bilgi sahibi olan kişiler tarafından kullanılmasını tavsiye ediyorum.”
kesinlikle katılıyorum.
Çok güzel çalışma olmuş, bundan daha iyi nasıl olabilir diye düşünüyorum. Zira hem video güzel bir şekilde hazırlanmış, hem de yazılı hale getirilmiş, ki ben video’yu dinlerken not alıyordum
ki daha sonra farkettim yazılı hale getirildiğini.
Sadece video (yazılı hali yok), yada sadece yazı (videosu yok) yerine bu şekilde olması çok orjinal ve güzel olmuş. Ama zahmetli bir iş. Birilerine yardımcı olmak, amme hizmeti için hem video yu hazırlarken, hem yazılı hale getirirken bayaaa bir vakit ve dikkat gerekiyor. Tebrikler, ellerine sağlık. Devamı nasip olsun inş.
31
slmzmn
20 Haziran 2009´de söylemiş
Hocam sitemde indexteki konulardaki yorum sayılarını veren bilgi var. Firefoxda düzgün gösteriyor İE 6 da aşagıya atıyor yardımcı olurmusunuz. site nickte.
32
Dogan
26 Ocak 2010´de söylemiş
Merhaba;
Paylaşım için teşekkürler.Sitemin margin padding ayarlarını yapmıştım.
* {margin:0; padding:0}
Bu kodu kullanmıştım.Anlayamadığım bir sebeppten bikaç hafta sonra tepede bir boşluk oluştu,backgraund siyah olduğu için bu belli olmuyor ama alttaki butonlar gözükmüyor.sitedeki boşluğu preloader yüklendikten sonra çıkan dumanı tepeye götürürseniz orda bir boşluk olduğunu görebilirsiniz.Düzeltemedim bi türlü.Düzeltebilirsem buraya yazarım.Fikri olan varsa buraya yazabilirmi yada dogan.cm@hotmail.com adresine gönderebilirmi.tşkler
33
Volkan Görgülü
26 Ocak 2010´de söylemiş
body etiketinden hemen sonra aşağıdaki yazı kalmış, silersen ve body etiketine padding:0 stilinide eklersen problem kalmayacaktır.
“>
34
namso-01
14 Şubat 2010´de söylemiş
açıkçası eric meyer’in kullanmak geliyor içimden fakat eksilterek kullanmak istiyorum. Neticede amacımız tüm tarayıcılarda aynı görünmek ama yazılarımızında dikkat çekebilmesi için bazı etiketleri kaldırmak gerek. Örnek olarak strong yada em
Geri İzlemeler