web-dev-qa-db-fra.com

Quand devrais-je utiliser un framework CSS?

Quels sont les meilleurs scénarios d'utilisation d'un framework CSS? Quand est-il préférable de "lancer votre propre" CSS à partir de zéro plutôt que d'utiliser des frameworks?

11
Mark Hatton

Les frameworks CSS sont un peu délicats car ils ne sont pas vraiment des frameworks pour moi. Ce sont simplement des classes prédéfinies. Mais ce n'est pas votre question.

Les frameworks CSS sont parfaits pour les maquettes et les structures filaires. Je ne recommanderais pas de les utiliser sur un site actif, car ils ajoutent des classes sans signification à votre balisage. ".span3" ne me dit rien sur le contenu, seulement le design.

Cependant, blueprint possède des outils intéressants qui vous permettent de combiner ses classes de structure et vos classes sémantiques une fois que vous avez terminé.

Je lance toujours mon propre CSS.

11
Kevin

Il suffit de les éviter, ils ne sont que fâcheux.

Surtout celui-ci.

* { margin:0; padding:0; }

Ma plus grande plainte est que si vous héritez/maintenez un site qui utilise une réinitialisation et/ou un framework, vous devez apprendre ce framework avant de pouvoir modifier le site.

Quand j'ajoute une balise h1, j'attends certaines choses. La plupart des réinitialisations suppriment tout le remplissage, la marge, le bloc, etc. de sorte qu'une balise h1 ne fonctionne plus comme elle le devrait par défaut. Donc, je dois revenir en arrière et ajouter tout ce qui était là en premier lieu.

En règle générale (selon mon expérience), les personnes qui ne comprennent pas les CSS qui utilisent les réinitialisations et les frameworks entraînent plus de travail pour les personnes qui les utilisent.

3
corymathews

À mon avis, le seul service fourni par CSS Framework est un point de départ pour ceux qui ne sont pas très familiarisés avec CSS.

2
Soleil

Je recommande également d'utiliser un reset.css d'Eric Meyer, mais je pense que les "frameworks" CSS peuvent être bénéfiques pour la mise en page. Blueprint, YUI grid et 960-grid peuvent vous aider à réaliser des mises en page très complexes sans écrire vous-même le css.

Même si certains inconvénients ont été mentionnés, on pourrait en dire autant de la création d’un site Web à partir d’un CMS au lieu de faire rouler du code personnalisé, mais ils peuvent toujours être utiles et, pour de nombreux sites, les avantages obtenus dépassent les problèmes de performances ou de CSS superflus.

2
Steve Tranby

Si vous implémentez réellement votre propre design, vous allez écrire votre propre code CSS (à moins que quelqu'un d'autre ait écrit le design exact que vous voulez).

En supposant que vous écriviez certains de vos propres CSS, les "frameworks" peuvent être utiles lorsque vous avez des styles qui sont:

  1. utilisé dans plus d'un endroit; et
  2. assez compliqué pour rompre avec leurs propres classes

Pour les styles très simples, il est préférable d’utiliser des classes pour indiquer quoi quelque chose (par exemple, class="navigation"), puis de définir son apparence en appliquant des règles de style à cette classe dans votre feuille de style.

Mais pour les styles plus complexes qui ne sont pas nécessairement liés à un seul élément (par exemple, les styles liés à la mise en page, le type que les frameworks donnent aux noms tels que .span3 to), rien de mal à les mettre dans une classe et à les appliquer. classe en CSS. Vous pouvez utiliser les deux approches ensemble.

Dans les sites plus grands et plus complexes où les éléments sont susceptibles d'être combinés de manière imprévisible, une approche de type framework peut réellement aider à garder votre code gérable.

Je dirais que vous pourriez aussi bien écrire votre propre "cadre". Je mets "framework" entre guillemets parce que CSS n’est pas vraiment un si gros langage. Vous pouvez lire CSS: Le Guide définitif (Eric Meyer) en un jour, puis lire tout le code, par exemple. Blueprint (un "framework" CSS) et comprend à peu près ce qui se passe. Vous aurez peut-être besoin de rechercher un peu les solutions de contournement IE, mais nous avons au moins un ordre de grandeur moins complexe que p. Ex. jQuery ici.

1
Paul D. Waite

J'utilise blueprint, pour CSS.
CSS, comme le dit tout le monde ci-dessus, est très simple.

Cependant, en réalité, vous devez considérer la plate-forme.

Avec CSS, le moteur de rendu ajoute à la complexité.

Gecko vs WebKit vs Presto vs Trident ... qui veut faire tout ça?

Ce qu'un "framework" vous donne ici, c'est la possibilité d'écrire des mises en page qui fonctionneront probablement sur tous les navigateurs. Vous n'aurez donc pas à aller sur Google pour le "WTF-am-I-do =" this-crap "IE 7 correctif de quirksmode, ou quelque chose de même ridicule.

Frameworks réalisera 90% de la mise en page souhaitée et vous pourrez ensuite ajouter vos propres styles ultérieurement.

Donc, pour répondre à la question, je dirais de choisir n'importe quel cadre et de voir si cela fonctionne pour vous. Cela pourrait juste. Ensuite, vous êtes en or et pouvez revenir à ce que vous vouliez réellement faire. Sinon, étendez-le en utilisant css et changez ce qui ne fonctionne pas. De cette façon, vous conservez l’avantage de tous les navigateurs, mais vous pouvez toujours personnaliser.

Comme petit avantage, si vous en choisissez un et que vous l'utilisez tout le temps, puis que vous tombez malade ou êtes promu et devez former votre successeur, vous pouvez dire:

"Oui, j'ai utilisé le framework ABC. Les documents sont ici. Le code est là. La formation est terminée. Bonne chance."

1
chiggsy

Quand il résoudra tous vos besoins . (Ceci est basé sur l'idée de adapter .)

Du seul livre sur les frameworks? http://www.oreilly.com/web-platform/free/book-of-html-css-frameworks.csp . (Lien uniquement parce que c'est gratuit et pertinent ici.)

0
Shawn Northen