You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. @row-prefix-cls: ~"@{css-prefix}row";
  2. @col-prefix-cls: ~"@{css-prefix}col";
  3. .make-row(@gutter: @grid-gutter-width) {
  4. position: relative;
  5. margin-left: (@gutter / -2);
  6. margin-right: (@gutter / -2);
  7. height: auto;
  8. .clearfix;
  9. }
  10. .float-grid-columns(@class) {
  11. .col(@index) { // initial
  12. @item: ~".@{col-prefix-cls}-span@{class}-@{index}";
  13. .col((@index + 1), @item);
  14. }
  15. .col(@index, @list) when (@index =< @grid-columns) { // general
  16. @item: ~".@{col-prefix-cls}-span@{class}-@{index}";
  17. .col((@index + 1), ~"@{list}, @{item}");
  18. }
  19. .col(@index, @list) when (@index > @grid-columns) { // terminal
  20. @{list} {
  21. float: left;
  22. flex: 0 0 auto;
  23. }
  24. }
  25. .col(1); // kickstart it
  26. }
  27. .loop-grid-columns(@index, @class) when (@index > 0) {
  28. .@{col-prefix-cls}-span@{class}-@{index} {
  29. display: block;
  30. width: percentage((@index / @grid-columns));
  31. }
  32. .@{col-prefix-cls}@{class}-push-@{index} {
  33. left: percentage((@index / @grid-columns));
  34. }
  35. .@{col-prefix-cls}@{class}-pull-@{index} {
  36. right: percentage((@index / @grid-columns));
  37. }
  38. .@{col-prefix-cls}@{class}-offset-@{index} {
  39. margin-left: percentage((@index / @grid-columns));
  40. }
  41. .@{col-prefix-cls}@{class}-order-@{index} {
  42. order: @index;
  43. }
  44. .loop-grid-columns((@index - 1), @class);
  45. }
  46. .loop-grid-columns(@index, @class) when (@index = 0) {
  47. .@{col-prefix-cls}-span@{class}-@{index} {
  48. display: none;
  49. }
  50. .@{col-prefix-cls}@{class}-push-@{index} {
  51. left: auto;
  52. }
  53. .@{col-prefix-cls}@{class}-pull-@{index} {
  54. right: auto;
  55. }
  56. }
  57. .make-grid(@class: ~'') {
  58. .float-grid-columns(@class);
  59. .loop-grid-columns(@grid-columns, @class);
  60. }