aboutsummaryrefslogtreecommitdiff
path: root/scss/utilities/_flex.scss
blob: c3efb9d71df053403ec1da3b4c01be9d519843e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Flex variation
//
// Custom styles for additional flex alignment options.

@if $enable-flex {
  @each $breakpoint in map-keys($grid-breakpoints) {
    @include media-breakpoint-up($breakpoint) {
      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);

      // Flex column reordering
      .flex#{$infix}-first     { order: -1; }
      .flex#{$infix}-last      { order: 1; }
      .flex#{$infix}-unordered { order: 0; }

      // Alignment for every item
      .flex-items#{$infix}-top    { align-items: flex-start; }
      .flex-items#{$infix}-middle { align-items: center; }
      .flex-items#{$infix}-bottom { align-items: flex-end; }

      // Alignment per item
      .flex#{$infix}-top    { align-self: flex-start; }
      .flex#{$infix}-middle { align-self: center; }
      .flex#{$infix}-bottom { align-self: flex-end; }

      // Horizontal alignment of item
      .flex-items#{$infix}-left    { justify-content: flex-start; }
      .flex-items#{$infix}-center  { justify-content: center; }
      .flex-items#{$infix}-right   { justify-content: flex-end; }
      .flex-items#{$infix}-around  { justify-content: space-around; }
      .flex-items#{$infix}-between { justify-content: space-between; }
    }
  }
}