UNPKG

9.25 kBCSSView Raw
1/**
2 * A collection of mixins and CSS classes that can be used to apply elevation to a material
3 * element.
4 * See: https://www.google.com/design/spec/what-is-material/elevation-shadows.html
5 * Examples:
6 *
7 *
8 * .md-foo {
9 * @include $md-elevation(2);
10 *
11 * &:active {
12 * @include $md-elevation(8);
13 * }
14 * }
15 *
16 * <div id="external-card" class="md-elevation-z2"><p>Some content</p></div>
17 *
18 * For an explanation of the design behind how elevation is implemented, see the design doc at
19 * https://goo.gl/Kq0k9Z.
20 */
21/**
22 * The css property used for elevation. In most cases this should not be changed. It is exposed
23 * as a variable for abstraction / easy use when needing to reference the property directly, for
24 * example in a will-change rule.
25 */
26/** The default duration value for elevation transitions. */
27/** The default easing value for elevation transitions. */
28/**
29 * Applies the correct css rules to an element to give it the elevation specified by $zValue.
30 * The $zValue must be between 0 and 24.
31 */
32/**
33 * Returns a string that can be used as the value for a transition property for elevation.
34 * Calling this function directly is useful in situations where a component needs to transition
35 * more than one property.
36 *
37 * .foo {
38 * transition: md-elevation-transition-property-value(), opacity 100ms ease;
39 * will-change: $md-elevation-property, opacity;
40 * }
41 */
42/**
43 * Applies the correct css rules needed to have an element transition between elevations.
44 * This mixin should be applied to elements whose elevation values will change depending on their
45 * context (e.g. when active or disabled).
46 */
47/**
48 * This mixin overrides default button styles like the gray background,
49 * the border, and the outline.
50 */
51/** Applies a property to an md-button element for each of the supported palettes. */
52/** Applies a focus style to an md-button element for each of the supported palettes. */
53[md-raised-button], [md-fab], [md-mini-fab], [md-button], [md-icon-button] {
54 box-sizing: border-box;
55 position: relative;
56 background: transparent;
57 cursor: pointer;
58 user-select: none;
59 outline: none;
60 border: none;
61 display: inline-block;
62 white-space: nowrap;
63 text-decoration: none;
64 vertical-align: baseline;
65 font-size: 14px;
66 font-family: Roboto, "Helvetica Neue", sans-serif;
67 font-weight: 500;
68 color: currentColor;
69 text-align: center;
70 margin: 0;
71 min-width: 88px;
72 line-height: 36px;
73 padding: 0 16px;
74 border-radius: 3px; }
75 .md-primary[md-raised-button], .md-primary[md-fab], .md-primary[md-mini-fab], .md-primary[md-button], .md-primary[md-icon-button] {
76 color: #009688; }
77 .md-accent[md-raised-button], .md-accent[md-fab], .md-accent[md-mini-fab], .md-accent[md-button], .md-accent[md-icon-button] {
78 color: #9c27b0; }
79 .md-warn[md-raised-button], .md-warn[md-fab], .md-warn[md-mini-fab], .md-warn[md-button], .md-warn[md-icon-button] {
80 color: #f44336; }
81 .md-primary[disabled][md-raised-button], .md-primary[disabled][md-fab], .md-primary[disabled][md-mini-fab], .md-primary[disabled][md-button], .md-primary[disabled][md-icon-button], .md-accent[disabled][md-raised-button], .md-accent[disabled][md-fab], .md-accent[disabled][md-mini-fab], .md-accent[disabled][md-button], .md-accent[disabled][md-icon-button], .md-warn[disabled][md-raised-button], .md-warn[disabled][md-fab], .md-warn[disabled][md-mini-fab], .md-warn[disabled][md-button], .md-warn[disabled][md-icon-button], [disabled][disabled][md-raised-button], [disabled][disabled][md-fab], [disabled][disabled][md-mini-fab], [disabled][disabled][md-button], [disabled][disabled][md-icon-button] {
82 color: rgba(0, 0, 0, 0.38); }
83 [disabled][md-raised-button], [disabled][md-fab], [disabled][md-mini-fab], [disabled][md-button], [disabled][md-icon-button] {
84 cursor: default; }
85 .md-button-focus[md-raised-button]::after, .md-button-focus[md-fab]::after, .md-button-focus[md-mini-fab]::after, .md-button-focus[md-button]::after, .md-button-focus[md-icon-button]::after {
86 position: absolute;
87 top: 0;
88 left: 0;
89 bottom: 0;
90 right: 0;
91 content: '';
92 background-color: rgba(0, 0, 0, 0.12);
93 border-radius: inherit;
94 pointer-events: none; }
95 .md-button-focus.md-primary[md-raised-button]::after, .md-button-focus.md-primary[md-fab]::after, .md-button-focus.md-primary[md-mini-fab]::after, .md-button-focus.md-primary[md-button]::after, .md-button-focus.md-primary[md-icon-button]::after {
96 background-color: rgba(0, 150, 136, 0.12); }
97 .md-button-focus.md-accent[md-raised-button]::after, .md-button-focus.md-accent[md-fab]::after, .md-button-focus.md-accent[md-mini-fab]::after, .md-button-focus.md-accent[md-button]::after, .md-button-focus.md-accent[md-icon-button]::after {
98 background-color: rgba(156, 39, 176, 0.12); }
99 .md-button-focus.md-warn[md-raised-button]::after, .md-button-focus.md-warn[md-fab]::after, .md-button-focus.md-warn[md-mini-fab]::after, .md-button-focus.md-warn[md-button]::after, .md-button-focus.md-warn[md-icon-button]::after {
100 background-color: rgba(244, 67, 54, 0.12); }
101
102[md-raised-button], [md-fab], [md-mini-fab] {
103 box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
104 background-color: #fafafa;
105 transform: translate3d(0, 0, 0);
106 transition: background 400ms cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1); }
107 .md-primary[md-raised-button], .md-primary[md-fab], .md-primary[md-mini-fab] {
108 color: white; }
109 .md-accent[md-raised-button], .md-accent[md-fab], .md-accent[md-mini-fab] {
110 color: rgba(255, 255, 255, 0.870588); }
111 .md-warn[md-raised-button], .md-warn[md-fab], .md-warn[md-mini-fab] {
112 color: white; }
113 .md-primary[disabled][md-raised-button], .md-primary[disabled][md-fab], .md-primary[disabled][md-mini-fab], .md-accent[disabled][md-raised-button], .md-accent[disabled][md-fab], .md-accent[disabled][md-mini-fab], .md-warn[disabled][md-raised-button], .md-warn[disabled][md-fab], .md-warn[disabled][md-mini-fab], [disabled][disabled][md-raised-button], [disabled][disabled][md-fab], [disabled][disabled][md-mini-fab] {
114 color: rgba(0, 0, 0, 0.38); }
115 .md-primary[md-raised-button], .md-primary[md-fab], .md-primary[md-mini-fab] {
116 background-color: #009688; }
117 .md-accent[md-raised-button], .md-accent[md-fab], .md-accent[md-mini-fab] {
118 background-color: #9c27b0; }
119 .md-warn[md-raised-button], .md-warn[md-fab], .md-warn[md-mini-fab] {
120 background-color: #f44336; }
121 .md-primary[disabled][md-raised-button], .md-primary[disabled][md-fab], .md-primary[disabled][md-mini-fab], .md-accent[disabled][md-raised-button], .md-accent[disabled][md-fab], .md-accent[disabled][md-mini-fab], .md-warn[disabled][md-raised-button], .md-warn[disabled][md-fab], .md-warn[disabled][md-mini-fab], [disabled][disabled][md-raised-button], [disabled][disabled][md-fab], [disabled][disabled][md-mini-fab] {
122 background-color: rgba(0, 0, 0, 0.12); }
123 [md-raised-button]:active, [md-fab]:active, [md-mini-fab]:active {
124 box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12); }
125 [disabled][md-raised-button], [disabled][md-fab], [disabled][md-mini-fab] {
126 box-shadow: none; }
127
128[md-button]:hover::after, [md-icon-button]:hover::after {
129 position: absolute;
130 top: 0;
131 left: 0;
132 bottom: 0;
133 right: 0;
134 content: '';
135 background-color: rgba(0, 0, 0, 0.12);
136 border-radius: inherit;
137 pointer-events: none; }
138
139[md-button]:hover.md-primary::after, [md-icon-button]:hover.md-primary::after {
140 background-color: rgba(0, 150, 136, 0.12); }
141
142[md-button]:hover.md-accent::after, [md-icon-button]:hover.md-accent::after {
143 background-color: rgba(156, 39, 176, 0.12); }
144
145[md-button]:hover.md-warn::after, [md-icon-button]:hover.md-warn::after {
146 background-color: rgba(244, 67, 54, 0.12); }
147
148[md-button][disabled]:hover.md-primary, [md-button][disabled]:hover.md-accent, [md-button][disabled]:hover.md-warn, [md-button][disabled]:hover::after, [md-icon-button][disabled]:hover.md-primary, [md-icon-button][disabled]:hover.md-accent, [md-icon-button][disabled]:hover.md-warn, [md-icon-button][disabled]:hover::after {
149 background-color: transparent; }
150
151[md-fab] {
152 min-width: 0;
153 border-radius: 50%;
154 background-color: #9c27b0;
155 color: rgba(255, 255, 255, 0.870588);
156 width: 56px;
157 height: 56px;
158 padding: 0; }
159 [md-fab] i, [md-fab] md-icon {
160 padding: 16px 0; }
161
162[md-mini-fab] {
163 min-width: 0;
164 border-radius: 50%;
165 background-color: #9c27b0;
166 color: rgba(255, 255, 255, 0.870588);
167 width: 40px;
168 height: 40px;
169 padding: 0; }
170 [md-mini-fab] i, [md-mini-fab] md-icon {
171 padding: 8px 0; }
172
173[md-icon-button] {
174 min-width: 0;
175 padding: 0;
176 width: 40px;
177 height: 40px;
178 line-height: 24px;
179 border-radius: 50%; }
180 [md-icon-button] .md-button-wrapper > * {
181 vertical-align: middle; }
182
183.md-button-ripple {
184 position: absolute;
185 top: 0;
186 left: 0;
187 bottom: 0;
188 right: 0; }
189
190.md-button-ripple-round {
191 border-radius: 50%;
192 z-index: 1; }
193
194@media screen and (-ms-high-contrast: active) {
195 .md-raised-button, .md-fab, .md-mini-fab {
196 border: 1px solid #fff; } }
197
198/*# sourceMappingURL=button.css.map */