Zurück zum Blog

Implementierung von Flex Layout in Angular: Eine Anleitung

Implementierung von Flex Layout in Angular: Eine Anleitung

Einführung

CSS Flex Layout wird verwendet, um flexible, flüssige Layouts zu erstellen. Wenn man jedoch Angular verwendet, gibt es Szenarien, in denen wir eine dynamischere Kontrolle über die Layouts benötigen. Darüber hinaus erfordert die Verwendung von CSS Flexbox eine komplizierte Formatierung, die für viele Entwickler schwierig sein kann. Flex Layout ist eine Komponenten-Engine, die dieses Problem lösen soll. Sie bietet eine Reihe von Direktiven, die für die Implementierung in Ihren Anwendungen zur Verfügung stehen.

Das Flex Layout verwendet Typescript, was es ideal für Angular-Anwendungen macht. Es werden keine externen Stylesheets benötigt, und es können verschiedene Direktiven verwendet werden, um responsive Layouts zu erstellen. In diesem Tutorial werden wir eine einfache Angular-Anwendung erstellen und Flex Layout einbinden, um unsere Komponenten anzuordnen.

Fangen wir an!

Voraussetzungen

Projektkonfiguration

Hier müssen wir zwei Schritte durchführen:

  • Wir müssen eine neue Angular-Anwendung einrichten.
  • Wir müssen Flex Layout von npx installieren, damit wir es in unserer Anwendung importieren und verwenden können.

Um eine neue Angular-Anwendung zu erstellen, öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:

Hier erstellen wir eine neue Angular-Anwendung mit @angular/cli. Der Name unserer Anwendung lautet angular-flex-example. Wir werden CSS anstelle von Sass oder Less für das Styling verwenden. Darüber hinaus geben wir an, dass wir kein Routing benötigen. Da uns die Tests ebenfalls nicht interessieren, überspringen wir diese ebenfalls.

Da Ihre Anwendung nun bereit ist, navigieren Sie in das Anwendungsverzeichnis und führen Sie den folgenden Befehl aus, um Flex Layout zu installieren:

Sobald der obige Befehl die Installation abgeschlossen hat, fügen Sie den folgenden Code in Ihr App-Modul ein, um FlexLayoutModule:

Führen Sie als Nächstes den folgenden Befehl aus, um sicherzustellen, dass alles wie erwartet läuft:

Ihre Anwendung wird standardmäßig auf localhost:4200 bereitgestellt. Navigieren Sie im Webbrowser zu dieser URL. Sie sehen die Meldung: angular-flex-example is running!. Nachdem diese Einrichtung abgeschlossen ist, entwerfen wir unsere Vorlage mit Flex Layout.

Erstellen des Flex Layouts

Hier werden wir Code in app.component.html einfügen, um das Flex Layout mit FlexLayoutModule zu verwenden. Unser Endergebnis wird der folgenden Abbildung ähneln:

Flex Layout in Angular image 1

Um das obige Ergebnis zu erzielen, öffnen Sie die app.component.css in Ihrem Editor und fügen Sie die folgenden Codezeilen hinzu:

Nachdem Sie den obigen Code hinzugefügt haben, öffnen Sie die app.component.html-Datei und fügen Sie den folgenden Code hinzu. Dieser Code hat zwei Container- divs und fünf innere divs:

Kompilieren Sie danach Ihre Anwendung und führen Sie sie aus. Sie werden fünf div-Elemente übereinander gestapelt sehen, da wir bisher kein Layout bereitgestellt haben. Um das fxLayout hinzuzufügen, fügen Sie den folgenden Code hinzu:

Im obigen Code werden nach der Anwendung dieses fxLayout die CSS-Eigenschaften display:flex und flex-direction:row-Styles auf das Container- div angewendets. Wenn Sie die Anwendung jetzt ausführen, haben Sie drei Divs in der ersten Zeile und zwei Divs in der unteren Zeile.

Als Nächstes fügen wir fxLayoutAlign und fxLayoutGap hinzu, um unser Layout zu verbessern:

Dies wendet place-content: stretch center und align-items: stretch-Styles auf das Container- div an. Es wendet außerdem einen Abstand von 10px zwischen den Flex-Elementen an.

Nachdem wir nun fxLayout angewendet haben, ist es an der Zeit, unser Layout responsiv zu gestalten:

Dieser Code legt den Breakpoint für die sehr kleinen xs-Bildschirme fest. Der Bildschirm ändert das Layout von der Standardzeile (row) zur Spalte (column) und die Abstandsgröße verringert sich von 10px auf 0px bei sehr kleinen Bildschirmen. Sie können dies testen, indem Sie die Anwendung ausführen und die Fenstergröße auf xs (weniger als 599px Breite) ändern. Sie werden feststellen, dass sich das Styling ändert.

Für verschiedene Bildschirmgrößen haben wir unterschiedliche Suffixe:

  • sm  – klein

  • md  – mittel

  • lg  – groß

  • xl  – sehr groß

Wir haben auch Direktiven für Kindelemente. Fügen Sie fxFlex  wie im folgenden Code hinzu:

Dies wendet flex-grow: 1, flex-shrink: 1, und flex-basis: 100% auf das Layout an. Wenn Sie den Breitenwert angeben, wird die Eigenschaft max-width angewendet.

Fügen wir fxFlexOrder und fxFlexOffset:

Mit diesem Code haben wir order: 3 auf das zweite Element angewendet. Es wird auch den margin-left: 50px für das vierte Element festlegen. Wenn Sie die Anwendung nun ausführen, sehen Sie, dass sich das zweite Element an der dritten Position der Zeile befindet, während das vierte Element einen Abstand von 30px zum Anfang erhält.

Fazit

In diesem Tutorial haben wir gelernt, wie man das Flex Layout in Angular-Apps implementiert. Dies wird hilfreich sein, da wir fertige Flexbox-CSS-Layouts verwenden können, ohne das Styling selbst programmieren zu müssen. Wenn Sie weitere Informationen benötigen, lesen Sie das Flex Layout Wiki auf der GitHub-Seite.

Um die Dinge in diesem Tutorial einfach zu halten, haben wir kein Binding verwendet, um Werte in der Komponentenklasse zu binden. Es ist jedoch sowohl unidirektionales als auch bidirektionales Binding in der Komponentenklasse möglich [fxLayout]="Ihre Layout-Richtung". Dies gibt Ihnen mehr Kontrolle beim Erstellen von Layouts, und dynamische Anwendungsfälle können damit gelöst werden.

Angular-Apps verwenden Node.js als Laufzeitumgebung. Wenn Sie mehr über Node.js erfahren möchten und darüber, wie man Node.js-Anwendungen auf Docker bereitstellt, lesen Sie unser Wie man eine Node.js (Express.js) App mit Docker auf Ubuntu 20.04 bereitstellt-Tutorial. Um mehr über Angular zu erfahren, lesen Sie unser Tutorial  Navigation mit RouterLink, Navigate und NavigateByUrl im Angular Router.

Viel Spaß beim Programmieren!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev ist ein kreativer Designer bei CloudSigma und konzentriert sich auf eine konsistente Unternehmensidentität durch traditionelle und innovative Marketingkanäle. Er versteht es meisterhaft, künstlerische Vision mit strategischem Marketing zu verbinden, um wirkungsvolle Markengeschichten zu schaffen.

Kommentare

Noch keine Kommentare. Schreiben Sie den ersten.