_side-nav.scss 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. // Foundation by ZURB
  2. // foundation.zurb.com
  3. // Licensed under MIT Open Source
  4. @import 'global';
  5. //
  6. // @variables
  7. //
  8. $include-html-nav-classes: $include-html-classes !default;
  9. // We use this to control padding.
  10. $side-nav-padding: rem-calc(14 0) !default;
  11. // We use these to control list styles.
  12. $side-nav-list-type: none !default;
  13. $side-nav-list-position: outside !default;
  14. $side-nav-list-margin: rem-calc(0 0 7 0) !default;
  15. // We use these to control link styles.
  16. $side-nav-link-color: $primary-color !default;
  17. $side-nav-link-color-active: scale-color($side-nav-link-color, $lightness: 30%) !default;
  18. $side-nav-link-color-hover: scale-color($side-nav-link-color, $lightness: 30%) !default;
  19. $side-nav-link-bg-hover: hsla(0, 0, 0, .025) !default;
  20. $side-nav-link-margin: 0 !default;
  21. $side-nav-link-padding: rem-calc(7 14) !default;
  22. $side-nav-font-size: rem-calc(14) !default;
  23. $side-nav-font-weight: $font-weight-normal !default;
  24. $side-nav-font-weight-active: $side-nav-font-weight !default;
  25. $side-nav-font-family: $body-font-family !default;
  26. $side-nav-font-family-active: $side-nav-font-family !default;
  27. // We use these to control heading styles.
  28. $side-nav-heading-color: $side-nav-link-color !default;
  29. $side-nav-heading-font-size: $side-nav-font-size !default;
  30. $side-nav-heading-font-weight: bold !default;
  31. $side-nav-heading-text-transform: uppercase !default;
  32. // We use these to control border styles
  33. $side-nav-divider-size: 1px !default;
  34. $side-nav-divider-style: solid !default;
  35. $side-nav-divider-color: scale-color($white, $lightness: -10%) !default;
  36. //
  37. // @mixins
  38. //
  39. // We use this to style the side-nav
  40. //
  41. // $divider-color - Border color of divider. Default: $side-nav-divider-color.
  42. // $font-size - Font size of nav items. Default: $side-nav-font-size.
  43. // $link-color - Color of navigation links. Default: $side-nav-link-color.
  44. // $link-color-hover - Color of navigation links when hovered. Default: $side-nav-link-color-hover.
  45. @mixin side-nav(
  46. $divider-color:$side-nav-divider-color,
  47. $font-size:$side-nav-font-size,
  48. $link-color:$side-nav-link-color,
  49. $link-color-active:$side-nav-link-color-active,
  50. $link-color-hover:$side-nav-link-color-hover,
  51. $link-bg-hover:$side-nav-link-bg-hover) {
  52. display: block;
  53. font-family: $side-nav-font-family;
  54. list-style-position: $side-nav-list-position;
  55. list-style-type: $side-nav-list-type;
  56. margin: 0;
  57. padding: $side-nav-padding;
  58. li {
  59. font-size: $font-size;
  60. font-weight: $side-nav-font-weight;
  61. margin: $side-nav-list-margin;
  62. a:not(.button) {
  63. color: $link-color;
  64. display: block;
  65. margin: $side-nav-link-margin;
  66. padding: $side-nav-link-padding;
  67. &:hover,
  68. &:focus {
  69. background: $link-bg-hover;
  70. color: $link-color-hover;
  71. }
  72. &:active {
  73. color: $link-color-active;
  74. }
  75. }
  76. &.active > a:first-child:not(.button) {
  77. color: $side-nav-link-color-active;
  78. font-family: $side-nav-font-family-active;
  79. font-weight: $side-nav-font-weight-active;
  80. }
  81. &.divider {
  82. border-top: $side-nav-divider-size $side-nav-divider-style;
  83. height: 0;
  84. list-style: none;
  85. padding: 0;
  86. border-top-color: $divider-color;
  87. }
  88. &.heading {
  89. color: $side-nav-heading-color;
  90. font: {
  91. size: $side-nav-heading-font-size;
  92. weight: $side-nav-heading-font-weight;
  93. }
  94. text-transform: $side-nav-heading-text-transform;
  95. }
  96. }
  97. }
  98. @include exports("side-nav") {
  99. @if $include-html-nav-classes {
  100. .side-nav {@include side-nav;}
  101. }
  102. }