117 votes

Personnalisation de template CSS Bootstrap

Je suis juste de commencer avec Bootstrap de Twitter et me demande ce que les "meilleures pratiques" est pour la personnalisation. Je veux développer un système qui permettra de profiter de toute la puissance d'un modèle css (Bootstrap ou autres), soit complètement (et facilement) modifiable, être durable (c'est à dire – quand la prochaine version de Bootstrap est libéré de Twitter je n'ai pas à recommencer.

Par exemple, je veux ajouter des images d'arrière-plan de la barre de navigation supérieure. Il ressemble à il y a 3 façons d'aller à ce sujet:

  1. Modifier la .topbar classes dans le bootstrap.css . Je n'aime pas particulièrement parce que je vais avoir beaucoup de .topbar articles et je n'ai pas forcément envie de modifier tous de la même façon.
  2. Créer de nouvelles classes avec mes images de fond et appliquer les deux styles (le nouveau et l'amorçage de mon élément). Cela peut créer des conflits de style, qui pourrait être évité par le décapage de la .topbar classe dans des classes séparées, puis en utilisant uniquement les pièces qui ne sont pas piétinés par ma classe personnalisée. De nouveau, ce qui nécessite plus de travail que je pense, devrait être nécessaire et, tandis qu'il est flexible, il ne me permet pas de mettre à jour facilement bootstrap.css quand Twitter libère le prochain épisode.
  3. Utiliser des variables dans .MOINS pour réaliser la personnalisation. Désinvolte, cela semble être une bonne approche, mais de ne pas l'avoir utilisé .MOINS j'ai des inquiétudes sur la compilation de css sur le client et sur le code de la durabilité.

Si je suis en utilisant Bootstrap, cette question peut être généralisée à tout modèle css.

Merci d'avance pour l'entrée.

134voto

Pabluez Points 1622

La meilleure chose à faire est de.

1. fourche de twitter bootstrap à partir de github et clone localement.

ils sont en train de changer très rapidement de la bibliothèque/cadre (ils divergent en interne. Certains préfèrent la bibliothèque, je dirais que c'est un cadre, parce que le changement de votre mise en page à partir de la fois que vous chargez sur votre page). Eh bien... la fourche/clonage vous permettra de récupérer les nouvelles versions à venir facilement.

2. Ne modifiez pas le fichier de bootstrap.fichier css

Ça va compliquer votre vie lorsque vous avez besoin de mettre à niveau bootstrap (et vous aurez besoin de le faire).

3. Créer votre propre fichier css et écraser à chaque fois que vous voulez d'origine bootstrap trucs

si ils ont mis topbar avec, disons, color: black; mais vous wan à blanc, créez un nouveau très précis sélecteur pour cette topbar et l'utilisation de cette règle sur la topbar. Pour une table par exemple, il serait <table class="zebra-striped mycustomclass">. Si vous déclarez votre fichier css après bootstrap.css, cela va écraser tout ce que vous voulez.

20voto

Symmetric Points 529

Je pense que le officiellement manière préférée est maintenant d'utiliser de moins en Moins, et dynamique, remplacer le bootstrap.css (à l'aide de less.js), ou recompiler bootstrap.css (à l'aide d'un Noeud ou Moins compilateur).

À partir du Bootstrap docs, voici comment remplacer bootstrap.les styles css dynamiquement:

Télécharger la dernière Less.js et inclure le chemin d'accès à celle-ci (et Bootstrap) en <head>.

 <link rel="stylesheet/less" href="http://stackoverflow.com/path/to/bootstrap.less">
    <script src="/path/to/less.js"></script>

Pour recompiler le .moins de fichiers, il suffit de sauvegarder et de recharger votre page. Less.js les compile et les stocke dans des locaux de stockage.

Ou si vous préférez le compiler en statique une nouvelle bootstrap.css avec vos styles personnalisés (pour les environnements de production):

Installer le MOINDRE outil de ligne de commande via le Nœud et exécutez la commande suivante:

$ lessc ./less/bootstrap.less > bootstrap.css

10voto

pinchyfingers Points 356

Depuis Pabluez la réponse de retour en décembre, il y a maintenant une meilleure façon de personnaliser Bootstrap.

Utilisation: Bootswatch pour générer votre fichier d'amorçage.css

Bootswatch construit la normale Twitter Bootstrap à partir de la dernière version (ce que vous installez dans le bootstrap répertoire), mais aussi les importations de vos personnalisations. Cela rend plus facile à utiliser la dernière version de Bootstrap, tout en conservant CSS personnalisé, sans avoir à changer quoi que ce soit à propos de votre code HTML. Vous pouvez simplement le balancement de bootstrap.les fichiers css.

5voto

Tom Points 3867

Vous pouvez utiliser le modèle « bootstrap » de

http://www.Initializr.com/

qui inclut tous les fichiers d’amorçage de surconsommation. Vous pouvez ensuite modifier les variables / jour moins les fichiers que vous voulez et il compilera automatiquement le css. Lorsque le déploiement compilez moins le fichier CSS.

3voto

Jide Points 579

La meilleure option à mon avis, est une compilation personnalisée MOINS de fichiers y compris les fichiers d'amorce.moins, une des variables personnalisées.moins de fichiers et vos propres règles :

  1. Clone de bootstrap dans votre dossier racine : git clone https://github.com/twbs/bootstrap.git
  2. Renommez-le "bootstrap"
  3. Créer un package.fichier json : https://gist.github.com/jide/8440609
  4. Créer un Gruntfile.js : https://gist.github.com/jide/8440502
  5. Créer un "moins" dossier
  6. Copie bootstrap/moins/variables.moins dans les "moins" du dossier
  7. Modifier la police de chemin d'accès : @icon-font-path: "../bootstrap/fonts/";
  8. Créer un style personnalisé.moins fichier dans le "moins" dans le dossier qui les importations de bootstrap.moins de et votre de variables personnalisées.moins fichier : https://gist.github.com/jide/8440619
  9. Exécutez npm install
  10. Exécutez grunt watch

Maintenant, vous pouvez modifier les variables de la manière que vous voulez, remplacer bootstrap règles dans votre style personnalisé.moins fichier, et si un jour vous souhaitez mettre à jour bootstrap, vous pouvez remplacer l'ensemble de bootstrap dossier !

EDIT: j'ai créé un fichier d'amorce standard à l'aide de cette technique : https://github.com/jide/bootstrap-boilerplate

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X