Bir CSS çerçevesi kullanmak için en iyi uygulama senaryoları nelerdir? CSS'leri çerçeveler kullanmak yerine sıfırdan “kendi haline getirmek” ne zaman daha iyidir?
CSS çerçeveleri biraz zor, çünkü gerçekten benim için çerçeveler değil. Onlar sadece önceden tanımlanmış sınıflardır. Ama bu senin sorunun değil.
CSS çerçeveleri, model ve tel çerçeveler için mükemmeldir. Bunları canlı bir sitede kullanmanızı tavsiye etmem çünkü onlar markanıza anlamsız sınıflar eklerler. ".span3" bana içerikle ilgili hiçbir şey söylemedi, sadece tasarım hakkında.
Bununla birlikte, planın çerçeve sınıflarını ve semantiklerini bir kez yaptıktan sonra birleştirmenize yardımcı olacak harika araçlara sahiptir.
Her zaman kendi CSS'imi alırım.
Onlardan uzak durun, can sıkıcı bir şey değiller.
Özellikle de bu.
* { margin:0; padding:0; }
En büyük şikayetim, sıfırlama ve/veya çerçeve kullanan bir siteyi miras alırsanız/sürdürürseniz, siteyi değiştirmeden önce bu çerçeveyi öğrenmeniz gerekir.
Bir h1 etiketi eklediğimde belli şeyler bekliyorum. Çoğu sıfırlama tüm dolguyu, kenar boşluğunu, bloğu vb. Alır, böylece bir h1 etiketi artık varsayılan olarak gerektiği gibi davranmaz. Bu yüzden geri dönüp ilk olan orada olan her şeyi eklemeliyim.
Genel olarak (benim deneyimlerime göre), sıfırlamaları ve çerçeveleri kullanan css'yi anlamayan insanları ve yapan insanlar için daha fazla çalışmaya neden olur.
Bence, bir CSS Çerçevesinin sunduğu tek hizmet, CSS ile aşina olmayanlar için bir başlangıç noktasıdır.
Ayrıca Eric Meyer'den reset.css kullanmanızı tavsiye ederim, ancak CSS "çerçevelerinin" sayfa düzeni için faydalı olabileceğini düşünüyorum. Blueprint, YUI grid ve 960 grid, css'i kendiniz yazmadan oldukça karmaşık bazı düzenler elde etmenize yardımcı olabilir.
Bahsedilen dezavantajlar olmasına rağmen, örneğin, özel kod haddeleme yerine bir CMS'den bir web sitesi oluşturma konusunda da söylenebilir, ancak yine de faydalı olabilir ve birçok site için herhangi bir yabancı css veya performans sorununa göre ağır basar.
Kendi tasarımınızı gerçekten uyguluyorsanız, kendi CSS'nizden bazılarını yazacaksınız (başkası istediğiniz tasarımı yazmamışsa).
Kendi CSS'lerinizi yazdığınızı varsayarsak, “çerçeveler” aşağıdaki stillere sahipseniz yararlı olabilir:
Gerçekten basit stiller için, ne bir şeyin (ör.
class="navigation") olduğunu belirtmek için sınıfları kullanmak ve stil sayfanızdaki 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, düzenle ilgili stiller, çerçevelerin
.span3 to gibi adlar verdiği tür], bunları sınıfa yerleştirmenin ve bunları uygulamanın yanlış bir tarafı yoktur. CSS'deki sınıf. Her iki yaklaşımı birlikte kullanabilirsiniz.
Öğelerin öngörülemeyen şekillerde birleştirilmesi muhtemel daha büyük ve daha karmaşık sitelerde, çerçeve benzeri bir yaklaşım kodunuzu yönetilebilir tutmaya gerçekten yardımcı olabilir.
Yine de kendi “çerçevenizi” yazabileceğinizi söyleyebilirim. “Çerçeveyi” tırnak içine koydum, çünkü CSS gerçekten o kadar büyük bir dil değil. Bir günde CSS: The Definitive Guide'ı (Eric Meyer) okuyabilir, ardından tüm kodu örn. Blueprint (bir CSS “çerçevesi”) ve neler olduğunu hemen hemen anlayın. IE geçici çözümlerini biraz araştırmanız gerekebilir, ancak örneğin en azından daha az karmaşıklık derecesinde konuşuyoruz. JQuery burada.
CSS için plan kullanıyorum.
CSS, yukarıdaki herkesin dediği gibi gerçekten çok kolay.
Ancak, gerçekte, platformu göz önünde bulundurmalısınız.
CSS ile işleme motoru karmaşıklığa katkıda bulunur.
Gecko vs WebKit vs Presto vs Trident ... kim bütün bunları yapmak ister?
Burada size bir 'çerçeve' ne veriyor, tüm tarayıcılarda büyük olasılıkla işe yarayacak mizanpajlar yazabilme kabiliyeti, bu nedenle 'WTF-am-ı-ı-ı-ı-ı cure' için googling yapmak zorunda kalmayacaksınız IE 7 quirksmode fix ya da benzer şekilde saçma bir şey.
Altyapıları istediğiniz düzenin% 90'ını yapacak ve daha sonra istediğiniz zaman kendi stillerinizi ekleyebilirsiniz.
Dolayısıyla soruyu cevaplamak için herhangi bir çerçeve seçip sizin için işe yarayıp yaramadığını söyleyeceğim. Sadece olabilir. O zaman altınsın ve gerçekte yapmak istediğin şeye geri dönebilirsin. Değilse, css kullanarak uzatın, çalışmayanı değiştirin. Bu şekilde çapraz tarayıcı avantajını korursunuz, ancak yine de özelleştirebilirsiniz.
Küçük bir fayda olarak, her zaman birini seçip kullanırsanız ve ardından hastalanırsanız veya terfi edip halefinizi eğitmek zorunda kalırsanız, şunu söyleyebilirsiniz:
“Evet, ABC çerçevesini kullandım. Dokümanlar burada. Kod orada. Eğitim için. İyi şanslar.”
Tüm bunları çözdüğünde ihtiyaçlarınız . (Bu, terzilik fikrine dayanır.)
Çerçevelerdeki tek kitaptan mı? http://www.oreilly.com/web-platform/free/book-of-html-css-frameworks.csp . (Sadece bağlantı çünkü burada ücretsiz ve alakalı.)