JSPM

  • Created
  • Published
  • Downloads 39225
  • Score
    100M100P100Q171414F
  • License BSD-3-Clause

Provide flexbox-based layouts

Package Exports

  • @polymer/iron-flex-layout/iron-flex-layout
  • @polymer/iron-flex-layout/iron-flex-layout-classes
  • @polymer/iron-flex-layout/iron-flex-layout-classes.js
  • @polymer/iron-flex-layout/iron-flex-layout.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@polymer/iron-flex-layout) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Published on NPM Build status Published on webcomponents.org

<iron-flex-layout>

The <iron-flex-layout> component provides simple ways to use CSS flexible box layout, also known as flexbox. Note that this is an old element, that was written before all modern browsers had non-prefixed flex styles. As such, nowadays you don't really need to use this element anymore, and can use CSS flex styles directly in your code.

See: Documentation, Demo.

This component provides two different ways to use flexbox:

  1. Layout classes. The layout class stylesheet provides a simple set of class-based flexbox rules, that let you specify layout properties directly in markup. You must include this file in every element that needs to use them.

  2. Custom CSS mixins. The mixin stylesheet includes custom CSS mixins that can be applied inside a CSS rule using the @apply function.

Usage

Installation

npm install --save @polymer/iron-flex-layout

In a Polymer 3 element

import {PolymerElement, html} from '@polymer/polymer';
import '@polymer/iron-flex-layout/iron-flex-layout-classes.js';

class SampleElement extends PolymerElement {
  static get template() {
    return html`
      <style is="custom-style" include="iron-flex iron-flex-alignment"></style>
      <style>
        .test { width: 100px; }
      </style>
      <div class="layout horizontal center-center">
        <div class="test">horizontal layout center alignment</div>
      </div>
    `;
  }
}
customElements.define('sample-element', SampleElement);

Contributing

If you want to send a PR to this element, here are the instructions for running the tests and demo locally:

Installation

git clone https://github.com/PolymerElements/iron-flex-layout
cd iron-flex-layout
npm install
npm install -g polymer-cli

Running the demo locally

polymer serve --npm
open http://127.0.0.1:<port>/demo/

Running the tests

polymer test --npm