mirror of
				https://github.com/fmtlib/fmt.git
				synced 2025-11-04 08:01:40 +01:00 
			
		
		
		
	
		
			
	
	
		
			92 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			92 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								// 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);
							 | 
						||
| 
								 | 
							
								}
							 |