rev |
line source |
bsw/jbe@1309
|
1 /**
|
bsw/jbe@1309
|
2 * Copyright 2015 Google Inc. All Rights Reserved.
|
bsw/jbe@1309
|
3 *
|
bsw/jbe@1309
|
4 * Licensed under the Apache License, Version 2.0 (the "License");
|
bsw/jbe@1309
|
5 * you may not use this file except in compliance with the License.
|
bsw/jbe@1309
|
6 * You may obtain a copy of the License at
|
bsw/jbe@1309
|
7 *
|
bsw/jbe@1309
|
8 * http://www.apache.org/licenses/LICENSE-2.0
|
bsw/jbe@1309
|
9 *
|
bsw/jbe@1309
|
10 * Unless required by applicable law or agreed to in writing, software
|
bsw/jbe@1309
|
11 * distributed under the License is distributed on an "AS IS" BASIS,
|
bsw/jbe@1309
|
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
bsw/jbe@1309
|
13 * See the License for the specific language governing permissions and
|
bsw/jbe@1309
|
14 * limitations under the License.
|
bsw/jbe@1309
|
15 */
|
bsw/jbe@1309
|
16
|
bsw/jbe@1309
|
17 /*
|
bsw/jbe@1309
|
18 * NOTE: Some rules here are applied using duplicate selectors.
|
bsw/jbe@1309
|
19 * This is on purpose to increase their specificity when applied.
|
bsw/jbe@1309
|
20 * For example: `.mdl-cell--1-col-phone.mdl-cell--1-col-phone`
|
bsw/jbe@1309
|
21 */
|
bsw/jbe@1309
|
22
|
bsw/jbe@1309
|
23 @import "../variables";
|
bsw/jbe@1309
|
24
|
bsw/jbe@1309
|
25 .mdl-grid {
|
bsw/jbe@1309
|
26 display: flex;
|
bsw/jbe@1309
|
27 flex-flow: row wrap;
|
bsw/jbe@1309
|
28 margin: 0 auto 0 auto;
|
bsw/jbe@1309
|
29 align-items: stretch;
|
bsw/jbe@1309
|
30
|
bsw/jbe@1309
|
31 &.mdl-grid--no-spacing {
|
bsw/jbe@1309
|
32 padding: 0;
|
bsw/jbe@1309
|
33 }
|
bsw/jbe@1309
|
34 }
|
bsw/jbe@1309
|
35
|
bsw/jbe@1309
|
36 .mdl-cell {
|
bsw/jbe@1309
|
37 box-sizing: border-box;
|
bsw/jbe@1309
|
38 }
|
bsw/jbe@1309
|
39
|
bsw/jbe@1309
|
40
|
bsw/jbe@1309
|
41 .mdl-cell--top {
|
bsw/jbe@1309
|
42 align-self: flex-start;
|
bsw/jbe@1309
|
43 }
|
bsw/jbe@1309
|
44
|
bsw/jbe@1309
|
45 .mdl-cell--middle {
|
bsw/jbe@1309
|
46 align-self: center;
|
bsw/jbe@1309
|
47 }
|
bsw/jbe@1309
|
48
|
bsw/jbe@1309
|
49 .mdl-cell--bottom {
|
bsw/jbe@1309
|
50 align-self: flex-end;
|
bsw/jbe@1309
|
51 }
|
bsw/jbe@1309
|
52
|
bsw/jbe@1309
|
53 .mdl-cell--stretch {
|
bsw/jbe@1309
|
54 align-self: stretch;
|
bsw/jbe@1309
|
55 }
|
bsw/jbe@1309
|
56
|
bsw/jbe@1309
|
57 .mdl-grid.mdl-grid--no-spacing > .mdl-cell {
|
bsw/jbe@1309
|
58 margin: 0;
|
bsw/jbe@1309
|
59 }
|
bsw/jbe@1309
|
60
|
bsw/jbe@1309
|
61 // Define order override classes.
|
bsw/jbe@1309
|
62 @for $i from 1 through $grid-max-columns {
|
bsw/jbe@1309
|
63 .mdl-cell--order-#{$i} {
|
bsw/jbe@1309
|
64 order: $i;
|
bsw/jbe@1309
|
65 }
|
bsw/jbe@1309
|
66 }
|
bsw/jbe@1309
|
67
|
bsw/jbe@1309
|
68
|
bsw/jbe@1309
|
69 // Mixins for width calculation.
|
bsw/jbe@1309
|
70 @mixin partial-size($size, $columns, $gutter) {
|
bsw/jbe@1309
|
71 width: calc(#{(($size / $columns) * 100)+"%"} - #{$gutter});
|
bsw/jbe@1309
|
72
|
bsw/jbe@1309
|
73 .mdl-grid--no-spacing > & {
|
bsw/jbe@1309
|
74 width: #{(($size / $columns) * 100)+"%"};
|
bsw/jbe@1309
|
75 }
|
bsw/jbe@1309
|
76 }
|
bsw/jbe@1309
|
77
|
bsw/jbe@1309
|
78 @mixin full-size($gutter) {
|
bsw/jbe@1309
|
79 @include partial-size(1, 1, $gutter);
|
bsw/jbe@1309
|
80 }
|
bsw/jbe@1309
|
81
|
bsw/jbe@1309
|
82 @mixin offset-size($size, $columns, $gutter) {
|
bsw/jbe@1309
|
83 margin-left: calc(#{(($size / $columns) * 100)+"%"} + #{$gutter / 2});
|
bsw/jbe@1309
|
84
|
bsw/jbe@1309
|
85 .mdl-grid.mdl-grid--no-spacing > & {
|
bsw/jbe@1309
|
86 margin-left: #{(($size / $columns) * 100)+"%"};
|
bsw/jbe@1309
|
87 }
|
bsw/jbe@1309
|
88 }
|
bsw/jbe@1309
|
89
|
bsw/jbe@1309
|
90
|
bsw/jbe@1309
|
91
|
bsw/jbe@1309
|
92 ////////// Phone //////////
|
bsw/jbe@1309
|
93
|
bsw/jbe@1309
|
94 @media (max-width: $grid-tablet-breakpoint - 1) {
|
bsw/jbe@1309
|
95 .mdl-grid {
|
bsw/jbe@1309
|
96 padding: $grid-phone-margin - ($grid-phone-gutter / 2);
|
bsw/jbe@1309
|
97 }
|
bsw/jbe@1309
|
98
|
bsw/jbe@1309
|
99 .mdl-cell {
|
bsw/jbe@1309
|
100 margin: $grid-phone-gutter / 2;
|
bsw/jbe@1309
|
101 @include partial-size($grid-cell-default-columns, $grid-phone-columns,
|
bsw/jbe@1309
|
102 $grid-phone-gutter);
|
bsw/jbe@1309
|
103 }
|
bsw/jbe@1309
|
104
|
bsw/jbe@1309
|
105 .mdl-cell--hide-phone {
|
bsw/jbe@1309
|
106 display: none !important;
|
bsw/jbe@1309
|
107 }
|
bsw/jbe@1309
|
108
|
bsw/jbe@1309
|
109 // Define order override classes.
|
bsw/jbe@1309
|
110 @for $i from 1 through $grid-max-columns {
|
bsw/jbe@1309
|
111 .mdl-cell--order-#{$i}-phone.mdl-cell--order-#{$i}-phone {
|
bsw/jbe@1309
|
112 order: $i;
|
bsw/jbe@1309
|
113 }
|
bsw/jbe@1309
|
114 }
|
bsw/jbe@1309
|
115
|
bsw/jbe@1309
|
116 // Define partial sizes for columnNumber < totalColumns.
|
bsw/jbe@1309
|
117 @for $i from 1 through ($grid-phone-columns - 1) {
|
bsw/jbe@1309
|
118 .mdl-cell--#{$i}-col,
|
bsw/jbe@1309
|
119 .mdl-cell--#{$i}-col-phone.mdl-cell--#{$i}-col-phone {
|
bsw/jbe@1309
|
120 @include partial-size($i, $grid-phone-columns, $grid-phone-gutter);
|
bsw/jbe@1309
|
121 }
|
bsw/jbe@1309
|
122 }
|
bsw/jbe@1309
|
123
|
bsw/jbe@1309
|
124 // Define 100% for everything else.
|
bsw/jbe@1309
|
125 @for $i from $grid-phone-columns through $grid-desktop-columns {
|
bsw/jbe@1309
|
126 .mdl-cell--#{$i}-col,
|
bsw/jbe@1309
|
127 .mdl-cell--#{$i}-col-phone.mdl-cell--#{$i}-col-phone {
|
bsw/jbe@1309
|
128 @include full-size($grid-phone-gutter);
|
bsw/jbe@1309
|
129 }
|
bsw/jbe@1309
|
130 }
|
bsw/jbe@1309
|
131
|
bsw/jbe@1309
|
132 // Define valid phone offsets.
|
bsw/jbe@1309
|
133 @for $i from 1 through ($grid-phone-columns - 1) {
|
bsw/jbe@1309
|
134 .mdl-cell--#{$i}-offset,
|
bsw/jbe@1309
|
135 .mdl-cell--#{$i}-offset-phone.mdl-cell--#{$i}-offset-phone {
|
bsw/jbe@1309
|
136 @include offset-size($i, $grid-phone-columns, $grid-phone-gutter);
|
bsw/jbe@1309
|
137 }
|
bsw/jbe@1309
|
138 }
|
bsw/jbe@1309
|
139 }
|
bsw/jbe@1309
|
140
|
bsw/jbe@1309
|
141
|
bsw/jbe@1309
|
142 ////////// Tablet //////////
|
bsw/jbe@1309
|
143
|
bsw/jbe@1309
|
144 @media (min-width: $grid-tablet-breakpoint) and (max-width: $grid-desktop-breakpoint - 1) {
|
bsw/jbe@1309
|
145 .mdl-grid {
|
bsw/jbe@1309
|
146 padding: $grid-tablet-margin - ($grid-tablet-gutter / 2);
|
bsw/jbe@1309
|
147 }
|
bsw/jbe@1309
|
148
|
bsw/jbe@1309
|
149 .mdl-cell {
|
bsw/jbe@1309
|
150 margin: $grid-tablet-gutter / 2;
|
bsw/jbe@1309
|
151 @include partial-size($grid-cell-default-columns, $grid-tablet-columns,
|
bsw/jbe@1309
|
152 $grid-tablet-gutter);
|
bsw/jbe@1309
|
153 }
|
bsw/jbe@1309
|
154
|
bsw/jbe@1309
|
155 .mdl-cell--hide-tablet {
|
bsw/jbe@1309
|
156 display: none !important;
|
bsw/jbe@1309
|
157 }
|
bsw/jbe@1309
|
158
|
bsw/jbe@1309
|
159 // Define order override classes.
|
bsw/jbe@1309
|
160 @for $i from 1 through $grid-max-columns {
|
bsw/jbe@1309
|
161 .mdl-cell--order-#{$i}-tablet.mdl-cell--order-#{$i}-tablet {
|
bsw/jbe@1309
|
162 order: $i;
|
bsw/jbe@1309
|
163 }
|
bsw/jbe@1309
|
164 }
|
bsw/jbe@1309
|
165
|
bsw/jbe@1309
|
166 // Define partial sizes for columnNumber < totalColumns.
|
bsw/jbe@1309
|
167 @for $i from 1 through ($grid-tablet-columns - 1) {
|
bsw/jbe@1309
|
168 .mdl-cell--#{$i}-col,
|
bsw/jbe@1309
|
169 .mdl-cell--#{$i}-col-tablet.mdl-cell--#{$i}-col-tablet {
|
bsw/jbe@1309
|
170 @include partial-size($i, $grid-tablet-columns, $grid-tablet-gutter);
|
bsw/jbe@1309
|
171 }
|
bsw/jbe@1309
|
172 }
|
bsw/jbe@1309
|
173
|
bsw/jbe@1309
|
174 // Define 100% for everything else.
|
bsw/jbe@1309
|
175 @for $i from $grid-tablet-columns through $grid-desktop-columns {
|
bsw/jbe@1309
|
176 .mdl-cell--#{$i}-col,
|
bsw/jbe@1309
|
177 .mdl-cell--#{$i}-col-tablet.mdl-cell--#{$i}-col-tablet {
|
bsw/jbe@1309
|
178 @include full-size($grid-tablet-gutter);
|
bsw/jbe@1309
|
179 }
|
bsw/jbe@1309
|
180 }
|
bsw/jbe@1309
|
181
|
bsw/jbe@1309
|
182 // Define valid tablet offsets.
|
bsw/jbe@1309
|
183 @for $i from 1 through ($grid-tablet-columns - 1) {
|
bsw/jbe@1309
|
184 .mdl-cell--#{$i}-offset,
|
bsw/jbe@1309
|
185 .mdl-cell--#{$i}-offset-tablet.mdl-cell--#{$i}-offset-tablet {
|
bsw/jbe@1309
|
186 @include offset-size($i, $grid-tablet-columns, $grid-tablet-gutter);
|
bsw/jbe@1309
|
187 }
|
bsw/jbe@1309
|
188 }
|
bsw/jbe@1309
|
189 }
|
bsw/jbe@1309
|
190
|
bsw/jbe@1309
|
191
|
bsw/jbe@1309
|
192 ////////// Desktop //////////
|
bsw/jbe@1309
|
193
|
bsw/jbe@1309
|
194 @media (min-width: $grid-desktop-breakpoint) {
|
bsw/jbe@1309
|
195 .mdl-grid {
|
bsw/jbe@1309
|
196 padding: $grid-desktop-margin - ($grid-desktop-gutter / 2);
|
bsw/jbe@1309
|
197 }
|
bsw/jbe@1309
|
198
|
bsw/jbe@1309
|
199 .mdl-cell {
|
bsw/jbe@1309
|
200 margin: $grid-desktop-gutter / 2;
|
bsw/jbe@1309
|
201 @include partial-size($grid-cell-default-columns, $grid-desktop-columns,
|
bsw/jbe@1309
|
202 $grid-desktop-gutter);
|
bsw/jbe@1309
|
203 }
|
bsw/jbe@1309
|
204
|
bsw/jbe@1309
|
205 .mdl-cell--hide-desktop {
|
bsw/jbe@1309
|
206 display: none !important;
|
bsw/jbe@1309
|
207 }
|
bsw/jbe@1309
|
208
|
bsw/jbe@1309
|
209 // Define order override classes.
|
bsw/jbe@1309
|
210 @for $i from 1 through $grid-max-columns {
|
bsw/jbe@1309
|
211 .mdl-cell--order-#{$i}-desktop.mdl-cell--order-#{$i}-desktop {
|
bsw/jbe@1309
|
212 order: $i;
|
bsw/jbe@1309
|
213 }
|
bsw/jbe@1309
|
214 }
|
bsw/jbe@1309
|
215
|
bsw/jbe@1309
|
216 // Define partial sizes for all numbers of columns.
|
bsw/jbe@1309
|
217 @for $i from 1 through $grid-desktop-columns {
|
bsw/jbe@1309
|
218 .mdl-cell--#{$i}-col,
|
bsw/jbe@1309
|
219 .mdl-cell--#{$i}-col-desktop.mdl-cell--#{$i}-col-desktop {
|
bsw/jbe@1309
|
220 @include partial-size($i, $grid-desktop-columns, $grid-desktop-gutter);
|
bsw/jbe@1309
|
221 }
|
bsw/jbe@1309
|
222 }
|
bsw/jbe@1309
|
223
|
bsw/jbe@1309
|
224 // Define valid desktop offsets.
|
bsw/jbe@1309
|
225 @for $i from 1 through ($grid-desktop-columns - 1) {
|
bsw/jbe@1309
|
226 .mdl-cell--#{$i}-offset,
|
bsw/jbe@1309
|
227 .mdl-cell--#{$i}-offset-desktop.mdl-cell--#{$i}-offset-desktop {
|
bsw/jbe@1309
|
228 @include offset-size($i, $grid-desktop-columns, $grid-desktop-gutter);
|
bsw/jbe@1309
|
229 }
|
bsw/jbe@1309
|
230 }
|
bsw/jbe@1309
|
231 }
|