• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!doctype html>
2<!--
3@license
4Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
5This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
6The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
7The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
8Code distributed by Google as part of the polymer project is also
9subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
10-->
11<html>
12  <head>
13
14    <title>iron-image demo</title>
15
16    <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
17    <meta name="mobile-web-app-capable" content="yes">
18    <meta name="apple-mobile-web-app-capable" content="yes">
19
20    <script src="../../webcomponentsjs/webcomponents-lite.js"></script>
21
22    <link rel="import" href="../../iron-demo-helpers/demo-pages-shared-styles.html">
23    <link rel="import" href="../../iron-demo-helpers/demo-snippet.html">
24    <link rel="import" href="../../polymer/polymer.html">
25    <link rel="import" href="../iron-image.html">
26
27    <style is="custom-style" include="demo-pages-shared-styles">
28      .example {
29        margin: 4px;
30        flex: 1;
31      }
32
33      code {
34        white-space: nowrap;
35      }
36    </style>
37
38    <script>
39      function load(id) {
40        document.getElementById(id).src = "./polymer.svg?" + Math.random();
41      }
42    </script>
43
44  </head>
45  <body unresolved>
46
47    <div class="vertical-section-container centered">
48
49      <h3>A plain <code>iron-image</code>.</h3>
50      <demo-snippet class="centered-demo">
51        <template>
52          <iron-image alt="The Polymer logo." src="./polymer.svg"></iron-image>
53        </template>
54      </demo-snippet>
55
56      <h3>
57        <code>sizing="cover"</code> expands the image to cover all of its
58        specified size.
59      </h3>
60      <demo-snippet class="centered-demo">
61        <template>
62          <style is="custom-style">
63            #example-sizing-cover {
64              width: 150px;
65              height: 150px;
66              background: #ddd;
67            }
68          </style>
69
70          <iron-image sizing="cover" id="example-sizing-cover" alt="The Polymer logo." src="./polymer.svg"></iron-image>
71        </template>
72      </demo-snippet>
73
74      <h3>
75        <code>sizing="contain"</code> expands the image to fit within its
76        specified size.
77      </h3>
78      <demo-snippet class="centered-demo">
79        <template>
80          <style is="custom-style">
81            #example-sizing-contain {
82              width: 150px;
83              height: 150px;
84              background: #ddd;
85            }
86          </style>
87
88          <iron-image sizing="contain" id="example-sizing-contain" alt="The Polymer logo." src="./polymer.svg"></iron-image>
89        </template>
90      </demo-snippet>
91
92      <h3>
93        Use the <code>--iron-image-width</code> property to set the width of
94        the image wrapped by the <code>iron-image</code>.
95      </h3>
96      <demo-snippet class="centered-demo">
97        <template>
98          <style is="custom-style">
99            #example-full-width-container {
100              width: 200px;
101              border: 2px solid #444;
102              background: #444;
103            }
104
105            #example-full-width-container iron-image {
106              background: #ddd;
107            }
108
109            #example-full-width {
110              width: 100%;
111              --iron-image-width: 100%;
112            }
113
114            #example-half-width {
115              width: 50%;
116              --iron-image-width: 100%;
117            }
118          </style>
119
120
121          <div id="example-full-width-container">
122            <iron-image id="example-full-width" alt="The Polymer logo." src="./polymer.svg"></iron-image>
123            <iron-image id="example-half-width" alt="The Polymer logo." src="./polymer.svg"></iron-image>
124          </div>
125        </template>
126      </demo-snippet>
127
128      <h3>
129        Use the <code>--iron-image-height</code> property to set the height of
130        the image wrapped by the <code>iron-image</code>.
131      </h3>
132      <demo-snippet class="centered-demo">
133        <template>
134          <style is="custom-style">
135            #example-full-height-container {
136              height: 150px;
137              border: 2px solid #444;
138              background: #444;
139            }
140
141            #example-full-height-container iron-image{
142              background: #ddd;
143            }
144
145            #example-full-height {
146              height: 100%;
147              --iron-image-height: 100%;
148            }
149
150            #example-half-height {
151              height: 50%;
152              --iron-image-height: 100%;
153            }
154          </style>
155
156
157          <div id="example-full-height-container">
158            <iron-image id="example-full-height" alt="The Polymer logo." src="./polymer.svg"></iron-image>
159            <iron-image id="example-half-height" alt="The Polymer logo." src="./polymer.svg"></iron-image>
160          </div>
161        </template>
162      </demo-snippet>
163
164      <h3>
165        No placeholder is shown by default.
166      </h3>
167      <demo-snippet class="centered-demo">
168        <template>
169          <style is="custom-style">
170            .example.without-preload iron-image {
171              width: 150px;
172              height: 150px;
173              background: #ddd;
174            }
175          </style>
176
177          <div class="example without-preload">
178            <button onclick="load('example-without-preload-1')">
179              Load image
180            </button>
181            <br>
182            <iron-image sizing="contain" alt="The Polymer logo." id="example-without-preload-1"></iron-image>
183          </div>
184        </template>
185      </demo-snippet>
186
187      <h3>
188        The <code>preload</code> attribute shows a placeholder element in front
189        of the image before it has loaded. Use the
190        <code>--iron-image-placeholder</code> CSS mixin to style it.
191      </h3>
192      <demo-snippet class="centered-demo">
193        <template>
194          <style is="custom-style">
195            .example.preload iron-image {
196              width: 150px;
197              height: 150px;
198              background: #ddd;
199              --iron-image-placeholder: {
200                background: #939ed5;
201              };
202            }
203          </style>
204
205          <div class="example preload">
206            <button onclick="load('example-preload-1')">
207              Load image
208            </button>
209            <br>
210            <iron-image preload id="example-preload-1" alt="The Polymer logo." class="sized" sizing="contain"></iron-image>
211            <br>
212            Without the <code>fade</code> attribute, the placeholder element is
213            hidden with no transition when the image loads.
214          </div>
215          <div class="example preload">
216            <button onclick="load('example-preload-2')">
217              Load image
218            </button>
219            <br>
220            <iron-image preload fade id="example-preload-2" alt="The Polymer logo." class="sized" sizing="contain"></iron-image>
221            <br>
222            With the <code>fade</code> attribute, the placeholder element is
223            fades away when the image loads.
224          </div>
225        </template>
226      </demo-snippet>
227
228      <h3>
229        Use the <code>placeholder</code> attribute to specify a background image
230        for the placeholder element.
231      </h3>
232      <demo-snippet class="centered-demo">
233        <template>
234          <style is="custom-style">
235            .example.preload-image iron-image {
236              width: 150px;
237              height: 150px;
238              background: #ddd;
239            }
240          </style>
241
242          <div class="example preload-image">
243            <button onclick="load('example-preload-image-1')">
244              Load image
245            </button>
246            <br>
247            <iron-image preload placeholder="./loading.png" id="example-preload-image-1" alt="The Polymer logo." class="sized" sizing="contain"></iron-image>
248            <br>
249            (without <code>fade</code> attribute)
250          </div>
251          <div class="example preload-image">
252            <button onclick="load('example-preload-image-2')">
253              Load image
254            </button>
255            <br>
256            <iron-image preload placeholder="./loading.png" fade id="example-preload-image-2" alt="The Polymer logo." class="sized" sizing="contain"></iron-image>
257            <br>
258            (with <code>fade</code> attribute)
259          </div>
260        </template>
261      </demo-snippet>
262
263    </div>
264
265  </body>
266</html>
267