_grid.less 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. // /**
  2. // * Copyright © Magento, Inc. All rights reserved.
  3. // * See COPYING.txt for license details.
  4. // */
  5. //
  6. // Grid system
  7. // _____________________________________________
  8. //
  9. // Generate semantic grid columns with these mixins.
  10. // ---------------------------------------------
  11. // Centered container element
  12. .container-fixed(@gutter: @grid-gutter-width) {
  13. .lib-clearer();
  14. margin-left: auto;
  15. margin-right: auto;
  16. padding-left: (@gutter / 2);
  17. padding-right: (@gutter / 2);
  18. }
  19. // Creates a wrapper for a series of columns
  20. .make-row(@gutter: @grid-gutter-width) {
  21. .lib-clearer();
  22. margin-left: (@gutter / -2);
  23. margin-right: (@gutter / -2);
  24. }
  25. //
  26. // Generate the extra small columns
  27. // ---------------------------------------------
  28. .make-xs-column(@columns; @gutter: @grid-gutter-width) {
  29. float: left;
  30. min-height: 1px;
  31. padding-left: (@gutter / 2);
  32. padding-right: (@gutter / 2);
  33. position: relative;
  34. width: percentage((@columns / @grid-columns));
  35. }
  36. .make-xs-column-offset(@columns) {
  37. margin-left: percentage((@columns / @grid-columns));
  38. }
  39. .make-xs-column-push(@columns) {
  40. left: percentage((@columns / @grid-columns));
  41. }
  42. .make-xs-column-pull(@columns) {
  43. right: percentage((@columns / @grid-columns));
  44. }
  45. //
  46. // Generate the small columns
  47. // ---------------------------------------------
  48. .make-m-column(@columns; @gutter: @grid-gutter-width) {
  49. min-height: 1px;
  50. padding-left: (@gutter / 2);
  51. padding-right: (@gutter / 2);
  52. position: relative;
  53. .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {
  54. float: left;
  55. width: percentage((@columns / @grid-columns));
  56. }
  57. }
  58. .make-m-column-offset(@columns) {
  59. .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {
  60. margin-left: percentage((@columns / @grid-columns));
  61. }
  62. }
  63. .make-m-column-push(@columns) {
  64. .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {
  65. left: percentage((@columns / @grid-columns));
  66. }
  67. }
  68. .make-m-column-pull(@columns) {
  69. .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) {
  70. right: percentage((@columns / @grid-columns));
  71. }
  72. }
  73. //
  74. // Generate the medium columns
  75. // ---------------------------------------------
  76. .make-l-column(@columns; @gutter: @grid-gutter-width) {
  77. min-height: 1px;
  78. padding-left: (@gutter / 2);
  79. padding-right: (@gutter / 2);
  80. position: relative;
  81. .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__l) {
  82. float: left;
  83. width: percentage((@columns / @grid-columns));
  84. }
  85. }
  86. .make-l-column-offset(@columns) {
  87. .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__l) {
  88. margin-left: percentage((@columns / @grid-columns));
  89. }
  90. }
  91. .make-l-column-push(@columns) {
  92. @media (min-width: @screen__l) {
  93. left: percentage((@columns / @grid-columns));
  94. }
  95. }
  96. .make-l-column-pull(@columns) {
  97. @media (min-width: @screen__l) {
  98. right: percentage((@columns / @grid-columns));
  99. }
  100. }
  101. //
  102. // Generate the large columns
  103. // ---------------------------------------------
  104. .make-xl-column(@columns; @gutter: @grid-gutter-width) {
  105. min-height: 1px;
  106. padding-left: (@gutter / 2);
  107. padding-right: (@gutter / 2);
  108. position: relative;
  109. @media (min-width: @screen__xl) {
  110. float: left;
  111. width: percentage((@columns / @grid-columns));
  112. }
  113. }
  114. .make-xl-column-offset(@columns) {
  115. @media (min-width: @screen__xl) {
  116. margin-left: percentage((@columns / @grid-columns));
  117. }
  118. }
  119. .make-xl-column-push(@columns) {
  120. @media (min-width: @screen__xl) {
  121. left: percentage((@columns / @grid-columns));
  122. }
  123. }
  124. .make-xl-column-pull(@columns) {
  125. @media (min-width: @screen__xl) {
  126. right: percentage((@columns / @grid-columns));
  127. }
  128. }