papercss/src/layout/_flexbox.scss

94 lines
1.4 KiB
SCSS
Raw Normal View History

2018-05-24 15:00:44 +02:00
$number-columns: 12;
2017-12-19 17:52:33 +01:00
2018-05-24 14:13:53 +02:00
@mixin create-flex-classes($colName, $breakpoint: 0) {
2017-12-23 09:43:23 +01:00
@include resp($min: $breakpoint) {
2018-05-24 15:00:44 +02:00
@for $i from 1 through $number-columns {
2017-12-23 09:43:23 +01:00
.#{$colName}-#{$i} {
2018-05-24 15:00:44 +02:00
flex: 0 0 $i * 100% / $number-columns;
max-width: $i * 100% / $number-columns;
2017-12-23 09:43:23 +01:00
}
}
}
}
2017-12-19 17:52:33 +01:00
.row {
display: flex;
flex-flow: row wrap;
margin-bottom: 1rem;
2018-05-24 14:13:53 +02:00
margin-left: auto;
margin-right: auto;
2017-12-23 09:43:23 +01:00
2017-12-19 17:52:33 +01:00
&.flex-right {
justify-content: flex-end;
}
2018-05-24 14:13:53 +02:00
2017-12-19 17:52:33 +01:00
&.flex-center {
justify-content: center;
}
2018-05-24 14:13:53 +02:00
2017-12-19 17:52:33 +01:00
&.flex-edges {
justify-content: space-between;
}
2018-05-24 14:13:53 +02:00
2017-12-19 17:52:33 +01:00
&.flex-spaces {
justify-content: space-around;
}
2018-05-24 14:13:53 +02:00
2017-12-19 17:52:33 +01:00
&.flex-top {
align-items: flex-start;
}
2018-05-24 14:13:53 +02:00
2017-12-19 17:52:33 +01:00
&.flex-middle {
align-items: center;
}
2018-05-24 14:13:53 +02:00
2017-12-19 17:52:33 +01:00
&.flex-bottom {
align-items: flex-end;
}
}
.col {
padding: 1rem;
2017-12-23 09:43:23 +01:00
@include resp(sm) {
2017-12-19 17:52:33 +01:00
@include col-size(100%);
}
}
.col-fill {
2018-05-24 14:13:53 +02:00
flex: 1 1 0;
2017-12-19 17:52:33 +01:00
width: auto;
}
2017-12-23 09:43:23 +01:00
@include create-flex-classes(col);
@include create-flex-classes(xs, $xsmall-screen);
@include create-flex-classes(sm, $small-screen);
@include create-flex-classes(md, $medium-screen);
@include create-flex-classes(lg, $large-screen);
2017-12-19 17:52:33 +01:00
.align-top {
align-self: flex-start;
}
.align-middle {
2018-05-24 14:13:53 +02:00
align-self: center;
2017-12-19 17:52:33 +01:00
}
.align-bottom {
align-self: flex-end;
}
2017-12-23 09:43:23 +01:00
.container {
2018-05-24 14:13:53 +02:00
margin: 0 auto;
2017-12-23 09:43:23 +01:00
max-width: 960px;
position: relative;
2018-05-24 14:13:53 +02:00
width: 100%;
2017-12-23 09:43:23 +01:00
@include resp(md) {
width: 85%;
}
@include resp(xs) {
width: 90%;
}
}