_mixins.grid.scss 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. @use 'sass:math';
  2. // grid settings
  3. $grid-columns: 12;
  4. $grid-gutter-width: 3%;
  5. // Utility variable - you should never need to modify this
  6. $padding: math.div($grid-gutter-width, 2);
  7. // Our row container
  8. @mixin row($padding: 0) {
  9. @include clearfix();
  10. display: block;
  11. margin-inline-end: auto;
  12. margin-inline-start: auto;
  13. padding-inline-end: $padding;
  14. padding-inline-start: $padding;
  15. }
  16. @mixin row-flush() {
  17. margin-inline-start: -$padding;
  18. margin-inline-end: -$padding;
  19. }
  20. // Our column container
  21. @mixin column($x, $padding: $padding, $grid-columns: $grid-columns) {
  22. display: inline;
  23. float: inline-start;
  24. width: 100% * math.div($x, $grid-columns);
  25. padding-inline-end: $padding;
  26. padding-inline-start: $padding;
  27. }
  28. @mixin table-column($x, $padding: $padding, $grid-columns: $grid-columns) {
  29. width: 100% * math.div($x, $grid-columns);
  30. }
  31. // Push adds left padding
  32. @mixin push($offset: 1, $grid-columns: $grid-columns) {
  33. margin-inline-start: 100% * math.div($offset, $grid-columns);
  34. }
  35. @mixin push-padding($offset: 1, $grid-columns: $grid-columns) {
  36. padding-inline-start: 100% * math.div($offset, $grid-columns);
  37. }
  38. // Pull adds right padding
  39. @mixin pull($offset: 1, $grid-columns: $grid-columns) {
  40. margin-inline-end: 100% * math.div($offset, $grid-columns);
  41. }
  42. @mixin pull-padding($offset: 1, $grid-columns: $grid-columns) {
  43. padding-inline-end: 100% * math.div($offset, $grid-columns);
  44. }
  45. // only used in places where padding not applied to same elements as row or row-flush
  46. // most of the time this class should be applied directly to the html elements
  47. @mixin nice-padding {
  48. padding-inline-start: $mobile-nice-padding;
  49. padding-inline-end: $mobile-nice-padding;
  50. @include media-breakpoint-up(sm) {
  51. padding-inline-start: $desktop-nice-padding;
  52. padding-inline-end: $desktop-nice-padding;
  53. }
  54. }
  55. @mixin nice-margin {
  56. margin-inline-start: $mobile-nice-padding;
  57. margin-inline-end: $mobile-nice-padding;
  58. @include media-breakpoint-up(sm) {
  59. margin-inline-start: $desktop-nice-padding;
  60. margin-inline-end: $desktop-nice-padding;
  61. }
  62. }
  63. @mixin max-form-width {
  64. max-width: $max-form-width;
  65. }