blob: 4bc2d41091ecd3d956969163776339125548e311 [file] [log] [blame]
<!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>