Skip to content
This repository has been archived by the owner on Sep 5, 2024. It is now read-only.

Commit

Permalink
update(backdrop,css): animate backdrop opacity instead of background-…
Browse files Browse the repository at this point in the history
…color

Based on research by @paulflo150, backdrop should animate opacity
(instead of background-color) for GPU performance improvements.

BREAKING CHANGE: use `opacity` instead of `background-color`

Before:
```css
&.md-opaque.ng-leave {
  transition: background-color 400ms linear;
}
```

After:
```css
&.md-opaque {

  opacity: .48;

  &.ng-enter {
    opacity: 0;
  }
  &.ng-enter.md-opaque.ng-enter-active {
    opacity: .48;
  }
  &.ng-leave {
    opacity: .48;
    transition: opacity 400ms;
  }
  &.ng-leave.md-opaque.ng-leave-active {
    opacity: 0;
  }
}
```
  • Loading branch information
ThomasBurleson committed Aug 28, 2015
1 parent b22b00f commit a2cb6cf
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 33 deletions.
20 changes: 1 addition & 19 deletions src/components/backdrop/backdrop-theme.scss
Original file line number Diff line number Diff line change
@@ -1,27 +1,9 @@
md-backdrop {

// - Animate background-color alpha only for `.md-opaque` stylings

background-color: '{{background-900-0.0}}';

&.md-opaque.md-THEME_NAME-theme {
background-color: '{{background-900-0.48}}';
}

&.md-opaque.md-THEME_NAME-theme.ng-enter {
background-color: '{{background-900-0.0}}';

&.md-opaque.md-THEME_NAME-theme.ng-enter-active {
background-color: '{{background-900-0.48}}';
}
}

&.md-opaque.md-THEME_NAME-theme.ng-leave {
//transition: background-color 400ms linear;

&.md-opaque.md-THEME_NAME-theme.ng-leave-active {
background-color: '{{background-900-0.0}}';
}
background-color: '{{background-900-1.0}}';
}

}
43 changes: 29 additions & 14 deletions src/components/backdrop/backdrop.scss
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
// !!Important - Theme-based Background-color can be configured in backdrop-theme.scss
// - Animate background-color opacityy only for `.md-opaque` styles

md-backdrop {
transition: opacity 450ms;

position: absolute;
top:0;
bottom:0;
left: 0;
right: 0;

z-index: $z-index-backdrop;

&.md-menu-backdrop {
position: fixed !important;
z-index: $z-index-menu - 1;
Expand All @@ -18,25 +30,28 @@ md-backdrop {
z-index: $z-index-sidenav - 1;
}

opacity: 1;

// - Animate background-color alpha only for `.md-opaque` stylings
// !!Important - Theme-based Background-color and animations can be enabled in backdrop-theme.scss

transition: background-color 450ms $swift-ease-in-timing-function;

position: absolute;
top:0;
bottom:0;
left: 0;
right: 0;

&.md-click-catcher {
position: absolute;
}

&.md-opaque.ng-leave {
transition: background-color 400ms linear;
&.md-opaque {

opacity: .48;

&.ng-enter {
opacity: 0;
}
&.ng-enter.md-opaque.ng-enter-active {
opacity: .48;
}
&.ng-leave {
opacity: .48;
transition: opacity 400ms;
}
&.ng-leave.md-opaque.ng-leave-active {
opacity: 0;
}
}

}
Expand Down

0 comments on commit a2cb6cf

Please sign in to comment.