Hangi HTML5 sıfırlama CSS'sini kullanıyorsunuz ve neden? [kapalı]


123

Hangi HTML5 sıfırlama CSS'sini kullanıyorsunuz ve neden? Daha fazla vakayı kapsadığını bulduğunuz bir tane var mı?

HTML5 Doktor'u kullanmaya başladım: http://html5doctor.com/html-5-reset-stylesheet/ İşe yarıyor gibi görünüyor, ama orada daha iyi bir şey olup olmadığını merak ediyorum.



Benzer bir evet, ancak daha çok çalışmasını sağlamak için birini değiştirmek yerine başka birini kullanmayı düşünüyorum, böylece daha sonraki bir tarihte gerekirse daha yeni bir sürümü kopyalayabilirim.
Darryl Hein

20
D_N Bunu anlıyorum, ancak HTML5'in CSS üzerinde, özellikle nav veya kenara gibi diğer etiketleri eklemeniz gereken sıfırlanmış bir CSS üzerinde etkisi vardır.
Darryl Hein

Yanıtlar:


40

Gerçek konuşma: İndirimler kaikai haklı olmasına rağmen, yalnızca * padding & margin'i 0'a sıfırlamanız gerekir.

Maalesef% 99'umuz, yüzlerce tarayıcı sürümüne ayak uyduracak kaynaklara veya insan gücüne sahip değiliz. Bu nedenle, tipik bir web sitesi için bir sıfırlama sayfası gereklidir.

html5reset: (Bu çok rahatsız edici)

Az önce http://html5reset.org/ adresine baktım

img,
object,
embed {max-width: 100%;}

Ve:

html {overflow-y: scroll;}

İyi niyetli olduğunu anlıyorum ama bu bir sıfırlama sayfasının işi değil. Çok fazla varsayım yapıyor.

BluePrint Sıfırlama: (tam anlamıyla bir taslak)

body {
  line-height: 1.5;
  background: white;
}

1.5. Ve neden arka plan beyaz? (Bunun düzeltmek için olduğunu biliyorum ama yine de gerekli değil)

Normalize.css: (Normal değil)

https://github.com/necolas/normalize.css/blob/master/normalize.css

Bazı webkit / ie hack'lerle iyi başladı ama

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

h2 {
    font-size: 1.5em;
    margin: 0.83em 0;
}

h3 {
    font-size: 1.17em;
    margin: 1em 0;
}

h4 {
    font-size: 1em;
    margin: 1.33em 0;
}

h5 {
    font-size: 0.83em;
    margin: 1.67em 0;
}

h6 {
    font-size: 0.75em;
    margin: 2.33em 0;
}

Her başlık etiketi hedeflenmiştir. & vücudun hat yüksekliğini sıfırlamazlar.

Eminim yukarıdakilerin tümü amaçlanan işi iyi yapar, ancak muhtemelen gereğinden fazla geçersiz kılınacaktır.

Eric Meyer

YUI

HTML5Boilerplate

Yukarıdakiler, popülerlikten dolayı emin olduğum (aşırı dostça) tarafa eğilen Boilerplate ile profesyoneller için daha fazla. Şu anda özelleştirilmiş sıfırlamamın% 80'i standart metindir.

Her üçüne de yavaş yavaş gideceğim ve kendim yapacağım, bu roket bilimi değil.


2
Normalize.css'nin şimdiye kadar değiştiğini unutmayın; başlıkların yazı tipi boyutları artık ayarlanmamaktadır.
Ruben Verborgh

2
Normalize.css'nin yalnızca masaüstü tarayıcılarını değil, aynı zamanda iOS Safari, Android için Chrome, stok tarayıcılar ve diğerleri gibi kendi başlarına benzersiz olan mobil tarayıcıları da yönettiğini belirtmek gerekir. Bu nedenle ve diğerleri Normalize birçok popüler çerçevede pişirilir.
Matt Smith

Eskiden 'Eric Meyer' kullanıyordum ama şimdi bu yüzden
Daniel Sokolowski

19

Normalize.css hem masaüstü hem de mobil tarayıcılar için harikadır ve birçok popüler HTML şablonunda kullanılır.

Peki ya ve alldışındaki CSS özelliklerini sıfırlayan CSS özelliğini kullanmaya ne dersiniz ? Bu şekilde, herhangi bir ek dosya eklemenize gerek kalmaz:directionunicode-bidi

{
    all: unset
}

CSS all, IE / Edge dışında geniş desteğe sahiptir. Benzer şekilde unset.


İlginç, ancak en yavaş çözüm gibi görünüyor ve yalnızca Firefox'ta destekleniyor, bu nedenle gerçek bir kullanımı yok (en azından bu noktada).
tomasz86

Şu anda sadece Firefox'un desteklediği doğru ama bence Modernizr gibi çözümlerle sonuçlanma şansı çok yüksek. github.com/Modernizr/Modernizr/issues/1219
Matt Smith

6

Reset.css kullandığı Blueprint CSS çerçevesi iyi çalışıyor ve HTML5 öğeleri içermektedir. Onların screen.css dosyasına dahil edilir .

Blueprint, yeni sitelerin hızlı prototiplenmesi için yararlı bir kaynaktır ve kaynak kodları iyi organize edilmiştir ve öğrenmeye değerdir.



3
  1. Birçok CSS sıfırlamasının aksine, kullanışlı varsayılanları korur.
  2. Çok çeşitli HTML öğeleri için stilleri normalleştirir.
  3. Hataları ve yaygın tarayıcı tutarsızlıklarını düzeltir.
  4. İnce iyileştirmelerle kullanılabilirliği artırır.
  5. Ayrıntılı yorumları kullanarak hangi kodun yaptığını açıklar.

normalize.css


2
* {
    margin: 0;
    padding: 0;
}

basit ama tamamen etkili. belki bir de at:

body {
    font-size: small;
}

iyi ölçü için.


9
Varsayılan kenar boşluğunu zaplamak ve form kontrollerinde dolgu yapmak istenmeyen etkilere neden olabilir ve adlandırılmış yazı tipi boyutundaki anahtar sözcükler tarayıcılar arasında tamamen tutarlı davranışa sahip değildir. Bu aşırı derecede basittir. Ayrıca HTML 5'te tanıtılan öğeler için stiller ayarlayamaz, böylece kalırlar display: inline.
Quentin

4
Katılmıyorum. Kenar boşluğu ve dolgu, tahmin edilemeyen tek özelliklerdir. Font-size özelliği, özellikle bunları okuyan tarayıcıları hedeflemek için adlandırılmış bir anahtar sözcük kullanır, bu da YUI yazı tipi ölçeklerini her büyük tarayıcıda etkili kılar ( developer.yahoo.com/yui/examples/fonts/fonts-size_source.html ). Öğelerin normal akışını da asla empoze etmek istemezdim ve bu yüzden bu HTML 5 öğelerini yalnız bırakıp, yalnızca görüntüleme türlerini veya konumlarını gerektiği gibi değiştirirdim. Seçimimin popüler olmadığının farkındayım, ancak diğer çözümlerden çok daha şık ve işe yarıyor.
kaikai

3
Hayır hayır Hayır Hayır Hayır! HTML5 öğelerinin görüntü özelliği kümesi yoktur, bu nedenle nazikçe varsayılana geri dönerler display: inline. Hiç üstbilgi, altbilgi, gezinme, yan sütunlar, hemen hemen her sayfa bölümünün satır içi aktığı bir site diyagramı gördünüz mü ??? Üzgünüm kaikai, ama bu kabul edilemez!
Filip Dupanović

Dostum, ben bir HTML5 gurusu bile değilim (henüz) ve bunun tamamen sıfırlamanın doğru yolu olmadığını biliyorum.
Icemanind

4
Kesinlikle geçerli cevap. Tek dezavantajı, *seçicilerin yavaş olması olabilir , duydum.
Anton Strogonoff

2

HTML5 spesifikasyonu şunları içerir: CSS özellikli tarayıcılar için önerilen CSS bildirimlerini . İşin eğlencesi için onları aldım ve mantıklı olduğu yere geri döndürdüm. Sonucu bu yazıda görüntüleyebilirsiniz .

Ancak bunu üretimde kullanmanızı önermiyorum. Bu daha çok bir kavram kanıtıdır ve çok amaçlı sıfırlama stil sayfası olarak hizmet etmektense ipuçları vermek için daha iyi kullanılabilir. Daha önceki önerilerden herhangi biri daha iyi bir seçim olabilir.


0

Normalize veya HTML5 Doctor'dan sıfırlama kullanıyorum ve üzerinde çalıştığım projeye uyması için değiştiriyorum.

BTW, aşağı yukarı bir standart haline gelen yalnızca sıfırlama kullanma kavramıdır.


Ek detaylarınız var mı?
James A Mohler

İyonu belirli bir projede kullanmadığım unsurlarda bırakmam. Örneğin, formları kullanmıyorsam form öğelerini kaldırırım. Eminim anladınız. Kullanmadığınız öğeleri sıfırlamanın bir anlamı yok.
cornishninja

Sıfırlamayı ihtiyaçlarıma uyacak şekilde değiştirme konusundaki düşüncemi desteklemek için: cssreset.com/which-css-reset-should-i-use
cornishninja
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.