Implementation

Thomas Burleson edited this page Dec 21, 2016 · 4 revisions

The Angular 2 architecture for Layouts eliminates all external Flexbox stylesheets and SCSS files formerly used in the Angular Material 1 Layout implementations.

This is pure typescript- Angular Layout engine that is independent of Angular Material yet can be used easily within any Material 2 application.

The Layout API directives are used to create DOM element style injectors which inject specific, custom Flexbox CSS directly as inline styles onto the DOM element.

For example, consider the use of the fxLayout="row" and fxLayoutAlign="center center" directives.

Static Markup:

<div [fxLayout]="direction" fxLayoutAlign="center center">
  <div>one</div>
  <div>two</div>
  <div>three</div>
</div>

is transformed (at runtime) with inline, injected styles:

<div fxLayout="row" fxLayoutAlign="center center"
      style="display: flex; flex-direction: row; max-width: 100%; 
             box-sizing: border-box; justify-content: center; 
             align-content: center; align-items: center;">
  <div>one</div>
  <div>two</div>
  <div>three</div>
</div>