<!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>