Quali sono gli scenari di best practice per l'utilizzo di un framework CSS? Quando è meglio "estrapolare il proprio" CSS da zero piuttosto che usare i framework?
Quali sono gli scenari di best practice per l'utilizzo di un framework CSS? Quando è meglio "estrapolare il proprio" CSS da zero piuttosto che usare i framework?
Risposte:
I framework CSS sono un po 'complicati perché non sono realmente framework per me. Sono semplicemente classi predefinite. Ma questa non è la tua domanda.
I framework CSS sono ottimi per mock-up e wire-frame. Non consiglierei di usarli su un sito live perché aggiungono classi senza significato al tuo markup. ".span3" non mi dice nulla sul contenuto, ma solo sul design.
Tuttavia, il modello ha alcuni strumenti interessanti che ti aiuteranno a combinare le sue classi quadro e quelle semantiche una volta che hai finito.
Rotolo sempre il mio CSS.
Basta evitarli, non sono altro che fastidiosi.
Soprattutto questo.
* { margin:0; padding:0; }
La mia più grande lamentela è che se erediti / gestisci un sito che utilizza un reset e / o un framework devi imparare quel framework prima di poter modificare il sito.
Quando aggiungo un tag h1 mi aspetto alcune cose. La maggior parte dei ripristini elimina tutto il riempimento, il margine, il blocco, ecc. In modo che un tag h1 non agisca più come dovrebbe per impostazione predefinita. Quindi devo tornare indietro e aggiungere tutto ciò che era lì in primo luogo.
Generalmente (secondo la mia esperienza) le sue persone che non capiscono i CSS che usano i reset e i framework, e causano più lavoro per le persone che lo fanno.
* {margin:0; padding:0;}
è il ripristino CSS più importante di tutti. Rimuove margin-top/maring-bottom
sotto tutti i tag anche i p
tag, quindi dopo non vedrai uno spazio enorme tra ogni riga. Anche questo sito web sta probabilmente usando, p {margin:0;}
altrimenti il browser vivrebbe un enorme spazio tra ogni riga. Mi chiedo come si possa dire che sono fastidiosi.
Consiglio anche di usare un reset.css di Eric Meyer, ma penso che i "framework" CSS possano essere utili per il layout. Blueprint, YUI grid e 960-grid possono aiutarti a ottenere alcuni layout altamente complicati senza scrivere tu stesso il CSS.
Sebbene vi siano stati degli svantaggi che sono stati menzionati, lo stesso si potrebbe dire della creazione di un sito Web da un CMS, ad esempio, del rotolamento del codice personalizzato, ma possono ancora essere utili e per molti siti i vantaggi ottenuti superano qualsiasi problema estraneo di css o prestazioni.
Se stai effettivamente implementando un tuo progetto, scriverai alcuni dei tuoi CSS (a meno che qualcun altro non abbia scritto esattamente il design che desideri).
Supponendo che tu stia scrivendo alcuni dei tuoi CSS, i "framework" possono essere utili quando hai stili che sono:
Per stili davvero semplici, è meglio usare le classi per indicare che cosa è (ad es. class="navigation"
) E quindi definirne l'aspetto applicando le regole di stile a quella classe nel foglio di stile.
Ma per stili più complessi che non sono necessariamente legati a nessun elemento (ad esempio stili relativi al layout, il tipo a cui i framework danno nomi simili .span3
a), non c'è nulla di sbagliato nel metterli in una classe e applicare quella classe nel CSS. Puoi usare entrambi gli approcci insieme.
Nei siti più grandi e complessi in cui è probabile che gli elementi vengano combinati in modi imprevedibili, un approccio simile a un framework può davvero aiutare a mantenere il codice gestibile.
Direi che potresti anche scrivere il tuo "framework" personale. Ho messo "framework" tra virgolette perché CSS non è una lingua così grande. Potresti leggere CSS: The Definitive Guide (Eric Meyer) in un giorno, quindi leggere tutto il codice in es. Blueprint (un "framework" CSS) e capire praticamente cosa sta succedendo. Potrebbe essere necessario ricercare un po 'le soluzioni alternative di IE, ma stiamo parlando di almeno un ordine di grandezza in meno complessità rispetto ad esempio a jQuery qui.
Uso il progetto per i CSS.
Il CSS è, come dicono tutti sopra, molto semplice.
Tuttavia, in realtà, devi considerare la piattaforma.
Con CSS il motore di rendering aumenta la complessità.
Gecko vs WebKit vs Presto vs Trident ... chi vuole fare tutte quelle cose?
Ciò che un "framework" ti offre qui è la possibilità di scrivere layout che molto probabilmente funzioneranno su tutti i browser, quindi non dovrai cercare su Google per la modalità quirks IE 7 "WTF-am-I-doing = -this-crap" correzione, o qualcosa di altrettanto ridicolo.
Frameworks eseguirà il 90% del layout desiderato, quindi potrai sempre aggiungere i tuoi stili in un secondo momento.
Quindi, per rispondere alla domanda, direi di scegliere qualsiasi framework e vedere se funziona per te. Potrebbe proprio. Allora sei d'oro e puoi tornare a qualunque cosa tu voglia veramente fare. In caso contrario, estenderlo, utilizzando CSS e modificare ciò che non ha funzionato. In questo modo si mantiene il vantaggio tra browser, ma è comunque possibile personalizzare.
Come piccolo vantaggio, se ne scegli uno e lo usi sempre, e poi ti ammali o ti promuovi e devi addestrare il tuo successore, puoi dire:
"Sì, ho usato il framework ABC. I documenti sono qui. Il codice è lì. Addestramento. Buona fortuna."
Quando risolve tutti i tuoi bisogni . (Questo si basa sull'idea della sartoria .)
Dall'unico libro sui framework? http://www.oreilly.com/web-platform/free/book-of-html-css-frameworks.csp . (Collegamento solo perché è gratuito e pertinente qui.)