You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			92 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
		
		
			
		
	
	
			92 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
| 
											11 years ago
										 | // Framework grid generation | ||
|  | // | ||
|  | // Used only by Bootstrap to generate the correct number of grid classes given | ||
|  | // any value of `@grid-columns`. | ||
|  | 
 | ||
|  | .make-grid-columns() { | ||
|  |   // Common styles for all sizes of grid columns, widths 1-12 | ||
|  |   .col(@index) { // initial | ||
|  |     @item: ~".col-xs-@{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-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:  (@grid-gutter-width / 2); | ||
|  |       padding-right: (@grid-gutter-width / 2); | ||
|  |     } | ||
|  |   } | ||
|  |   .col(1); // kickstart it | ||
|  | } | ||
|  | 
 | ||
|  | .float-grid-columns(@class) { | ||
|  |   .col(@index) { // initial | ||
|  |     @item: ~".col-@{class}-@{index}"; | ||
|  |     .col((@index + 1), @item); | ||
|  |   } | ||
|  |   .col(@index, @list) when (@index =< @grid-columns) { // general | ||
|  |     @item: ~".col-@{class}-@{index}"; | ||
|  |     .col((@index + 1), ~"@{list}, @{item}"); | ||
|  |   } | ||
|  |   .col(@index, @list) when (@index > @grid-columns) { // terminal | ||
|  |     @{list} { | ||
|  |       float: left; | ||
|  |     } | ||
|  |   } | ||
|  |   .col(1); // kickstart it | ||
|  | } | ||
|  | 
 | ||
|  | .calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) { | ||
|  |   .col-@{class}-@{index} { | ||
|  |     width: percentage((@index / @grid-columns)); | ||
|  |   } | ||
|  | } | ||
|  | .calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) { | ||
|  |   .col-@{class}-push-@{index} { | ||
|  |     left: percentage((@index / @grid-columns)); | ||
|  |   } | ||
|  | } | ||
|  | .calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) { | ||
|  |   .col-@{class}-push-0 { | ||
|  |     left: auto; | ||
|  |   } | ||
|  | } | ||
|  | .calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) { | ||
|  |   .col-@{class}-pull-@{index} { | ||
|  |     right: percentage((@index / @grid-columns)); | ||
|  |   } | ||
|  | } | ||
|  | .calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) { | ||
|  |   .col-@{class}-pull-0 { | ||
|  |     right: auto; | ||
|  |   } | ||
|  | } | ||
|  | .calc-grid-column(@index, @class, @type) when (@type = offset) { | ||
|  |   .col-@{class}-offset-@{index} { | ||
|  |     margin-left: percentage((@index / @grid-columns)); | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | // Basic looping in LESS | ||
|  | .loop-grid-columns(@index, @class, @type) when (@index >= 0) { | ||
|  |   .calc-grid-column(@index, @class, @type); | ||
|  |   // next iteration | ||
|  |   .loop-grid-columns((@index - 1), @class, @type); | ||
|  | } | ||
|  | 
 | ||
|  | // Create grid for specific class | ||
|  | .make-grid(@class) { | ||
|  |   .float-grid-columns(@class); | ||
|  |   .loop-grid-columns(@grid-columns, @class, width); | ||
|  |   .loop-grid-columns(@grid-columns, @class, pull); | ||
|  |   .loop-grid-columns(@grid-columns, @class, push); | ||
|  |   .loop-grid-columns(@grid-columns, @class, offset); | ||
|  | } |