Bootstrap 3 Kurz gesagt Migration von Version 2 auf Version 3

Was ist also mit der Migration von Bootstrap 2 zu Bootstrap 3 zu tun? In Wahrheit nicht viel. 

Trotz der vielen Änderungen müssen Sie eigentlich nicht viel ändern, und die Änderungen, die Sie vornehmen müssen, sind im Allgemeinen nur die Umbenennung von Klassen. 

Wenn Sie BS nur für die allgemeine Web-App-Entwicklung und nicht für Mobilgeräte oder für responsives Design verwendet haben, sollten Sie die responsiven Funktionen in BS3 deaktivieren. 

Dies ist leicht genug, aber überhaupt nicht zu empfehlen. 

Sie können dies wie folgt erreichen: 

  • Fügen Sie nicht das hinzu MetaTag mit der Gerätebreite und anderen anfänglichen Größenangaben am Kopf Ihres Dokuments. 
  • Überschreiben Sie das Breiteauf Ihren Elementen, die mit einer Klasse von markiert sind Container, und stellen Sie sicher, dass Sie verwenden style = 'width: xxx! important'wenn du das tust. 
  • Stellen Sie sicher, dass alle Breitenüberschreibungen verarbeitet werden nach dem Die wichtigsten Bootstrap-CSS-Regeln wurden geladen. 
  • Entfernen alles Verhalten und Regeln kollabieren und erweitern alles NavbarKonstrukte in Ihrem Dokument. 
  • Ändern Sie alle zu verwendenden Rasterlayoutklassen nur col-xs- *Klassen und keine der anderen vier Ebenen. 

Wenn Sie auf IE8 und IE9 abzielen, müssen Sie dennoch sicherstellen, dass Sie response.js verwenden, auch wenn Sie die Reaktionsfähigkeit wie beschrieben deaktivieren. 

Klassenänderungen

Wie ich bereits erwähnt habe, gab es zwischen den beiden Versionen viele Änderungen an Klassennamen, und viele Klassen wurden verworfen und zurückgezogen. 

Eine Sache, die (und wenn Sie sich Stack Overflow ansehen) bereits überraschend ist, ist für viele die Rücknahme der Flüssigkeitsbreitenklassen. 

Wenn Sie in Version 2 einen elastischen Container in voller Breite haben wollten, mussten Sie Folgendes tun: 

Eine Überschrift

Etwas Absatztext

In Version 3 der Containerund ReihenflüssigkeitKlassen existieren nicht mehr. 

Wie bekommt man einen Flüssigkeitsbehälter? Einfach: Sie tun es nicht. 

Anstatt Ihren Inhalt in eine Containerund dann ein Reihe, Sie wickeln sie einfach in nichts ein. 

Sie können das Rastersystem weiterhin verwenden, um umschließende Container für Ihre Inhalte bereitzustellen, sodass das Bootstrap-Grid gut zusammenpasst, Sie müssen jedoch keinen Container mehr in diese Sammlungen von einfügen

Elemente, bevor Sie sie verwenden. 

In der Tat, wenn Sie verwenden Containerund Reihe(die nicht-flüssigen Versionen sind noch immer vorhanden). Anschließend werden alle Inhalte automatisch in der mittleren Spalte mit 1024 Pixeln angezeigt. Wenn Sie dies nicht tun, können Sie die gesamte Seitenbreite verwenden. 

Das Rastersystem migrieren 

Der größte Klassenwechsel ist dann das Netz selbst. 

In Version 2 haben Sie Raster normalerweise auf folgende Weise erstellt: 

Inhalt hier
Inhalt hier

Dieser Code würde Ihnen zwei Container geben, die die 12 Rasterfelder, die alle Layouts hatten, säuberlich ausfüllten (normalerweise eine Seitenleiste).. 

In Version 3 entspricht das Raster der mittleren Ebene jetzt der Version 2 SpanneKlassen, um den vorherigen Code für V3 neu zu schreiben, müssen Sie einfach Folgendes tun: 

Inhalt hier
Inhalt hier

Während Version 2 jedoch nur eine Ebene mit Rastergröße hatte, hat Version 3 jetzt vier Ebenen. Jede Ebene ist auf das erwartete Hauptzielgerät zugeschnitten, von dem Sie erwarten, dass Ihr Endprodukt ausgeführt wird. 

Diese Rastereinheiten werden jetzt wie folgt benannt: 

  • Extra kleine Geräte: col-xs- *
  • Kleine Geräte: col-sm- *
  • Mittlere Geräte: col-md- *
  • Große Geräte: col-lg- *

Medienabfragen werden intern für BS3 verwendet, um zu entscheiden, welche der oben genannten Gitterklassen verwendet werden soll, und die verschiedenen Größen werden wie folgt definiert: 

  • Extra klein: Anzeigebreite weniger als 768 Pixel 
  • Klein: Anzeigebreite größer oder gleich 768 Pixel oder weniger als 992 Pixel 
  • Mittel: Anzeigebreite größer oder gleich 992 Pixel oder weniger als 1.200 Pixel 
  • Groß: Anzeigebreite größer oder gleich 1.200 Pixel 

Sie können mehrere Versionen Ihres Rasters für BS3 codieren, um zu entscheiden, welcher Typ für das Anzeigen mehrerer Anzeigen verwendet werden soll. Zum Beispiel, wenn Sie Folgendes getan haben: 

Inhalt hier
Inhalt hier
Inhalt hier
Inhalt hier
Inhalt hier
Inhalt hier
Inhalt hier
Inhalt hier

BS3 blendet die Container nach Bedarf ein und aus, abhängig von der Breite der Geräteanzeige und der Bedienung der Medienabfragen. 

Wie bei den vorherigen Versionen des Rastersystems gibt es 12 Spalten, die sich horizontal über alle verschiedenen Größen erstrecken. Unabhängig davon, welche Gittergröße angezeigt wird, werden auf jedem Gerät immer 12 Gitter angezeigt. 

Die Spaltenbreite selbst ändert sich jedoch. Daher müssen Sie möglicherweise den Inhalt in diesen Rastern planen, um die unterschiedlichen Größen zu nutzen. Die Größen für jeden von ihnen sind wie folgt: 

  • col-xs- *= Automatische Größenanpassung, keine festen Abmessungen 
  • col-sm- *= 60 Pixel 
  • col-md- *= 78 Pixel 
  • col-lg- *= 95 Pixel 

Der Rinnenrand verbleibt in allen Fällen bei 15 Pixeln auf jeder Seite des Gittercontainers, so dass sich insgesamt eine Rinne von 30 Pixeln ergibt. Diese Größe ist unabhängig von der verwendeten Rastergröße gleich. 

Verschachtelung und Versatz funktionieren wie zuvor, jedoch wie bei den Rastern selbst, durch eine geringfügige Umbenennung der tatsächlich verwendeten Klassen. 

Um einen Versatz anzuwenden, verwenden Sie einfach col-md-offset- *, sich erinnern, das zu ersetzen mdmit xs, sm, oder lgje nach Größe des Rasters. 

Die Verschachtelung erfolgt einfach durch Verschachteln von Containern unter der Kontrolle des col-xx- *Klassen ineinander, wo sie ihre Größe ändern und sich wie in früheren BS-Versionen verhalten werden. 

Die folgenden Beispiele zeigen den richtigen Weg, um beide Techniken zu erreichen: 

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

In diesem Beispiel erhalten Sie ein Raster, das wie folgt aussieht: 

.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

In diesem Beispiel erhalten Sie ein Layout wie folgt: 

BS3 bringt auch etwas Neues in die Tabelle, wenn es um Versatz und Verschachtelung geht, und das nennt man Spaltenreihenfolge. 

Wenn Sie möchten, dass Ihre Spalten in einer anderen Reihenfolge angezeigt werden, als Sie sie in Ihrem HTML-Dokument definieren, können Sie die neue verwenden col-xx-pull- *und col-xx-push- *Klassen, um Ihre Rasterlayouts in die gewünschte Reihenfolge zu verschieben oder zu verschieben. Zum Beispiel: 

8 Spalten Inhalt
4 Spalten Inhalt

Wenn Sie diese in Ihrem Dokument wie erwartet rendern, erhalten Sie Folgendes: 

Wenn Sie jedoch den obigen Code ändern, fügen Sie Push- und Pull-Modifizierer wie folgt hinzu: 

8 Spalten Inhalt
4 Spalten Inhalt

Wenn Sie Ihr Dokument rendern, sollten Sie Ihr Layout wie folgt ändern: 

Schließlich, wenn Sie die verwenden Weniger In CSS-Quellversionen von Bootstrap haben Sie die vollständige Kontrolle über die Rastergrößen, indem Sie die folgenden Variablen ändern: 

  • @ Rasterspalten: steuert die Anzahl der Raster horizontal (Standard 12) 
  • @ gitterrinnenbreite: der gesamte Rand um jedes Raster (standardmäßig 30 Pixel) 
  • @ Grid-Float-Haltepunkt: die minimale Größe, unter der wir "extra kleine" Geräte haben (Standard 768 Pixel) 

Nun, da wir das neue Netzsystem unter Kontrolle haben, gibt es sonst noch etwas, das Sie wissen müssen? 

Der klügste von Ihnen könnte denken: „Aber das ist verrückt - mit all diesen verschiedenen Sätzen

Elemente und Offsets mit col-xx-xxIch kann genauso gut vier verschiedene Websites mit vier verschiedenen Auflösungen erstellen! “Um ehrlich zu sein, würde ich Ihnen keine Vorwürfe machen, abgesehen von einer Sache: Jede dieser neuen Layoutgrößenstufen ist entwickelt, um gleichzeitig mit dem gleichen Markup zu arbeiten und denselben Platz zu belegen. 

Nehmen wir den Code aus dem vorherigen Codebeispiel 4 und schreiben Sie ihn neu, um dies auf die empfohlene Weise zu tun: 

Inhalt hier
Inhalt hier

Ok, Sie könnten also mit der Klassenliste aus den Höllen auf Ihren Elementen enden, aber ein Satz Markup passt sich an alle Anzeigegrößen an und passt sich bei Bedarf selbst an. 

Dies funktioniert auch mit den verschiedenen Klassen für Versatz, Reihenfolge und Verschachtelung.

Andere Migrationen  

Zusätzlich zu den bereits besprochenen müssen die folgenden Klassennamen geändert werden, wenn Sie von einem V2-Layout zu einem V3-Layout migrieren (Hinweis: Die folgende Tabelle wurde direkt aus den Bootstrap 3-Dokumenten übernommen und war korrekt.) zum Zeitpunkt des Schreibens. Wenn Bootstrap jedoch ausgereift ist, kann dies nicht so bleiben.). 

Klassenname der Bootstrap-Version 2 Klassenname der Bootstrap-Version 3
.Kontrollgruppe. Warnung .Kontrollgruppe.Fehler .Kontrollgruppe. Erfolg .form-group.hat- *
.checkbox.inline .radio.inline .Checkbox-Inline .Radio-Inline
.Eingabe-Voranstellen .Eingabe-Anhängen .Eingabegruppe
.Erweiterung .Eingabegruppen-Addon
.img-polaroid .img-thumbnail
ul.artyled .list-unstyled
ul.inline .list-inline
.stummgeschaltet .Text stummgeschaltet
.Etikette .label .label-default
.Label wichtig .Label-Gefahr
.Textfehler .Textgefahr
.tisch .error .Tabelle .danger
.Bar .Fortschrittsanzeige
.Bar-*
.Fortschrittsanzeige-*
.Akkordeon .Panel-Gruppe
.Akkordeon-Gruppe .Panel-Panel-Standard
.Akkordeon-Überschrift .Panel-Überschrift
.Akkordeon-Körper .Panel-Zusammenbruch
.Akkordeon-Inneres .Panel-Körper

Wie bereits erwähnt, wurden die meisten Änderungen vorgenommen, um die Übereinstimmung mit dem von den verschiedenen Klassen verwendeten Namensschema herzustellen. Viele von ihnen wurden jedoch auch umbenannt, weil sich ihr Gesamtzweck geändert hat. 

In den nächsten Tutorials dieser Serie werden wir detaillierter darauf eingehen. Wenn Sie jedoch eine Konvertierung durchführen, werden Sie in Tabelle 2 alles erfahren, was Sie benötigen, um ein v2-Layout auf v3 umzustellen. 

Möglicherweise möchten Sie die Verwendung eines benutzerdefinierten Jobs in etwa einer Grunt.js-Task in Betracht ziehen, sodass diese Änderungen beim Ausführen des Build-Systems automatisch ausgeführt werden. Auf diese Weise können Ihre Entwickler mit Version 2 produktiv arbeiten und schrittweise zu Version 3 wechseln. 

Was also genau zu Bootstrap hinzugefügt wurde, ist neu und was genau wurde entfernt? 

Wir beginnen mit dem, was entfernt wurde, und behandeln, was im Tutorial "Geänderte CSS-Funktionen" genauer beschrieben wurde. Es ist wichtiger, dass Sie wissen, was in diesem Tutorial entfernt wurde, da dies das Tutorial ist, das Sie verwenden. beziehen sich wahrscheinlich auf die Migration Ihrer Layouts 

Zuerst beginnen wir mit dem, was bei Formularen entfernt wurde, und das ist leider ziemlich viel. Wir haben keinen bestimmten Typ mehr für ein Suchformular Formular-Suche, und die schattierte Leiste, die sich normalerweise am Fuß eines Formulars befindet Formular-Aktionenwurde auch in v3 nicht mehr empfohlen. 

Auch die Klasse, in der Validierungsfehler angezeigt werden, ist nicht mehr vorhanden, Kontrollgruppen-Info, und sein Gegenstück, Inline-Hilfe. Keine dieser vier Klassen hat eine empfohlene Ersetzung in der v3-Codebasis, dh, um Äquivalente davon zu erstellen, müssen Sie ggf. andere Elemente und Klassen verwenden. 

Weiter mit Formularen, dem Hauptteil KontrollenDie Klasse, die verwendet wird, um ganze Kontrollsätze einzuwickeln, ist zusammen mit Steuerelementzeile. Stattdessen wird die Verwendung empfohlen Reiheoder das neue Gruppe formen Klasse. Formulare haben auch die meisten Größenklassen verloren. die Klassen mit fester Größe wie Eingabe-Mini, eingangsklein, Eingabemedium, eingang groß, input-xlarge, und input-xxlargeJetzt sind alle zusammen mit der Steuerungsklasse auf Blockebene verschwunden Eingabeblock-Ebene. Stattdessen wird empfohlen, die Größe von Formularelementen mithilfe von zu steuern Formularsteuerungin Kombination mit den neuen Größen und Layouts des Rastersystems. 

Aus Sicht der Einzelkontrolle ist die inversKlassen wurden von Schaltflächen und ähnlichen Steuerelementen entfernt, und wir haben auch die Dropdown-UntermenüKlasse für die Verwendung nur geteilt Dropdown-Schaltflächen, um die gleiche Funktionalität zu erstellen. 

Für Registerkarten die Tabs-links, Tabs-rechts, und Tabs untenEs gibt keine Klassen mehr, dh wir haben jetzt nur noch die Möglichkeit, Registerkarten links oben auf den Inhalt zu setzen. 

Bei Tabs wurde die Klasse für die Arbeit mit Inhalten in einem Pill-basierten Tab-Setup ebenfalls entfernt Pillenscheibeund Pilleninhaltsollte jetzt das allgemeine verwenden Tab-Inhalt und Tab-BereichKlassen. 

Zum Schluss noch die verschiedenen NavbarDer Unterricht ist nicht ohne Verluste: navbar-inner, Navbar-Teiler-vertikalNavi-Liste, und nav-Headersind nicht mehr Teil des Rahmens. 

In den meisten Fällen gibt es in v3 für diese Klassen keine direkten Äquivalente, obwohl in anderen Klassen einige Ähnlichkeiten bestehen, die sich als nützlich erweisen können. Zum Beispiel, Navi-Listeund nav-Headerkann mit neu erstellt werden ListeGruppen. 

Im Migrationshandbuch auf der Bootstrap 3-Website finden Sie eine Kurzübersicht.

Dieses Tutorial enthält ein Kapitel von Bootstrap 3 Succinctly, ein kostenloses eBook des Teams von Syncfusion.