| <!doctype html> |
| <!-- |
| @license |
| Copyright (c) 2015 The Polymer Project Authors. All rights reserved. |
| This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt |
| The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt |
| The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt |
| Code distributed by Google as part of the polymer project is also |
| subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt |
| --> |
| |
| <html> |
| <head> |
| |
| <title>iron-flex-layout demo</title> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| |
| <script src="../../webcomponentsjs/webcomponents-lite.js"></script> |
| |
| <link rel="import" href="../../paper-styles/demo-pages.html"> |
| <link rel="import" href="../../iron-demo-helpers/demo-snippet.html"> |
| <link rel="import" href="../../iron-demo-helpers/demo-pages-shared-styles.html"> |
| <link rel="import" href="../iron-flex-layout.html"> |
| |
| <style is="custom-style" include="demo-pages-shared-styles"> |
| demo-snippet { |
| --demo-snippet-demo: { |
| padding: 0; |
| } |
| } |
| .container { |
| background-color: #ccc; |
| padding: 5px; |
| margin: 0; |
| } |
| .container > div { |
| padding: 15px; |
| margin: 5px; |
| background-color: white; |
| min-height: 20px; |
| } |
| |
| .vertical-section-container { |
| max-width: 700px |
| } |
| </style> |
| |
| </head> |
| <body unresolved class="fullbleed"> |
| <div class="vertical-section-container centered"> |
| <h4>Horizontal and vertical layout</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex { |
| @apply(--layout-horizontal); |
| } |
| </style> |
| <div class="container flex"> |
| <div>one</div> |
| <div>two</div> |
| <div>three</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Flexible children</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-horizontal { |
| @apply(--layout-horizontal); |
| } |
| .flexchild { |
| @apply(--layout-flex); |
| } |
| </style> |
| |
| <div class="container flex-horizontal"> |
| <div>one</div> |
| <div class="flexchild">two (flex)</div> |
| <div>three</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Flexible children in vertical layouts</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-vertical { |
| @apply(--layout-vertical); |
| height: 220px; |
| } |
| .flexchild-vertical { |
| @apply(--layout-flex); |
| } |
| </style> |
| |
| <div class="container flex-vertical"> |
| <div>one</div> |
| <div class="flexchild-vertical">two (flex)</div> |
| <div>three</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Flex ratios</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-horizontal-with-ratios { |
| @apply(--layout-horizontal); |
| } |
| .flexchild { |
| @apply(--layout-flex); |
| } |
| .flex2child { |
| @apply(--layout-flex-2); |
| } |
| .flex3child { |
| @apply(--layout-flex-3); |
| } |
| </style> |
| |
| <div class="container flex-horizontal-with-ratios"> |
| <div class="flex3child">one</div> |
| <div class="flexchild">two</div> |
| <div class="flex2child">three</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Cross-axis stretch alignment (default)</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-stretch-align { |
| @apply(--layout-horizontal); |
| height: 120px; |
| } |
| </style> |
| |
| <div class="container flex-stretch-align"> |
| <div>stretch</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Cross-axis center alignment</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-center-align { |
| @apply(--layout-horizontal); |
| @apply(--layout-center); |
| height: 120px; |
| } |
| </style> |
| |
| <div class="container flex-center-align"> |
| <div>center</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Cross-axis start alignment</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-start-align { |
| @apply(--layout-horizontal); |
| @apply(--layout-start); |
| height: 120px; |
| } |
| </style> |
| |
| <div class="container flex-start-align"> |
| <div>start</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Cross-axis end alignment</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-end-align { |
| @apply(--layout-horizontal); |
| @apply(--layout-end); |
| height: 120px; |
| } |
| </style> |
| |
| <div class="container flex-end-align"> |
| <div>end</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Justification, start justified</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-start-justified { |
| @apply(--layout-horizontal); |
| @apply(--layout-start-justified); |
| } |
| </style> |
| |
| <div class="container flex-start-justified"> |
| <div>start-justified</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Justification, center justified</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-center-justified { |
| @apply(--layout-horizontal); |
| @apply(--layout-center-justified); |
| } |
| </style> |
| |
| <div class="container flex-center-justified"> |
| <div>center-justified</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Justification, end justified</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-end-justified { |
| @apply(--layout-horizontal); |
| @apply(--layout-end-justified); |
| } |
| </style> |
| |
| <div class="container flex-end-justified"> |
| <div>end-justified</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Justification, equal space between elements</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-equal-justified { |
| @apply(--layout-horizontal); |
| @apply(--layout-justified); |
| } |
| </style> |
| |
| <div class="container flex-equal-justified"> |
| <div>justified</div> |
| <div>justified</div> |
| <div>justified</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Justification, equal space around each element</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-equal-around-justified { |
| @apply(--layout-horizontal); |
| @apply(--layout-around-justified); |
| } |
| </style> |
| |
| <div class="container flex-equal-around-justified"> |
| <div>around-justified</div> |
| <div>around-justified</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Self alignment</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-self-align { |
| @apply(--layout-horizontal); |
| @apply(--layout-justified); |
| height: 120px; |
| } |
| .flex-self-align div { |
| @apply(--layout-flex); |
| } |
| .child1 { |
| @apply(--layout-self-start); |
| } |
| .child2 { |
| @apply(--layout-self-center); |
| } |
| .child3 { |
| @apply(--layout-self-end); |
| } |
| .child4 { |
| @apply(--layout-self-stretch); |
| } |
| </style> |
| |
| <div class="container flex-self-align"> |
| <div class="child1">one</div> |
| <div class="child2">two</div> |
| <div class="child3">three</div> |
| <div class="child4">four</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Wrapping</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-wrap { |
| @apply(--layout-horizontal); |
| @apply(--layout-wrap); |
| width: 200px; |
| } |
| </style> |
| |
| <div class="container flex-wrap"> |
| <div>one</div> |
| <div>two</div> |
| <div>three</div> |
| <div>four</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>Reversed layouts</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .flex-reversed { |
| @apply(--layout-horizontal-reverse); |
| } |
| </style> |
| |
| <div class="container flex-reversed"> |
| <div>one</div> |
| <div>two</div> |
| <div>three</div> |
| <div>four</div> |
| </div> |
| </template> |
| </demo-snippet> |
| |
| <h4>General purpose rules</h4> |
| <demo-snippet> |
| <template> |
| <style is="custom-style"> |
| .general { |
| width: 100%; |
| } |
| .general > div { |
| background-color: #ccc; |
| padding: 4px; |
| margin: 12px; |
| } |
| .block { |
| @apply(--layout-block); |
| } |
| .invisible { |
| @apply(--layout-invisible); |
| } |
| .relative { |
| @apply(--layout-relative); |
| } |
| .fit { |
| @apply(--layout-fit); |
| } |
| </style> |
| |
| <div class="general"> |
| <div>Before <span>[A Span]</span> After</div> |
| <div>Before <span class="block">[A Block Span]</span> After</div> |
| <div>Before invisible span <span class="invisible">Not displayed</span> After invisible span</div> |
| <div class="relative" style="height: 100px;"> |
| <div class="fit" style="background-color: #000;color: white">Fit</div> |
| </div> |
| </div> |
| </template> |
| </demo-snippet> |
| </div> |
| </body> |
| </html> |