You are here

blazy.column.css in Blazy 8.2

Same filename and directory in other branches
  1. 8 css/components/blazy.column.css
  2. 7 css/components/blazy.column.css

Experimental: CSS3 multi-column.

column-count is the maximum number of columns and column-width is the minimum width for those columns. Gets consistent with Grid Foundation even if non-BEM classes. Note: The reason for making column-width somewhat flexible is to achieve scalable designs that can fit many screen sizes. To set an exact column width, the column gap and the width of the multicol element (assuming horizontal text) must also be specified.

File

css/components/blazy.column.css
View source
  1. /**
  2. * @file
  3. * Experimental: CSS3 multi-column.
  4. *
  5. * column-count is the maximum number of columns and column-width is the minimum
  6. * width for those columns.
  7. * Gets consistent with Grid Foundation even if non-BEM classes.
  8. * Note: The reason for making column-width somewhat flexible is to achieve
  9. * scalable designs that can fit many screen sizes. To set an exact column
  10. * width, the column gap and the width of the multicol element (assuming
  11. * horizontal text) must also be specified.
  12. */
  13. .block-column,
  14. .blazy.block-column,
  15. .item-list > .block-column {
  16. clear: both;
  17. display: block;
  18. list-style: none;
  19. margin: 0 auto;
  20. padding: 0;
  21. width: 100%;
  22. }
  23. /** https://developer.mozilla.org/en-US/docs/Web/CSS/break-inside */
  24. .block-column > .grid {
  25. display: block;
  26. float: none;
  27. height: auto;
  28. overflow: hidden;
  29. -webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
  30. page-break-inside: avoid; /* Deprecated Firefox, works at 49.0.2 */
  31. -moz-column-break-inside: avoid; /* Current Firefox, but no joy */
  32. break-inside: avoid; /* IE 10+ */
  33. break-inside: avoid-column;
  34. }
  35. .block-column > .grid ,
  36. .item-list > .block-column > .grid {
  37. margin: 0 0 1rem;
  38. padding: 0;
  39. }
  40. /** Fix for broken break-inside with extremely tall grid for FF. */
  41. .block-column .grid__content {
  42. display: inline-block;
  43. margin: 0;
  44. max-width: 100%;
  45. position: relative;
  46. vertical-align: top;
  47. width: 100%;
  48. }
  49. /** 480px with 16px base font. */
  50. @media only screen and (min-width: 30em) {
  51. .small-block-column-1 {
  52. -webkit-columns: 30em 1;
  53. -moz-columns: 30em 1;
  54. columns: 30em 1;
  55. }
  56. .small-block-column-2 {
  57. -webkit-columns: 15em 2;
  58. -moz-columns: 15em 2;
  59. columns: 15em 2;
  60. }
  61. }
  62. /** 641px with 16px base font. */
  63. @media only screen and (min-width: 40.063em) {
  64. .medium-block-column-1 {
  65. -webkit-columns: 40.063em 1;
  66. -moz-columns: 40.063em 1;
  67. columns: 40.063em 1;
  68. }
  69. .medium-block-column-2 {
  70. -webkit-columns: 20.0315em 2;
  71. -moz-columns: 20.0315em 2;
  72. columns: 20.0315em 2;
  73. }
  74. .medium-block-column-3 {
  75. -webkit-columns: 3 auto;
  76. -moz-columns: 3 auto;
  77. columns: 3 auto;
  78. }
  79. .medium-block-column-4 {
  80. -webkit-columns: 4 auto;
  81. -moz-columns: 4 auto;
  82. columns: 4 auto;
  83. }
  84. .medium-block-column-5 {
  85. -webkit-columns: 5 auto;
  86. -moz-columns: 5 auto;
  87. columns: 5 auto;
  88. }
  89. .medium-block-column-6 {
  90. -webkit-columns: 6 auto;
  91. -moz-columns: 6 auto;
  92. columns: 6 auto;
  93. }
  94. .medium-block-column-7 {
  95. -webkit-columns: 7 auto;
  96. -moz-columns: 7 auto;
  97. columns: 7 auto;
  98. }
  99. .medium-block-column-8 {
  100. -webkit-columns: 8 auto;
  101. -moz-columns: 8 auto;
  102. columns: 8 auto;
  103. }
  104. .medium-block-column-9 {
  105. -webkit-columns: 9 auto;
  106. -moz-columns: 9 auto;
  107. columns: 9 auto;
  108. }
  109. .medium-block-column-10 {
  110. -webkit-columns: 10 auto;
  111. -moz-columns: 10 auto;
  112. columns: 10 auto;
  113. }
  114. .medium-block-column-11 {
  115. -webkit-columns: 11 auto;
  116. -moz-columns: 11 auto;
  117. columns: 11 auto;
  118. }
  119. .medium-block-column-12 {
  120. -webkit-columns: 12 auto;
  121. -moz-columns: 12 auto;
  122. columns: 12 auto;
  123. }
  124. }
  125. /** 1025px with 16px base font. */
  126. @media only screen and (min-width: 64.063em) {
  127. .large-block-column-1 {
  128. -webkit-columns: 64.063em 1;
  129. -moz-columns: 64.063em 1;
  130. columns: 64.063em 1;
  131. }
  132. .large-block-column-2 {
  133. -webkit-columns: 2 auto;
  134. -moz-columns: 2 auto;
  135. columns: 2 auto;
  136. }
  137. .large-block-column-3.block-count-2,
  138. .large-block-column-4.block-count-2 {
  139. -webkit-columns: 32.0315em 2;
  140. -moz-columns: 32.0315em 2;
  141. columns: 32.0315em 2;
  142. }
  143. .large-block-column-3,
  144. .large-block-column-4.block-count-3 {
  145. -webkit-columns: 3 auto;
  146. -moz-columns: 3 auto;
  147. columns: 3 auto;
  148. }
  149. .large-block-column-4 {
  150. -webkit-columns: 4 auto;
  151. -moz-columns: 4 auto;
  152. columns: 4 auto;
  153. }
  154. .large-block-column-5 {
  155. -webkit-columns: 5 auto;
  156. -moz-columns: 5 auto;
  157. columns: 5 auto;
  158. }
  159. .large-block-column-6 {
  160. -webkit-columns: 6 auto;
  161. -moz-columns: 6 auto;
  162. columns: 6 auto;
  163. }
  164. .large-block-column-7 {
  165. -webkit-columns: 7 auto;
  166. -moz-columns: 7 auto;
  167. columns: 7 auto;
  168. }
  169. .large-block-column-8 {
  170. -webkit-columns: 8 auto;
  171. -moz-columns: 8 auto;
  172. columns: 8 auto;
  173. }
  174. .large-block-column-9 {
  175. -webkit-columns: 9 auto;
  176. -moz-columns: 9 auto;
  177. columns: 9 auto;
  178. }
  179. .large-block-column-10 {
  180. -webkit-columns: 10 auto;
  181. -moz-columns: 10 auto;
  182. columns: 10 auto;
  183. }
  184. .large-block-column-11 {
  185. -webkit-columns: 11 auto;
  186. -moz-columns: 11 auto;
  187. columns: 11 auto;
  188. }
  189. .large-block-column-12 {
  190. -webkit-columns: 12 auto;
  191. -moz-columns: 12 auto;
  192. columns: 12 auto;
  193. }
  194. }