ocean.scss 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. /**
  2. * @description 渐变
  3. */
  4. body.vab-theme-ocean {
  5. $base-color-blue: #1890ff;
  6. $base-color-blue-active: #399efd;
  7. @mixin container {
  8. background: linear-gradient(to right, #006cff, #399efd) !important;
  9. }
  10. @mixin active {
  11. &:hover {
  12. color: $base-color-white;
  13. background-color: $base-color-blue-active !important;
  14. }
  15. &.is-active {
  16. color: $base-color-white;
  17. background-color: $base-color-blue-active !important;
  18. }
  19. }
  20. .logo-container-horizontal {
  21. background: var(--el-color-primary) !important;
  22. }
  23. .logo-container-vertical,
  24. .logo-container-comprehensive,
  25. .logo-container-float {
  26. @include container;
  27. }
  28. .logo-container-column {
  29. .logo {
  30. @include container;
  31. }
  32. }
  33. .vab-column-bar-container {
  34. .el-tabs {
  35. .el-tabs__nav-wrap.is-left {
  36. @include container;
  37. }
  38. .el-tabs__nav {
  39. @include container;
  40. }
  41. }
  42. .el-menu {
  43. .el-menu-item.is-active,
  44. .el-sub-menu__title.is-active,
  45. .el-menu-item:hover,
  46. .el-sub-menu__title:hover {
  47. i {
  48. color: var(--el-color-primary) !important;
  49. }
  50. color: var(--el-color-primary) !important;
  51. background-color: var(--el-color-primary-light-9) !important;
  52. }
  53. }
  54. &-card {
  55. .el-tabs {
  56. .el-tabs__item {
  57. &.is-active {
  58. background: transparent !important;
  59. }
  60. }
  61. }
  62. }
  63. }
  64. .vab-layout-horizontal {
  65. .vab-header {
  66. background: var(--el-color-primary) !important;
  67. }
  68. .el-menu {
  69. background: var(--el-color-primary) !important;
  70. .el-sub-menu__title {
  71. background: var(--el-color-primary) !important;
  72. }
  73. .el-menu-item {
  74. background: var(--el-color-primary) !important;
  75. }
  76. }
  77. .vab-side-bar,
  78. .comprehensive-bar-container {
  79. background: var(--el-color-primary) !important;
  80. .el-menu-item {
  81. @include active;
  82. }
  83. }
  84. }
  85. .vab-layout-vertical,
  86. .vab-layout-comprehensive,
  87. .vab-layout-common,
  88. .vab-layout-float {
  89. .vab-side-bar,
  90. .comprehensive-bar-container {
  91. @include container;
  92. .el-menu {
  93. @include container;
  94. @include active;
  95. .el-sub-menu__title,
  96. .el-menu-item {
  97. background-color: transparent !important;
  98. @include active;
  99. &.is-active {
  100. background-color: $base-color-blue-active !important;
  101. }
  102. }
  103. }
  104. }
  105. }
  106. .vab-layout-float {
  107. .el-scrollbar__view .el-menu--collapse.el-menu li.el-sub-menu.is-active {
  108. .el-sub-menu__title {
  109. background-color: transparent !important;
  110. }
  111. > .el-sub-menu__title {
  112. background-color: var(--el-color-primary) !important;
  113. }
  114. }
  115. }
  116. .vab-header {
  117. background-color: var(--el-color-primary) !important;
  118. .vab-main {
  119. .el-menu.el-menu {
  120. background-color: var(--el-color-primary) !important;
  121. &--horizontal {
  122. .el-sub-menu,
  123. .el-menu-item {
  124. background-color: var(--el-color-primary) !important;
  125. &.is-active {
  126. color: $base-color-white !important;
  127. background-color: $base-color-blue-active !important;
  128. }
  129. }
  130. > .el-menu-item,
  131. .el-sub-menu__title,
  132. > .el-menu-item:hover,
  133. > .el-sub-menu__title:hover {
  134. color: $base-color-white !important;
  135. background-color: var(--el-color-primary) !important;
  136. i {
  137. color: $base-color-white !important;
  138. }
  139. &.is-active {
  140. color: $base-color-white !important;
  141. background-color: $base-color-blue-active !important;
  142. }
  143. }
  144. }
  145. }
  146. }
  147. }
  148. /*由于element-plus
  149. bug使用popper-append-to-body=false会导致多级路由无法显示,故所有菜单必须生成至body下,样式必须放到body下*/
  150. @mixin menuDefalut {
  151. color: $base-color-white !important;
  152. background: var(--el-color-primary) !important;
  153. }
  154. @mixin menuActiveHover {
  155. &:hover,
  156. &.is-active {
  157. i {
  158. color: $base-color-white !important;
  159. }
  160. color: $base-color-white !important;
  161. background: $base-color-blue-active !important;
  162. .el-sub-menu__title {
  163. i {
  164. color: $base-color-white !important;
  165. }
  166. color: $base-color-white !important;
  167. background: $base-color-blue-active !important;
  168. }
  169. }
  170. }
  171. .el-popper {
  172. .el-menu--horizontal,
  173. .el-menu--vertical {
  174. @include menuDefalut;
  175. .el-menu.el-menu--popup {
  176. @include menuDefalut;
  177. }
  178. .el-menu-item,
  179. .el-sub-menu {
  180. @include menuDefalut;
  181. @include menuActiveHover;
  182. .el-sub-menu__title {
  183. @include menuDefalut;
  184. @include menuActiveHover;
  185. }
  186. }
  187. }
  188. }
  189. }