Bir CSS çerçevesi kullanmak için en iyi uygulama senaryoları nelerdir? Çerçeveleri kullanmak yerine CSS'inizi "yuvarlamak" ne zaman daha iyidir?
Bir CSS çerçevesi kullanmak için en iyi uygulama senaryoları nelerdir? Çerçeveleri kullanmak yerine CSS'inizi "yuvarlamak" ne zaman daha iyidir?
Yanıtlar:
CSS çerçeveleri biraz zor çünkü bana göre çerçeveler değil. Bunlar sadece önceden tanımlanmış sınıflardır. Ama bu senin sorunun değil.
CSS çerçeveleri maketler ve tel çerçeveler için mükemmeldir. İşaretlemenize anlamsız sınıflar ekledikleri için bunları canlı bir sitede kullanmanızı önermem. ".span3" bana içerik hakkında hiçbir şey söylemiyor, sadece tasarım.
Bununla birlikte, blueprint, tamamlandıktan sonra çerçeve sınıflarını ve semantik olanlarınızı birleştirmenize yardımcı olan bazı harika araçlara sahiptir.
Her zaman kendi CSS'mi yuvarlarım.
Sadece onlardan kaçın, can sıkıcı bir şey değildir.
Özellikle bu.
* { margin:0; padding:0; }
En büyük şikayetim, sıfırlama ve / veya bir çerçeve kullanan bir siteyi devralır / sürdürürseniz, siteyi değiştirmeden önce bu çerçeveyi öğrenmeniz gerektiğidir.
Bir h1 etiketi eklediğimde bazı şeyler bekliyorum. Çoğu sıfırlama tüm dolgu, kenar boşluğu, blok vb.'yi alır, böylece bir h1 etiketi artık varsayılan olarak olması gerektiği gibi davranmaz. Bu yüzden geri dönüp orada olan her şeyi eklemek zorundayım.
Genellikle (benim tecrübelerime göre), sıfırlama ve çerçeveleri kullanan css'yi anlamayan insanları ve bunu yapan insanlar için daha fazla çalışmaya neden olur.
* {margin:0; padding:0;}
en önemli CSS sıfırlamasıdır. Her satır arasında büyük bir boşluk görmeyecek şekilde margin-top/maring-bottom
tüm etiketleri altında bile etiketleri kaldırır p
. Bu web sitesi bile muhtemelen p {margin:0;}
aksi takdirde tarayıcı her satır arasında büyük bir alan yaşayacaktı. Onların sinir bozucu olduklarını nasıl söyleyebileceğinizi merak ediyorum.
Ben de Eric Meyer sıfırlama.css kullanmanızı öneririz, ancak CSS "çerçeveleri" düzeni için yararlı olabilir düşünüyorum. Blueprint, YUI ızgarası ve 960 ızgarası, css'yi kendiniz yazmadan son derece karmaşık bazı düzenler elde etmenize yardımcı olabilir.
Bahsedilen dezavantajlar olsa da, örneğin özel kodu yuvarlamak yerine bir CMS'den bir web sitesi oluşturmak için de aynı şey söylenebilir, ancak yine de yararlı olabilir ve birçok site için elde edilen faydalar herhangi bir yabancı css veya performans sorunlarından daha ağır basar.
Aslında kendi tasarımınızı uyguluyorsanız, kendi CSS'nizden bazılarını yazacaksınız (başka biri tam olarak istediğiniz tasarımı yazmamışsa).
Kendi CSS'nizden bazılarını yazdığınızı varsayarsak, “çerçeveler” şu tarzlara sahip olduğunuzda yararlı olabilir:
Gerçekten basit stiller için, bir şeyin ne olduğunu belirtmek (örneğin class="navigation"
) için sınıfları kullanmak ve stil sayfanızda o sınıfa stil kuralları uygulayarak görünümünü tanımlamak daha iyidir .
Ancak, herhangi bir öğeye bağlı olmayan daha karmaşık stiller için (örneğin, mizanpaj ile ilgili stiller, çerçevelerin nasıl ad verdiği tür .span3
), bunları bir sınıfa yerleştirmek ve CSS'ye o sınıfı uygulamakla ilgili bir sorun yoktur. Her iki yaklaşımı birlikte kullanabilirsiniz.
Öğelerin öngörülemeyen şekillerde birleştirileceği daha büyük, daha karmaşık sitelerde, çerçeve benzeri bir yaklaşım kodunuzu yönetilebilir tutmanıza yardımcı olabilir.
Yine de kendi “çerçevenizi” de yazabileceğinizi söyleyebilirim. “Çerçeve” yi tırnak içine aldım çünkü CSS gerçekten o kadar büyük bir dil değil. Bir gün içinde CSS: The Definitive Guide'ı (Eric Meyer) okuyabilir, ardından Blueprint'teki (CSS “çerçevesi”) tüm kodu okuyabilir ve neler olduğunu neredeyse anlayabilirsiniz. IE geçici çözümlerini biraz araştırmanız gerekebilir, ancak burada en azından örneğin jQuery'den daha az karmaşıklık büyüklüğünden bahsediyoruz.
CSS için plan kullanıyorum.
CSS, yukarıdaki herkesin söylediği gibi, gerçekten basittir.
Ancak, gerçekte, platformu düşünmelisiniz.
CSS ile oluşturma motoru karmaşıklığa katkıda bulunur.
Gecko vs WebKit vs Presto vs Trident ... tüm bunları kim yapmak ister?
Burada size bir 'çerçeve' veren şey, büyük olasılıkla tüm tarayıcılarda çalışacak düzenler yazma yeteneğidir, bu nedenle 'WTF-am-I-doing = -this-crap' IE 7 quirksmode için googling yapmak zorunda kalmazsınız ya da benzer şekilde gülünç bir şey.
Çerçeveler istediğiniz düzenin% 90'ını yapar ve daha sonra istediğiniz zaman kendi stillerinizi ekleyebilirsiniz.
Bu nedenle, soruyu cevaplamak için herhangi bir çerçeve seçin ve sizin için işe yarayıp yaramadığını görün derim. Sadece olabilir. O zaman altınsınız ve aslında yapmak istediğiniz her şeye geri dönebilirsiniz. Değilse, css kullanarak uzatın ve çalışmayanı değiştirin. Bu şekilde çapraz tarayıcı avantajını korursunuz, ancak yine de özelleştirebilirsiniz.
Küçük bir fayda olarak, birini seçip sürekli kullanırsanız ve daha sonra hastalanırsanız veya terfi ederseniz ve halefinizi eğitmek zorunda kalırsanız, şunları söyleyebilirsiniz:
"Evet, ABC çerçevesini kullandım. Dokümanlar burada. Kod var. Eğitim bitti. İyi şanslar."
Tüm ihtiyaçlarınızı çözdüğünde . (Bu, terzilik fikrine dayanır .)
Çerçeveler hakkındaki tek kitaptan mı? http://www.oreilly.com/web-platform/free/book-of-html-css-frameworks.csp . (Yalnızca bağlantı ücretsiz ve alakalı olduğu için bağlanıyor.)