Bootstrap 3 succinctement Migration de la version 2 vers la version 3

Alors, en quoi consiste la migration de Bootstrap 2 vers Bootstrap 3? En vérité, pas grand chose. 

En dépit des nombreux changements, il n’ya toujours pas beaucoup de choses à changer, et les changements que vous devez faire ne concernent généralement que le renommage de classes, le cas échéant.. 

Une des choses que vous voudrez peut-être faire, en particulier si vous utilisez BS uniquement pour le développement d'applications Web en général et non pour les conceptions mobiles ou réactives, consiste à désactiver les fonctions réactives de BS3.. 

C'est assez facile à faire, mais pas du tout recommandé. 

Vous pouvez y parvenir comme suit: 

  • Ne pas ajouter le métabalise contenant la largeur du périphérique et d'autres informations sur le dimensionnement initial en tête de votre document. 
  • Ne remplacer le largeursur vos éléments qui sont marqués avec une classe de récipient, et assurez-vous d'utiliser style = 'width: xxx! important'quand tu le fais. 
  • Assurez-vous que tous les remplacements de largeur sont traités après les règles principales Bootstrap CSS ont été chargées. 
  • Enlever tout effondrement et expansion des comportements et des règles de tout barre de navigationconstruit dans votre document. 
  • Ne changez toutes les classes de mise en page de grille à utiliser seulement col-xs- *classes et aucun des quatre autres niveaux. 

Si vous ciblez IE8 et IE9, vous devrez tout de même vous assurer d'utiliser le fichier respond.js, même si vous désactivez la réactivité comme indiqué.. 

Changements de classe

Comme je l'ai mentionné plus tôt, il y a eu beaucoup de changements de noms de classes entre les deux versions et beaucoup de classes ont été déconseillées et retirées.. 

Une chose qui va (et a déjà si vous regardez Stack Overflow) surprendre beaucoup est le retrait des classes de largeur de fluide. 

Dans la version 2, si vous vouliez un conteneur élastique pleine largeur, vous deviez procéder de la manière suivante: 

Un titre

Du texte de paragraphe

Dans la version 3 le récipientet ligne fluideles classes n'existent plus. 

Alors, comment obtenez-vous un récipient de liquide? Simple: vous ne le faites pas. 

Plutôt que d’envelopper votre contenu dans un récipientet puis un rangée, vous ne les emballez tout simplement dans rien. 

Vous pouvez toujours utiliser le système de grille pour fournir des conteneurs englobants pour votre contenu, afin que les éléments soient parfaitement alignés sur la grille de Bootstrap, sans que vous ayez désormais besoin de placer un conteneur autour de ces collections.

éléments avant de les utiliser. 

En fait, si vous utilisez récipientet rangée(les versions non-fluides existent toujours) alors tout votre contenu se retrouvera automatiquement dans la colonne centrale de 1024 pixels et vous pourrez utiliser toute la largeur de la page si vous ne le faites pas.. 

Migration du système de grille 

Ensuite, le plus grand changement de classe est le système de grille lui-même. 

Dans la version 2, vous avez généralement créé des grilles de la manière suivante: 

Contenu ici
Contenu ici

Ce code vous donnerait deux conteneurs qui remplissent parfaitement les 12 carrés de la grille horizontalement que toutes les mises en page avaient (typiquement une barre latérale). 

Dans la version 3, la grille de “niveau moyen” est maintenant l'équivalent de la v2 envergureclasses, donc pour réécrire le code précédent pour la V3, procédez comme suit: 

Contenu ici
Contenu ici

Cependant, alors que la version 2 ne comportait qu'un seul niveau de taille de grille, la version 3 en comporte maintenant quatre. Chaque niveau est adapté au périphérique cible principal prévu sur lequel votre produit final sera exécuté.. 

Ces unités de grille sont maintenant nommées comme suit: 

  • Extra petits appareils: col-xs- *
  • Petits appareils: col-sm- *
  • Appareils de taille moyenne: col-md- *
  • Gros appareils: col-lg- *

Les requêtes de média sont utilisées en interne pour que BS3 décide quelle classe de grille susmentionnée doit être utilisée, et les différentes tailles sont définies comme suit: 

  • Extra petit: largeur d'affichage inférieure à 768 pixels 
  • Petit: largeur d'affichage supérieure ou égale à 768 pixels ou inférieure à 992 pixels 
  • Moyen: largeur d'affichage supérieure ou égale à 992 pixels ou inférieure à 1 200 pixels 
  • Large: largeur d'affichage supérieure ou égale à 1 200 pixels 

Vous pouvez coder plusieurs versions de votre grille pour BS3 afin de décider du type à utiliser pour cibler plusieurs écrans. Par exemple si vous avez fait ce qui suit: 

Contenu ici
Contenu ici
Contenu ici
Contenu ici
Contenu ici
Contenu ici
Contenu ici
Contenu ici

BS3 masquera et affichera les conteneurs selon les besoins, en fonction de la largeur de l'écran du périphérique et du fonctionnement des requêtes de support.. 

Comme avec les versions précédentes du système de grille, il y a 12 colonnes horizontales pour toutes les tailles, de sorte que quelle que soit la taille de la grille affichée, vous obtiendrez toujours 12 grilles sur chaque périphérique.. 

Cependant, la largeur de la colonne change elle-même. Vous devrez peut-être planifier le contenu de ces grilles pour tirer parti des différentes tailles. Les tailles pour chacune d’elles sont les suivantes: 

  • col-xs- *= Dimensionnement automatique, pas de dimensions fixes 
  • col-sm- *= 60 pixels 
  • col-md- *= 78 pixels 
  • col-lg- *= 95 pixels 

La marge de gouttière restera dans tous les cas à 15 pixels de chaque côté du conteneur de grille, ce qui donnera une gouttière globale de 30 pixels. Cette taille sera cohérente quel que soit le niveau de grille utilisé. 

L'imbrication et les décalages fonctionnent comme auparavant, mais comme pour les grilles elles-mêmes, ils permettent de renommer légèrement les classes réellement utilisées.. 

Pour appliquer un décalage, utilisez simplement col-md-offset- *, rappelant de remplacer le Marylandavec xs, sm, ou lgau besoin, en fonction de la taille de votre grille. 

La nidification se fait simplement en imbriquant des conteneurs sous le contrôle du col-xx- *classes à l'intérieur l'une de l'autre, où elles se redimensionnent et se comportent comme dans les versions précédentes de BS. 

Les exemples suivants montrent la manière correcte d’atteindre ces deux techniques: 

Niveau 1: .col-md-9
Niveau 2: .col-md-6
Niveau 2: .col-md-6

Cet exemple vous donnera une grille qui ressemble à ceci: 

.col-md-4
.col-md-4 .col-md-offset-4
.col-md-3 .col-md-offset-3
.col-md-3 .col-md-offset-3
.col-md-6 .col-md-offset-3

Cet exemple vous donnera une mise en page comme suit: 

BS3 apporte également quelque chose de nouveau à la table en ce qui concerne la compensation et l'imbrication, et c'est ce qu'on appelle l'ordre des colonnes.. 

Si vous souhaitez que vos colonnes soient présentées dans un ordre différent de celui défini dans votre document HTML, vous pouvez utiliser le nouveau col-xx-pull- *et col-xx-push- *classes pour pousser ou tirer vos mises en grille dans l'ordre que vous voulez. Par exemple: 

8 colonnes de contenu
4 colonnes de contenu

Si vous les rendez dans votre document, comme prévu, vous obtiendrez les éléments suivants: 

Si, toutefois, vous modifiez le code ci-dessus pour ajouter des modificateurs push et pull comme suit: 

8 colonnes de contenu
4 colonnes de contenu

Lors du rendu de votre document, votre mise en page devrait changer comme suit: 

Enfin, si vous utilisez le Moins Dans les versions CSS de Bootstrap, vous avez le contrôle total sur la taille de la grille en modifiant les variables suivantes: 

  • @ grille-colonnes: contrôle le nombre de grilles horizontalement (12 par défaut) 
  • @ largeur de gouttière: la marge totale autour de chaque grille (30 pixels par défaut) 
  • @ grille-float-breakpoint: la taille minimale en dessous de laquelle nous avons des périphériques «extra petits» (768 pixels par défaut) 

Alors maintenant que nous contrôlons le nouveau système de grille, y a-t-il autre chose à savoir?? 

Les plus astucieux d’entre vous peuvent penser: «Mais c’est fou, avec tous ces multiples jeux de

éléments et décalages avec col-xx-xxclasses, toutes pour des affichages de tailles différentes, je pourrais aussi bien créer quatre sites différents, avec quatre résolutions différentes en tête! »Pour être honnête, je ne vous en voudrais pas, sauf pour une chose: chacun de ces nouveaux niveaux de taille conçu pour fonctionner sur le même balisage, au même moment, et occuper le même espace. 

Prenons le code de l'exemple de code 4 précédent et réécrivons-le de la manière recommandée: 

Contenu ici
Contenu ici

Ok, vous pouvez donc vous retrouver avec la liste de classes de l'enfer sur vos éléments, mais un ensemble de balises s'adaptera à toutes les tailles d'affichage et se redimensionnera lui-même si nécessaire.. 

Cela fonctionne également avec les différentes classes offset, order et nesting.

Autres migrations  

En plus de ceux dont nous avons déjà parlé, les noms de classe suivants doivent également être changés si vous migrez d'une présentation V2 vers une présentation V3 (Remarque: le tableau suivant a été extrait directement des documents Bootstrap 3 et était correct Au moment où Bootstrap mûrit, il se peut que cela ne le reste pas). 

Nom de classe de Bootstrap version 2 Nom de classe de Bootstrap version 3
.control-group.warning .control-group.error .control-group.success .form-group.has- *
.checkbox.inline .radio.inline .checkbox-inline .radio en ligne
.input-prepend .input-append .groupe d'entrée
.Ajouter .input-group-addon
.img-polaroid .img-thumbnail
ul.unstyled .liste non-stylée
ul.inline .list-inline
.en sourdine .en sourdine
.étiquette .label .label-default
.label-important .étiquette-danger
.erreur de texte .texte-danger
.table .error .table .danger
.bar .barre de progression
.bar-*
.barre de progression-*
.accordéon .groupe de discussion
.groupe d'accordéon .panneau .panel-default
.en accordéon .rubrique panneau
.corps accordéon .effondrement du panneau
.accordéon-intérieure .panneau-corps

Comme mentionné précédemment, la plupart des modifications ont été apportées pour rendre le système de nommage utilisé par les différentes classes. Mais beaucoup d’entre eux ont également été renommés car leur objectif général a changé.. 

Nous verrons plus en détail dans les prochains tutoriels de cette série, mais pour l'instant, si vous effectuez une conversion, le tableau 2 vous indiquera tout ce dont vous avez besoin pour recibler une présentation v2 en v3.. 

Vous voudrez peut-être envisager d'utiliser un travail personnalisé dans une tâche similaire à une tâche Grunt.js afin que, lorsque vous exécutez votre système de construction, ces modifications soient effectuées automatiquement. Cela permettra à vos développeurs de rester productifs avec v2 tout en passant progressivement à la v3.. 

Alors, qu'est-ce qui a été ajouté à Bootstrap et qui a été supprimé?? 

Nous commencerons par ce qui a été supprimé, puis nous verrons ce qui a été ajouté plus en détail dans le didacticiel intitulé «Fonctionnalités CSS modifiées». Il est plus important que vous sachiez ce qui a été supprimé dans ce didacticiel, car il s'agit de ce didacticiel. êtes susceptible de faire référence à la migration de vos mises en page 

Commençons d’abord par ce qui a été supprimé en ce qui concerne les formulaires, et malheureusement c’est beaucoup. Nous n'avons plus de type spécifique pour un formulaire de recherche recherche de formulaire, et la barre ombrée généralement trouvée au pied d'une forme actions de formulairea également été déconseillé dans la v3. 

La classe généralement utilisée pour afficher les erreurs de validation a également disparu., groupe-contrôle-info, et son homologue d'aide, aide en ligne. Aucune de ces quatre classes n'a de remplacement recommandé dans la base de code v3, ce qui signifie que pour en construire des équivalents, vous devrez utiliser d'autres éléments et classes le cas échéant.. 

En continuant avec les formes, la principale les contrôlesclasse utilisée pour envelopper des jeux de contrôle entiers est parti, avec rangée de contrôles. Au lieu de cela, il est conseillé d'utiliser rangéeou le nouveau groupe de forme classe. Les formulaires ont également perdu la plupart des classes de dimensionnement; les classes de taille fixe telles que mini-entrée, petite entrée, moyen d'entrée, grande entrée, input-xlarge, et input-xxlargesont maintenant tous partis, avec la classe de contrôle au niveau du bloc niveau de bloc d'entrée. Au lieu de cela, il vous est maintenant conseillé de contrôler la taille de vos éléments de formulaire à l’aide de contrôle de formeen combinaison avec les nouvelles tailles et configurations disponibles dans le système de grille. 

Du point de vue du contrôle individuel, le inverseles classes ont été supprimées des boutons et d’autres commandes similaires, et nous avons également perdu la menu déroulantclasse en faveur de simplement utiliser des boutons déroulants divisés pour créer la même fonctionnalité. 

Pour les onglets, le onglets à gauche, tabs-right, et onglets ci-dessousles classes n'existent plus, ce qui signifie que nous n'avons plus la possibilité de placer des onglets en haut du contenu, alignés à gauche. 

En restant avec les onglets, la classe pour travailler avec le contenu dans une configuration d'onglets à base de pilule a également été supprimée, ce qui signifie que piluleet contenu de la piluledevrait maintenant utiliser le général contenu de l'onglet et ongletDes classes. 

Enfin, les différents barre de navigationles cours ne sont pas sans pertes: navbar-inner, diviseur de barre verticaleliste de navigation, et en-tête de navigationne font plus partie du cadre. 

Dans la plupart des cas, il n'existe pas d'équivalent direct dans la v3 pour ces classes, bien que certaines similitudes dans d'autres classes puissent s'avérer utiles. Par exemple, liste de navigationet en-tête de navigationpeut être recréé en utilisant listegroupes. 

Il existe un tableau de référence rapide pour tous ces éléments dans le guide de migration sur le site Web Bootstrap 3.

Ce tutoriel représente un chapitre de Bootstrap 3 Succinctly, un eBook gratuit de l’équipe de Syncfusion..