OLD | NEW |
| (Empty) |
1 <!doctype html> | |
2 <!-- | |
3 Copyright 2013 The Polymer Authors. All rights reserved. | |
4 Use of this source code is governed by a BSD-style | |
5 license that can be found in the LICENSE file. | |
6 --> | |
7 <html> | |
8 <head> | |
9 <title>paper-shadow</title> | |
10 <meta charset="utf-8"> | |
11 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | |
12 <meta name="viewport" content="width=device-width, initial-scale=1, user-scala
ble=no"> | |
13 <script src="../platform/platform.js"></script> | |
14 <link href="paper-shadow.html" rel="import"> | |
15 <style> | |
16 body { | |
17 font-family: RobotoDraft, 'Helvetica Neue', Helvetica, Arial; | |
18 transform: translateZ(0); | |
19 -webkit-transform: translateZ(0); | |
20 transform: translateZ(0); | |
21 padding: 16px; | |
22 user-select: none; | |
23 -webkit-user-select: none; | |
24 } | |
25 | |
26 section { | |
27 display: flex; | |
28 display: -webkit-flex; | |
29 width: 80%; | |
30 margin: 16px; | |
31 } | |
32 | |
33 aside { | |
34 flex: 1 1 auto; | |
35 -webkit-flex: 1 1 auto; | |
36 padding: 48px 16px; | |
37 user-select: text; | |
38 -webkit-user-select: text; | |
39 } | |
40 | |
41 .card { | |
42 background: white; | |
43 width: 300px; | |
44 height: 300px; | |
45 position: relative; | |
46 margin: 16px; | |
47 border-radius: 2px; | |
48 } | |
49 | |
50 .card-inner { | |
51 position: absolute; | |
52 left: 0; | |
53 top: 0; | |
54 right: 0; | |
55 bottom: 0; | |
56 border-radius: 2px; | |
57 } | |
58 | |
59 </style> | |
60 </head> | |
61 <body unresolved> | |
62 | |
63 <paper-shadow></paper-shadow> | |
64 | |
65 <section> | |
66 <div> | |
67 <div class="card"> | |
68 </div> | |
69 </div> | |
70 <aside> | |
71 z-depth = 0 | |
72 </aside> | |
73 </section> | |
74 | |
75 <section> | |
76 <!-- Example of using paper-shadow to add a shadow to an element --> | |
77 <div> | |
78 <div class="card"> | |
79 <paper-shadow z="1"></paper-shadow> | |
80 </div> | |
81 </div> | |
82 <aside> | |
83 z-depth = 1 | |
84 </aside> | |
85 </section> | |
86 | |
87 <section> | |
88 <!-- Example of using paper-shadow as part of a Polymer element --> | |
89 <polymer-element name="x-card" attributes="z"> | |
90 <template> | |
91 <style> | |
92 :host { | |
93 display: block; | |
94 } | |
95 </style> | |
96 <paper-shadow z="{{z}}"></paper-shadow> | |
97 </template> | |
98 <script> | |
99 Polymer('x-card', { | |
100 publish: { | |
101 z: {value: 1, reflect: true} | |
102 } | |
103 }); | |
104 </script> | |
105 </polymer-element> | |
106 <div> | |
107 <x-card class="card" z="2"></x-card> | |
108 </div> | |
109 <aside> | |
110 z-depth = 2 | |
111 </aside> | |
112 </section> | |
113 | |
114 <section> | |
115 <!-- Example of using paper-shadow by adding a class directly --> | |
116 <div> | |
117 <div class="card paper-shadow-top-z-3"> | |
118 <div class="card-inner paper-shadow-bottom-z-3"> | |
119 </div> | |
120 </div> | |
121 </div> | |
122 <aside> | |
123 z-depth = 3 | |
124 </aside> | |
125 </section> | |
126 | |
127 <section> | |
128 <div> | |
129 <div class="card paper-shadow-top-z-4"> | |
130 <div class="card-inner paper-shadow-bottom-z-4"> | |
131 </div> | |
132 </div> | |
133 </div> | |
134 <aside> | |
135 z-depth = 4 | |
136 </aside> | |
137 </section> | |
138 | |
139 <section> | |
140 <div> | |
141 <div class="card paper-shadow-top-z-5"> | |
142 <div class="card-inner paper-shadow-bottom-z-5"> | |
143 </div> | |
144 </div> | |
145 </div> | |
146 <aside> | |
147 z-depth = 5 | |
148 </aside> | |
149 </section> | |
150 | |
151 <br> | |
152 <br> | |
153 <br> | |
154 <br> | |
155 | |
156 <polymer-element name="x-shadow" attributes="z" on-tap="{{tapAction}}"> | |
157 <template> | |
158 <style> | |
159 :host, | |
160 .paper-shadow-bottom { | |
161 display: block; | |
162 background: white; | |
163 color: #ccc; | |
164 } | |
165 | |
166 :host(.fab), | |
167 :host(.fab) .paper-shadow-bottom { | |
168 width: 48px; | |
169 height: 48px; | |
170 border-radius: 24px; | |
171 } | |
172 </style> | |
173 <paper-shadow z="{{z}}" animated></paper-shadow> | |
174 </template> | |
175 <script> | |
176 Polymer('x-shadow', { | |
177 publish: { | |
178 z: {value: 0, reflect: true} | |
179 }, | |
180 up: true, | |
181 zChanged: function() { | |
182 this.fire('shadow-z-changed'); | |
183 }, | |
184 tapAction: function() { | |
185 if (this.up) { | |
186 if (this.z < 5) { | |
187 this.z += 1; | |
188 } else { | |
189 this.z -= 1; | |
190 this.up = false; | |
191 } | |
192 } else { | |
193 if (this.z > 0) { | |
194 this.z -= 1; | |
195 } else { | |
196 this.z += 1; | |
197 this.up = true; | |
198 } | |
199 } | |
200 } | |
201 }); | |
202 </script> | |
203 </polymer-element> | |
204 | |
205 <section> | |
206 <div> | |
207 <x-shadow id="card" z="0" class="card"></x-shadow> | |
208 </div> | |
209 <aside> | |
210 Tap to lift/drop the card. | |
211 <br> | |
212 Current z-index = <span id="card-z">0</span> | |
213 </aside> | |
214 <script> | |
215 document.addEventListener('polymer-ready', function() { | |
216 var fab = document.getElementById('card'); | |
217 fab.addEventListener('shadow-z-changed', function() { | |
218 document.getElementById('card-z').textContent = fab.z; | |
219 }); | |
220 }); | |
221 </script> | |
222 </section> | |
223 | |
224 <section> | |
225 <div> | |
226 <style> | |
227 x-shadow.fab { | |
228 margin: 48px 142px; | |
229 } | |
230 </style> | |
231 <x-shadow id="fab" z="0" class="fab"></x-shadow> | |
232 </div> | |
233 <aside> | |
234 Tap to lift/drop the button. | |
235 <br> | |
236 Current z-index = <span id="fab-z">0</span> | |
237 </aside> | |
238 <script> | |
239 document.addEventListener('polymer-ready', function() { | |
240 var fab = document.getElementById('fab'); | |
241 fab.addEventListener('shadow-z-changed', function() { | |
242 document.getElementById('fab-z').textContent = fab.z; | |
243 }); | |
244 }); | |
245 </script> | |
246 </section> | |
247 | |
248 </body> | |
249 </html> | |
OLD | NEW |