Mercurial > minori
comparison dep/fmt/doc/bootstrap/mixins/grid-framework.less @ 343:1faa72660932
*: transfer back to cmake from autotools
autotools just made lots of things more complicated than
they should have and many things broke (i.e. translations)
| author | Paper <paper@paper.us.eu.org> | 
|---|---|
| date | Thu, 20 Jun 2024 05:56:06 -0400 | 
| parents | |
| children | 
   comparison
  equal
  deleted
  inserted
  replaced
| 342:adb79bdde329 | 343:1faa72660932 | 
|---|---|
| 1 // Framework grid generation | |
| 2 // | |
| 3 // Used only by Bootstrap to generate the correct number of grid classes given | |
| 4 // any value of `@grid-columns`. | |
| 5 | |
| 6 .make-grid-columns() { | |
| 7 // Common styles for all sizes of grid columns, widths 1-12 | |
| 8 .col(@index) { // initial | |
| 9 @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; | |
| 10 .col((@index + 1), @item); | |
| 11 } | |
| 12 .col(@index, @list) when (@index =< @grid-columns) { // general; "=<" isn't a typo | |
| 13 @item: ~".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}"; | |
| 14 .col((@index + 1), ~"@{list}, @{item}"); | |
| 15 } | |
| 16 .col(@index, @list) when (@index > @grid-columns) { // terminal | |
| 17 @{list} { | |
| 18 position: relative; | |
| 19 // Prevent columns from collapsing when empty | |
| 20 min-height: 1px; | |
| 21 // Inner gutter via padding | |
| 22 padding-left: (@grid-gutter-width / 2); | |
| 23 padding-right: (@grid-gutter-width / 2); | |
| 24 } | |
| 25 } | |
| 26 .col(1); // kickstart it | |
| 27 } | |
| 28 | |
| 29 .float-grid-columns(@class) { | |
| 30 .col(@index) { // initial | |
| 31 @item: ~".col-@{class}-@{index}"; | |
| 32 .col((@index + 1), @item); | |
| 33 } | |
| 34 .col(@index, @list) when (@index =< @grid-columns) { // general | |
| 35 @item: ~".col-@{class}-@{index}"; | |
| 36 .col((@index + 1), ~"@{list}, @{item}"); | |
| 37 } | |
| 38 .col(@index, @list) when (@index > @grid-columns) { // terminal | |
| 39 @{list} { | |
| 40 float: left; | |
| 41 } | |
| 42 } | |
| 43 .col(1); // kickstart it | |
| 44 } | |
| 45 | |
| 46 .calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) { | |
| 47 .col-@{class}-@{index} { | |
| 48 width: percentage((@index / @grid-columns)); | |
| 49 } | |
| 50 } | |
| 51 .calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) { | |
| 52 .col-@{class}-push-@{index} { | |
| 53 left: percentage((@index / @grid-columns)); | |
| 54 } | |
| 55 } | |
| 56 .calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) { | |
| 57 .col-@{class}-push-0 { | |
| 58 left: auto; | |
| 59 } | |
| 60 } | |
| 61 .calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) { | |
| 62 .col-@{class}-pull-@{index} { | |
| 63 right: percentage((@index / @grid-columns)); | |
| 64 } | |
| 65 } | |
| 66 .calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) { | |
| 67 .col-@{class}-pull-0 { | |
| 68 right: auto; | |
| 69 } | |
| 70 } | |
| 71 .calc-grid-column(@index, @class, @type) when (@type = offset) { | |
| 72 .col-@{class}-offset-@{index} { | |
| 73 margin-left: percentage((@index / @grid-columns)); | |
| 74 } | |
| 75 } | |
| 76 | |
| 77 // Basic looping in LESS | |
| 78 .loop-grid-columns(@index, @class, @type) when (@index >= 0) { | |
| 79 .calc-grid-column(@index, @class, @type); | |
| 80 // next iteration | |
| 81 .loop-grid-columns((@index - 1), @class, @type); | |
| 82 } | |
| 83 | |
| 84 // Create grid for specific class | |
| 85 .make-grid(@class) { | |
| 86 .float-grid-columns(@class); | |
| 87 .loop-grid-columns(@grid-columns, @class, width); | |
| 88 .loop-grid-columns(@grid-columns, @class, pull); | |
| 89 .loop-grid-columns(@grid-columns, @class, push); | |
| 90 .loop-grid-columns(@grid-columns, @class, offset); | |
| 91 } | 
