Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Coding 3D transitions

From: CSS: Transitions and Transforms

Video: Coding 3D transitions

Although we're still in its infancy, 3D Transforms take the next logical step in Transitions and Transforms. The W3C 3D Transforms working group starts with a very straightforward definition: "CSS 3D Transforms extends CSS Transforms to allow elements rendered by CSS to be transform in three-dimensional space." Again, the devil is in the details. To represent 3D in a 2D medium like a computer screen, you have to first establish a perspective. Typically in a 3D transform, a CSS rule for the containing element like a div tag is established that defines both the perspective and perspective origin.

Coding 3D transitions

Although we're still in its infancy, 3D Transforms take the next logical step in Transitions and Transforms. The W3C 3D Transforms working group starts with a very straightforward definition: "CSS 3D Transforms extends CSS Transforms to allow elements rendered by CSS to be transform in three-dimensional space." Again, the devil is in the details. To represent 3D in a 2D medium like a computer screen, you have to first establish a perspective. Typically in a 3D transform, a CSS rule for the containing element like a div tag is established that defines both the perspective and perspective origin.

Perspective is essentially the distance from the viewer to the object. Lower numbers bring you closer to the object and distorted more. If you're a photographer, you can think of it as changing the focal length. Let me show you what I mean with a demo that changes the perspective dynamically, going from a value of 1000 to 100 in about 6 seconds. As you can see, the distortion begins to take effect as you get closer to the object with the lower perspective values.

If you've done any perspective drawing, you'll be familiar with a concept of the vanishing point. Perspective-origin establishes the vanishing point which by default is 50%, 50%, or the center. Use values from 0% to 100% in both X and Y axes to change the perspective origin. Here is that same perspective demo with a prospective origin set to 50%, 100% the bottom center, which shows the ugly truth about my seemingly 3D boxes.

Transformed 3D functions are, for the most part, the same as their 2D counterpart but include the Z axis. For example, translate adds translateZ to translateX, and translateY. You can also use the shorthand function translate3d. Use negative values for translateZ to move the object further away and positive for closer. Now let's add a translateZ function to our perspective demo, moving in 75 pixels.

Scary, eh? There's also a transformed 3D version of scale, where negative Z values make the objects smaller and positive larger. This page shows you the test that the Webkit Engineers came up with to verify that scale 3D was working. When I hover over the area, the scale 3D property is applied to the blue box. Now it scales up enough to stretch outside of the box, and there is also rotate. If you use the shorthand property rotate3d, you need to include four values.

The first three define the axis of rotation and the fourth is the degree of movement, or angle of rotation. Positive angles move the object clockwise and negative counterclockwise. To demonstrate this, let me show you a great showcase for 3D rotation. This example was created by webkit.org, Let me move down a little bit so you can appreciate the rotation of the cube, and I can also click on the Toggle Shape button to see a different kind of rotation.

Not only it is a terrific showcase for 3D rotation, but it also demonstrates one of the other properties available to you in the 3D space, Backface Visibility. So let me toggle off that option and toggle it back on, and then let's bring the cubes back, and I'll toggle off Backface Visibility one more time. Now there is one more 3D-related property you should be familiar with, Transform Style.

This property determines how the child elements in a perspective space are rendered. If transform-style is set to preserve 3D, all the transforms are applied to the children, but if transform-style is flat, the elements appear to be in the 2D plane of the parent element. This is far easier demoed than explained. So now you see three objects rotating with the transform-style set to preserve-3d, but watch what happens when I hover over them and the transform-style is changed from preserve-3d to flat.

The object continues to rotate, but now the children collapsed into the parent element. I'll hover out, and we're back to 3D. Originally, only Safari browsers handle 3D transforms, but in the last year browser support has really expanded with Firefox and Chrome coming onboard, as this shot from caniuse shows. At this stage you'll definitely need to use render prefixes to get any effects, but include the generic property to future-proof your code.

So that's an overview of 3D transforms. You'll have an opportunity to explore the various functions in depth in Chapter 4.

Show transcript

This video is part of

Image for CSS: Transitions and Transforms
CSS: Transitions and Transforms

26 video lessons · 14299 viewers

Joseph Lowery
Author

 

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now "Already a member? Log in

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed CSS: Transitions and Transforms.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.