mirror of
https://github.com/Hopiu/vue-material.git
synced 2026-03-26 19:00:32 +00:00
158 lines
2.4 KiB
SCSS
158 lines
2.4 KiB
SCSS
@import '../../core/stylesheets/variables.scss';
|
|
@import '../../core/stylesheets/mixins.scss';
|
|
|
|
|
|
/* Rows and Columns */
|
|
|
|
.md-layout {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: wrap;
|
|
flex: 1;
|
|
}
|
|
|
|
@mixin layout($size: null) {
|
|
@if $size == null {
|
|
$size : '';
|
|
}
|
|
|
|
@if $size != '' {
|
|
$size : '-#{$size}';
|
|
}
|
|
|
|
.md-row#{$size} {
|
|
flex-direction: row;
|
|
}
|
|
|
|
.md-column#{$size} {
|
|
flex-direction: column;
|
|
}
|
|
}
|
|
|
|
@include layout();
|
|
|
|
|
|
/* Gutter Size */
|
|
|
|
@mixin layout-gutter($margin: -12px, $padding: 12px) {
|
|
&:not(.md-column) {
|
|
margin-right: $margin;
|
|
margin-left: $margin;
|
|
|
|
> .md-layout {
|
|
padding-right: $padding;
|
|
padding-left: $padding;
|
|
}
|
|
}
|
|
|
|
.md-column {
|
|
margin-top: $margin;
|
|
margin-bottom: $margin;
|
|
|
|
> .md-layout {
|
|
padding-top: $padding;
|
|
padding-bottom: $padding;
|
|
}
|
|
}
|
|
}
|
|
|
|
.md-gutter {
|
|
@include layout-gutter();
|
|
|
|
@include layout-small {
|
|
@include layout-gutter(-8px, 8px);
|
|
}
|
|
}
|
|
|
|
$sizes: (8, 16, 24, 40);
|
|
|
|
@each $item in $sizes {
|
|
$margin: -$item / 2 + px;
|
|
$padding: $item / 2 + px;
|
|
|
|
.md-gutter-#{$item} {
|
|
@include layout-gutter($margin, $padding);
|
|
}
|
|
}
|
|
|
|
|
|
/* Flex Size */
|
|
|
|
@mixin layout-flex($size: null) {
|
|
@if $size == null {
|
|
$size : '';
|
|
}
|
|
|
|
@if $size != '' {
|
|
$size : '-#{$size}';
|
|
}
|
|
|
|
.md-flex#{$size} {
|
|
flex: 1 1;
|
|
}
|
|
|
|
.md-flex#{$size}-33 {
|
|
min-width: 33.33333%;
|
|
flex: 0 1 33.33333%;
|
|
}
|
|
|
|
.md-flex#{$size}-66 {
|
|
min-width: 33.33333%;
|
|
flex: 0 1 66.66666%;
|
|
}
|
|
|
|
.md-flex-offset#{$size}-33 {
|
|
margin-left: 33.33333%;
|
|
}
|
|
|
|
.md-flex-offset#{$size}-66 {
|
|
margin-left: 66.66666%;
|
|
}
|
|
|
|
@for $i from 1 through 20 {
|
|
$counter: $i * 5;
|
|
|
|
.md-flex#{$size}-#{$counter} {
|
|
min-width: #{$counter + '%'};
|
|
flex: 0 1 #{$counter + '%'};
|
|
}
|
|
|
|
.md-flex-offset#{$size}-#{$counter} {
|
|
margin-left: #{$counter + '%'};
|
|
}
|
|
}
|
|
}
|
|
|
|
@include layout-flex();
|
|
|
|
|
|
/* Responsive Breakpoints */
|
|
|
|
@mixin breakpoint-layout($size) {
|
|
@include layout($size);
|
|
@include layout-flex($size);
|
|
|
|
.md-hide-#{$size} {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@include layout-xlarge {
|
|
@include breakpoint-layout(xlarge);
|
|
}
|
|
|
|
@include layout-large {
|
|
@include breakpoint-layout(large);
|
|
}
|
|
|
|
@include layout-medium {
|
|
@include breakpoint-layout(medium);
|
|
}
|
|
|
|
@include layout-small {
|
|
@include breakpoint-layout(small);
|
|
}
|
|
|
|
@include layout-xsmall {
|
|
@include breakpoint-layout(xsmall);
|
|
}
|