Blame view

resources/styles/grid.less 2.36 KB
e77200db5   nologostudio.ru   Initial commit
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
  //
  // Grid system
  // --------------------------------------------------
  
  
  // Container widths
  //
  // Set the container width, and override it for fixed navbars in media queries.
  
  .container {
    .container-fixed();
  
    @media (min-width: @screen-sm-min) {
      width: @container-sm;
    }
    @media (min-width: @screen-md-min) {
      width: @container-md;
    }
    @media (min-width: @screen-lg-min) {
      width: @container-lg;
    }
  }
  
  
  // Fluid container
  //
  // Utilizes the mixin meant for fixed width containers, but without any defined
  // width for fluid, full width layouts.
  
  .container-fluid {
    .container-fixed();
  }
  
  
  // Row
  //
  // Rows contain and clear the floats of your columns.
  
  .row {
    .make-row();
  }
  
  
  // Columns
  //
  // Common styles for small and large grid columns
  
  .make-grid-columns() {
    // Common styles for all sizes of grid columns, widths 1-12
    .col(@index) { // initial
      @item: ~".col-xs-@{index}, .col-ms-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
      .col((@index + 1), @item);
    }
    .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo
      @item: ~".col-xs-@{index}, .col-ms-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}";
      .col((@index + 1), ~"@{list}, @{item}");
    }
    .col(@index, @list) when (@index > @grid-columns) { // terminal
      @{list} {
        position: relative;
        // Prevent columns from collapsing when empty
        min-height: 1px;
        // Inner gutter via padding
        padding-left:  ceil((@grid-gutter-width / 2));
        padding-right: floor((@grid-gutter-width / 2));
      }
    }
    .col(1); // kickstart it
  }
  
  .make-grid-columns();
  
  
  // Extra small grid
  //
  // Columns, offsets, pushes, and pulls for extra small devices like
  // smartphones.
  
  .make-grid(xs);
  
  
  // Custom grid between xs and sm.
  //
  // Columns, offsets, pushes, and pulls for the small device range, from phones
  // to tablets.
  
  @media (min-width: 576px) {
    .make-grid(ms);
  }
  
  // Small grid
  //
  // Columns, offsets, pushes, and pulls for the small device range, from phones
  // to tablets.
  
  @media (min-width: @screen-sm-min) {
    .make-grid(sm);
  }
  
  
  // Medium grid
  //
  // Columns, offsets, pushes, and pulls for the desktop device range.
  
  @media (min-width: @screen-md-min) {
    .make-grid(md);
  }
  
  
  // Large grid
  //
  // Columns, offsets, pushes, and pulls for the large desktop device range.
  
  @media (min-width: @screen-lg-min) {
    .make-grid(lg);
  }