grid.sass 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. .column
  2. flex-basis: 0
  3. flex-grow: 1
  4. flex-shrink: 1
  5. padding: 10px
  6. .columns.is-mobile > &.is-narrow
  7. flex: none
  8. .columns.is-mobile > &.is-full
  9. flex: none
  10. width: 100%
  11. .columns.is-mobile > &.is-three-quarters
  12. flex: none
  13. width: 75%
  14. .columns.is-mobile > &.is-two-thirds
  15. flex: none
  16. width: 66.6666%
  17. .columns.is-mobile > &.is-half
  18. flex: none
  19. width: 50%
  20. .columns.is-mobile > &.is-one-third
  21. flex: none
  22. width: 33.3333%
  23. .columns.is-mobile > &.is-one-quarter
  24. flex: none
  25. width: 25%
  26. .columns.is-mobile > &.is-offset-three-quarters
  27. margin-left: 75%
  28. .columns.is-mobile > &.is-offset-two-thirds
  29. margin-left: 66.6666%
  30. .columns.is-mobile > &.is-offset-half
  31. margin-left: 50%
  32. .columns.is-mobile > &.is-offset-one-third
  33. margin-left: 33.3333%
  34. .columns.is-mobile > &.is-offset-one-quarter
  35. margin-left: 25%
  36. @for $i from 1 through 12
  37. .columns.is-mobile > &.is-#{$i}
  38. flex: none
  39. width: ($i / 12) * 100%
  40. .columns.is-mobile > &.is-offset-#{$i}
  41. margin-left: ($i / 12) * 100%
  42. +mobile
  43. &.is-narrow-mobile
  44. flex: none
  45. &.is-full-mobile
  46. flex: none
  47. width: 100%
  48. &.is-three-quarters-mobile
  49. flex: none
  50. width: 75%
  51. &.is-two-thirds-mobile
  52. flex: none
  53. width: 66.6666%
  54. &.is-half-mobile
  55. flex: none
  56. width: 50%
  57. &.is-one-third-mobile
  58. flex: none
  59. width: 33.3333%
  60. &.is-one-quarter-mobile
  61. flex: none
  62. width: 25%
  63. &.is-offset-three-quarters-mobile
  64. margin-left: 75%
  65. &.is-offset-two-thirds-mobile
  66. margin-left: 66.6666%
  67. &.is-offset-half-mobile
  68. margin-left: 50%
  69. &.is-offset-one-third-mobile
  70. margin-left: 33.3333%
  71. &.is-offset-one-quarter-mobile
  72. margin-left: 25%
  73. @for $i from 1 through 12
  74. &.is-#{$i}-mobile
  75. flex: none
  76. width: ($i / 12) * 100%
  77. &.is-offset-#{$i}-mobile
  78. margin-left: ($i / 12) * 100%
  79. +tablet
  80. &.is-narrow,
  81. &.is-narrow-tablet
  82. flex: none
  83. &.is-full,
  84. &.is-full-tablet
  85. flex: none
  86. width: 100%
  87. &.is-three-quarters,
  88. &.is-three-quarters-tablet
  89. flex: none
  90. width: 75%
  91. &.is-two-thirds,
  92. &.is-two-thirds-tablet
  93. flex: none
  94. width: 66.6666%
  95. &.is-half,
  96. &.is-half-tablet
  97. flex: none
  98. width: 50%
  99. &.is-one-third,
  100. &.is-one-third-tablet
  101. flex: none
  102. width: 33.3333%
  103. &.is-one-quarter,
  104. &.is-one-quarter-tablet
  105. flex: none
  106. width: 25%
  107. &.is-offset-three-quarters,
  108. &.is-offset-three-quarters-tablet
  109. margin-left: 75%
  110. &.is-offset-two-thirds,
  111. &.is-offset-two-thirds-tablet
  112. margin-left: 66.6666%
  113. &.is-offset-half,
  114. &.is-offset-half-tablet
  115. margin-left: 50%
  116. &.is-offset-one-third,
  117. &.is-offset-one-third-tablet
  118. margin-left: 33.3333%
  119. &.is-offset-one-quarter,
  120. &.is-offset-one-quarter-tablet
  121. margin-left: 25%
  122. @for $i from 1 through 12
  123. &.is-#{$i},
  124. &.is-#{$i}-tablet
  125. flex: none
  126. width: ($i / 12) * 100%
  127. &.is-offset-#{$i},
  128. &.is-offset-#{$i}-tablet
  129. margin-left: ($i / 12) * 100%
  130. +desktop
  131. &.is-narrow-desktop
  132. flex: none
  133. &.is-full-desktop
  134. flex: none
  135. width: 100%
  136. &.is-three-quarters-desktop
  137. flex: none
  138. width: 75%
  139. &.is-two-thirds-desktop
  140. flex: none
  141. width: 66.6666%
  142. &.is-half-desktop
  143. flex: none
  144. width: 50%
  145. &.is-one-third-desktop
  146. flex: none
  147. width: 33.3333%
  148. &.is-one-quarter-desktop
  149. flex: none
  150. width: 25%
  151. &.is-offset-three-quarters-desktop
  152. margin-left: 75%
  153. &.is-offset-two-thirds-desktop
  154. margin-left: 66.6666%
  155. &.is-offset-half-desktop
  156. margin-left: 50%
  157. &.is-offset-one-third-desktop
  158. margin-left: 33.3333%
  159. &.is-offset-one-quarter-desktop
  160. margin-left: 25%
  161. @for $i from 1 through 12
  162. &.is-#{$i}-desktop
  163. flex: none
  164. width: ($i / 12) * 100%
  165. &.is-offset-#{$i}-desktop
  166. margin-left: ($i / 12) * 100%
  167. +widescreen
  168. &.is-narrow-widescreen
  169. flex: none
  170. &.is-full-widescreen
  171. flex: none
  172. width: 100%
  173. &.is-three-quarters-widescreen
  174. flex: none
  175. width: 75%
  176. &.is-two-thirds-widescreen
  177. flex: none
  178. width: 66.6666%
  179. &.is-half-widescreen
  180. flex: none
  181. width: 50%
  182. &.is-one-third-widescreen
  183. flex: none
  184. width: 33.3333%
  185. &.is-one-quarter-widescreen
  186. flex: none
  187. width: 25%
  188. &.is-offset-three-quarters-widescreen
  189. margin-left: 75%
  190. &.is-offset-two-thirds-widescreen
  191. margin-left: 66.6666%
  192. &.is-offset-half-widescreen
  193. margin-left: 50%
  194. &.is-offset-one-third-widescreen
  195. margin-left: 33.3333%
  196. &.is-offset-one-quarter-widescreen
  197. margin-left: 25%
  198. @for $i from 1 through 12
  199. &.is-#{$i}-widescreen
  200. flex: none
  201. width: ($i / 12) * 100%
  202. &.is-offset-#{$i}-widescreen
  203. margin-left: ($i / 12) * 100%
  204. .columns
  205. margin-left: -10px
  206. margin-right: -10px
  207. margin-top: -10px
  208. &:last-child
  209. margin-bottom: -10px
  210. &:not(:last-child)
  211. margin-bottom: 10px
  212. // Modifiers
  213. &.is-centered
  214. justify-content: center
  215. &.is-gapless
  216. margin-left: 0
  217. margin-right: 0
  218. margin-top: 0
  219. &:last-child
  220. margin-bottom: 0
  221. &:not(:last-child)
  222. margin-bottom: 20px
  223. & > .column
  224. margin: 0
  225. padding: 0
  226. &.is-grid
  227. // Responsiveness
  228. +tablet
  229. flex-wrap: wrap
  230. & > .column
  231. max-width: 33.3333%
  232. padding: 10px
  233. width: 33.3333%
  234. & + .column
  235. margin-left: 0
  236. &.is-mobile
  237. display: flex
  238. &.is-multiline
  239. flex-wrap: wrap
  240. &.is-vcentered
  241. align-items: center
  242. // Responsiveness
  243. +tablet
  244. &:not(.is-desktop)
  245. display: flex
  246. +desktop
  247. // Modifiers
  248. &.is-desktop
  249. display: flex
  250. .tile
  251. align-items: stretch
  252. flex-basis: auto
  253. flex-grow: 1
  254. flex-shrink: 1
  255. min-height: min-content
  256. // Modifiers
  257. &.is-ancestor
  258. margin-left: -10px
  259. margin-right: -10px
  260. margin-top: -10px
  261. &:last-child
  262. margin-bottom: -10px
  263. &:not(:last-child)
  264. margin-bottom: 10px
  265. &.is-child
  266. margin: 0 !important
  267. &.is-parent
  268. padding: 10px
  269. &.is-vertical
  270. flex-direction: column
  271. & > .tile.is-child:not(:last-child)
  272. margin-bottom: 20px !important
  273. // Responsiveness
  274. +tablet
  275. &:not(.is-child)
  276. display: flex
  277. @for $i from 1 through 12
  278. &.is-#{$i}
  279. flex: none
  280. width: ($i / 12) * 100%