-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs(elevation): add guide for elevation helpers #8172
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
Angular Material's elevation classes and mixins allow you to add separation between elements along | ||
the z-axis. All material design elements have resting elevations. In addition, some elements may | ||
change their elevation in response to user interaction. The | ||
[Material Design spec](https://material.io/guidelines/material-design/elevation-shadows.html) | ||
explains how to best use elevation. | ||
|
||
Angular Material provides two ways to control the elevation of elements: predefined CSS classes | ||
and mixins. | ||
|
||
### Predefined CSS classes | ||
|
||
The easiest way to add elevation to an element is to simply add one of the predefined CSS classes | ||
`mat-elevation-z#` where `#` is the elevation number you want, 0-24. Dynamic elevation can be | ||
achieved by switching elevation classes: | ||
|
||
```html | ||
<div [class.mat-elevation-z2]="!isActive" [class.mat-elevation-z8]="isActive"></div> | ||
``` | ||
|
||
<!-- example(elevation-overview) --> | ||
|
||
### Mixins | ||
|
||
Elevations can also be added in CSS via the `mat-elevation` mixin, which takes a number 0-24 | ||
indicating the elevation of the element. In order to use the mixin, you must import | ||
`~@angular/material/theming`: | ||
|
||
```scss | ||
@import '~@angular/material/theming'; | ||
|
||
.my-class { | ||
@include mat-elevation(2); | ||
} | ||
``` | ||
|
||
For convenience, you can use the `mat-elevation-transition` mixin to add a transition between | ||
elevation changes: | ||
|
||
```scss | ||
@import '~@angular/material/theming'; | ||
|
||
.my-class { | ||
@include mat-elevation-transition; | ||
@include mat-elevation(2); | ||
|
||
&:active { | ||
@include mat-elevation(8); | ||
} | ||
} | ||
``` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. should we add an embedded example here too? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It won't export very well to plunker will it? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh right, I forgot our examples use plain CSS |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
.example-container { | ||
padding: 16px; | ||
margin-bottom: 16px; | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<div class="example-container" | ||
[class.mat-elevation-z2]="!isActive" | ||
[class.mat-elevation-z8]="isActive"> | ||
Example | ||
</div> | ||
|
||
<button mat-button (click)="isActive = !isActive">Toggle Elevation</button> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
import {Component} from '@angular/core'; | ||
|
||
/** | ||
* @title Elevation CSS classes | ||
*/ | ||
@Component({ | ||
selector: 'elevation-overview-example', | ||
styleUrls: ['elevation-overview-example.css'], | ||
templateUrl: 'elevation-overview-example.html', | ||
}) | ||
export class ElevationOverviewExample { | ||
isActive = false; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... add a transition when the elevation changes