INTRO

INTRO

New

Intro to the Designer

Intro to the Designer

New

2:48

Intro to HTML & CSS

Intro to HTML & CSS

New

3:38

HTML Structure

HTML Structure

New

1:55

WEB STRUCTURE

WEB STRUCTURE

New

The Box Model

The Box Model

New

1:54

Element Hierarchy

Element Hierarchy

New

3:57

Navigator Panel

Navigator Panel

New

2:45

ELEMENTS

ELEMENTS

New

Element Panel

Element Panel

New

1:49

Section

Section

New

4:14

Container

Container

New

2:44

Columns

Columns

New

2:22

Div block

Div block

New

3:37

Buttons & Links

Buttons & Links

New

Button

Button

New

14:08

Link Block

Link Block

New

9:35

Text Link

Text Link

New

1:16

Typography

Typography

New

3:20

Heading

Heading

New

2:02

Paragraph

Paragraph

New

4:42

Rich Text

Rich Text

New

3:52

Text Block

Text Block

New

0:56

Block Quote

Block Quote

New

0:42

List

List

New

2:31

Media

Media

New

Image

Image

New

3:39

Image File Types

Image File Types

New

2:22

Image Resolution

Image Resolution

New

3:28

Assets Panel

Assets Panel

New

3:08

Video

Video

New

1:20

Background Video

Background Video

New

3:15

Components

Components

New

Intro to Forms

Intro to Forms

New

4:55

Styling Forms

Styling Forms

New

2:55

Navbar

Navbar

New

9:38

Styling a Navbar

Styling a Navbar

New

4:34

Navbar Menu Button

Navbar Menu Button

New

4:51

Slider

Slider

New

4:56

Tabs

Tabs

New

4:38

Lightbox

Lightbox

New

3:44

Map

Map

New

2:58

Dropdown

Dropdown

New

4:38

Social Media Buttons

Social Media Buttons

New

2:49

Custom Code Embed

Custom Code Embed

New

1:24

Symbols

Symbols

New

3:47

Styling Basics

Styling Basics

New

Intro to Style Panel

Intro to Style Panel

New

3:15

HTML Tags

HTML Tags

New

3:59

Classes

Classes

New

2:46

Combo Classes

Combo Classes

New

4:05

Text Style Inheritance

Text Style Inheritance

New

3:18

Style Manager

Style Manager

New

1:56

States

States

New

2:47

Transitions

Transitions

New

2:40

Color Picker & Swatches

Color Picker & Swatches

New

3:51

Color Values

Color Values

New

3:22

Layout Basics

Layout Basics

New

Intro to Web Layout

Intro to Web Layout

New

2:27

Display Settings

Display Settings

New

2:54

Padding & Margin

Padding & Margin

New

2:48

Width & Height Units

Width & Height Units

New

3:59

Floats & Clears

Floats & Clears

New

1:52

Flexbox & Grid

Flexbox & Grid

New

Intro to Flexbox

Intro to Flexbox

New

2:27

Centering elements with Flexbox

Centering elements with Flexbox

New

1:20

Equal height layouts with Flexbox

Equal height layouts with Flexbox

New

1:47

Grid layouts overview

Grid layouts overview

New

4:18

Flexbox vs. Grid

Flexbox vs. Grid

New

4:00

Advanced Layout

Advanced Layout

New

Positioning Overview

Positioning Overview

New

1:48

Relative Positioning

Relative Positioning

New

1:43

Absolute Positioning

Absolute Positioning

New

1:43

Fixed Positioning

Fixed Positioning

New

1:27

Z-Index

Z-Index

New

1:49

Overflow

Overflow

New

1:49

Styling Typography

Styling Typography

New

Intro to Web Typography

Intro to Web Typography

New

3:20

Typography Units

Typography Units

New

2:43

Line Height

Line Height

New

1:38

Advanced Typography Styles

Advanced Typography Styles

New

3:01

Google Fonts

Google Fonts

New

1:18

Custom Fonts

Custom Fonts

New

1:27

Text Shadow

Text Shadow

New

2:36

Background & Border Styles

Background & Border Styles

New

Background Styles Overview

Background Styles Overview

New

2:20

Background Image

Background Image

New

2:04

Background Gradient

Background Gradient

New

3:02

Border

Border

New

3:07

Border Radius

Border Radius

New

3:22

Box Shadow

Box Shadow

New

3:34

3D Styles

3D Styles

New

Intro to 3D

Intro to 3D

New

2:25

3D Perspective

3D Perspective

New

4:01

2D & 3D Transforms

2D & 3D Transforms

New

4:53

EFFECTS

EFFECTS

New

Opacity

Opacity

New

1:44

Filters

Filters

New

2:59

Cursors

Cursors

New

1:45

Responsive Design

Responsive Design

New

new course
CSS grid landing page tutorial (36min)

Lesson info

Enabling 3D perspective on an element makes it possible to move, rotate, and scale objects in 3D space. You can set perspective on a parent element and have it affect all of its children, or just on the element itself. Both of these options unlock 3D transforms. 

In this video, we’ll cover your options for 3D perspective, and show you how to scale elements on the z axis: 

  1. No perspective
  2. ‍Children perspective
  3. ‍Self perspective
  4. ‍Scaling along the z-axis

Lesson info

Explore this project

Want to dig into the project featured in this video and see how everything is put together? We've included the full project we used when making this lesson, and we've shared the link right under this very paragraph.

View and clone this projectDownload lesson assets

Related tutorial

Clone this projectDownload project assets

Transcript

When you need Perspective, go for a walk. When you need 3D Perspective, you can find it right in the Style panel.

By default, 3D Perspective is not 3D at all. You might find that things are flattened to appear as if they were two-dimensional. Even if we're controlling what seem like 3D properties. Nothing will actually appear 3D — at least not as we might expect — until we set a 3D Perspective.

We'll cover three things here: setting a Children Perspective (on a parent element), setting a Self Perspective (on an element itself), and scaling along the Z-Axis.

And here's a fairly common type of page with a contact form. Let's select the form itself and go in to add a transform. Notice how rotating about the y-axis shows us that everything is two-dimensional and boring.

And that’s okay. Since the form is inside our section? And we want to set the section to sort of act like a camera? With our section selected, we set the Children Perspective. Let's do 1,000 pixels. A higher value here is a more flattened effect; a lower value is a more dramatic effect.

Let's go over to preview this page. And we'll do this to demonstrate that everything still functions as we'd expect — fully functional. Even with this effect.

That's Children Perspective.

Let's talk Self Perspective.

Here are a bunch of div blocks. Nothing special about them, except that there are a lot of them. Now, the same class is applied to each and every one of these div blocks. And as we rotate them, the perspective is what you might expect if the viewport was a camera. The perspective is set on the section. We’ve set a child perspective; if we go into the section and remove that, we already know we have that flattening effect. Nothing looks 3D because no perspective has been set.

So, what happens if we go into our settings and set a Self Perspective? Again, we’re setting this on the class we have applied to these div blocks, let’s say, 1,000 pixels. And now, if we go back in and affect rotation, the elements are 3D. They have 3D perspective, but notice how the rotational distortion is relative to the element itself, not the viewport.

That’s Self Perspective.

Finally, let's talk about scaling along the Z-Axis.

Plain page. Three buttons. They're in a div block. That div block is inside our section. Let's select our section and set a Children Perspective of 800 pixels.

And to really demo this, we'll select the div block (which contains our three buttons), and we’ll add a transform to rotate about the x-axis 20 degrees. Why? Because we want to more clearly see what we're about to do, which will, without a doubt, blow your mind, unless you're not a human being.

Each of these buttons has a different combo class applied — take a look at the Selector Field and notice each button has a different class. We did this so we can style each button separately. With our first button selected, we'll go in and transform the Z-Position towards us by 20 pixels. That works. Next, we'll select the second button, we'll go in and transform again, but instead of 20 pixels, let's do 40 pixels. Looks good. And finally, let's grab our third button, and set a transform on this one to 60 pixels.

20, 40, and 60. Looks exactly how we'd expect it to look. But these are Children of a parent element. We already know this: they are Children of the div block. If we select our div block and add a transform? We can finally use scaling (our Z Value) to show this effect in action.

So at a scale of 2, those distances? 20, 40, and 60? They double. So it's 40, 80, and 120. Or at a scale of .5? They're half of their original value. 10, 20, and 30.

Scaling along the Z-Axis works on parent elements that have Children with varying z values.

So. Children Perspective: great for making any element serve as a camera. Setting Perspective relative to that parent element. Self Perspective: enable 3D controls on an element without setting Perspective on its parent. And finally, scaling along the Z-Axis. This scales objects along the Z-Axis that have varying Z Values.