_navigation.scss 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. /*=========================================================================================
  2. File Name: navigations.scss
  3. Description: Common mixin for menus, contain dark and light version scss.
  4. ----------------------------------------------------------------------------------------
  5. Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
  6. Author: PIXINVENT
  7. Author URL: http://www.themeforest.net/user/pixinvent
  8. ==========================================================================================*/
  9. // Import first main menu mixin
  10. @import "../mixins/main-menu-mixin";
  11. // Main menu base
  12. //==============
  13. .main-menu {
  14. z-index: 1031;
  15. position: absolute;
  16. display: table-cell;
  17. height: 100%;
  18. overflow: hidden;
  19. &.menu-light {
  20. @include menu-theme($body-color, $white);
  21. }
  22. &.menu-dark {
  23. @include menu-theme($menu-dark-color, $menu-dark-bg-color);
  24. }
  25. &.menu-fixed {
  26. position: fixed;
  27. /* fallback if needed */
  28. // top: $navbar-height;
  29. .main-menu-footer {
  30. position: fixed;
  31. }
  32. }
  33. &.menu-static{
  34. height: 100%;
  35. padding-bottom: calc(100% - 20rem);
  36. .main-menu-content{
  37. height: unset !important;
  38. }
  39. }
  40. &.menu-shadow {
  41. box-shadow: 0 0 15px 0 rgba(0,0,0,.05);
  42. }
  43. &.menu-border {
  44. border-right: 1px solid $custom-border-color;
  45. }
  46. // menu scroll shadow
  47. .shadow-bottom{
  48. display: none;
  49. position: absolute;
  50. z-index: 2;
  51. height: 60px;
  52. width: 100%;
  53. pointer-events: none;
  54. margin-top: -1.3rem;
  55. filter: blur(5px);
  56. background: linear-gradient(#fff 41%,hsla(0,0%,100%,.11) 95%,hsla(0,0%,100%,0));
  57. }
  58. // Native Scrollbar (.menu-native-scroll)
  59. &.menu-native-scroll {
  60. .main-menu-content {
  61. overflow-y: scroll;
  62. }
  63. }
  64. .navbar-header {
  65. height: 100%;
  66. width: $menu-expanded-width;
  67. height: $navbar-height;
  68. position: relative;
  69. padding: 0.35rem 1rem 0.3rem 1.64rem;
  70. transition: 300ms ease all;
  71. .navbar-brand {
  72. // padding: 15px 0px;
  73. display: flex;
  74. align-items: center;
  75. margin-top: 1.35rem;
  76. .brand-logo {
  77. background-position: -65px -54px;
  78. height: 24px;
  79. width: 35px;
  80. }
  81. .brand-text {
  82. color: $primary;
  83. padding-left: 1rem;
  84. font-weight: 600;
  85. letter-spacing: 0.01rem;
  86. font-size: 1.57rem;
  87. animation: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) 0s normal forwards 1 fadein;
  88. }
  89. }
  90. .modern-nav-toggle{
  91. animation: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) 0s normal forwards 1 fadein;
  92. }
  93. }
  94. .main-menu-content {
  95. height: calc(100% - 6rem) !important;
  96. position: relative;
  97. // margin-top: 0.45rem;
  98. }
  99. ul {
  100. list-style: none;
  101. margin: 0;
  102. padding: 0;
  103. &.navigation-main {
  104. overflow-x: hidden;
  105. >li:first-child{
  106. margin-top: .5rem;
  107. }
  108. }
  109. }
  110. a {
  111. outline: none;
  112. &:hover,
  113. &:focus {
  114. text-decoration: none;
  115. }
  116. }
  117. }
  118. // Main Navigation
  119. .navigation {
  120. font-size: 1.1rem;
  121. font-family: $font-family-monospace;
  122. font-weight: 400;
  123. overflow-y: hidden;
  124. padding-bottom: 20px;
  125. .navigation-header {
  126. font-family: $font-family-monospace;
  127. font-weight: $headings-font-weight;
  128. line-height: $headings-line-height;
  129. padding: 12px 22px;
  130. font-size: .9rem;
  131. text-transform: uppercase;
  132. }
  133. li {
  134. position: relative;
  135. white-space: nowrap;
  136. a {
  137. display: block;
  138. text-overflow: ellipsis;
  139. overflow: hidden;
  140. i{
  141. font-size: 0.8rem;
  142. margin-right: 1.38rem;
  143. }
  144. }
  145. &.disabled {
  146. a {
  147. cursor: not-allowed;
  148. }
  149. }
  150. }
  151. }
  152. // For compact menu popout
  153. .menu-popout {
  154. li {
  155. &.disabled {
  156. a {
  157. cursor: not-allowed;
  158. }
  159. }
  160. }
  161. }
  162. .dropdown-notification {
  163. .nav-link-label{
  164. position: relative;
  165. }
  166. .notification-text {
  167. margin-bottom: 0.5rem;
  168. font-size: smaller;
  169. color: $body-color;
  170. }
  171. .notification-title{
  172. color: rgba($white, .75);
  173. }
  174. .notification-tag {
  175. position: relative;
  176. top: -4px;
  177. }
  178. .dropdown-menu.dropdown-menu-right{
  179. right: -2px;
  180. padding: 0;
  181. &::before{
  182. background: $primary;
  183. border-color: $primary;
  184. }
  185. }
  186. .dropdown-menu-header{
  187. border-top-left-radius: $dropdown-border-radius;
  188. border-top-right-radius: $dropdown-border-radius;
  189. background: $primary;
  190. color: $white;
  191. text-align: center;
  192. .dropdown-header h3{
  193. margin-bottom: 0.25rem;
  194. }
  195. }
  196. }
  197. // Navigation Header
  198. //=====================
  199. .main-menu-header {
  200. .user-content {
  201. padding: 20px;
  202. .media {
  203. overflow: inherit;
  204. }
  205. .media-body {
  206. vertical-align: bottom;
  207. opacity: 1;
  208. width: 150px;
  209. white-space: nowrap;
  210. transition: all .3s ease .15s;
  211. }
  212. }
  213. }
  214. // Navigation Footer
  215. //=====================
  216. .main-menu-footer {
  217. position: relative;
  218. overflow: hidden;
  219. bottom: 0;
  220. display: block;
  221. z-index: 1000;
  222. color: lighten($gray-600, 60%);
  223. background-color: darken($gray-600, 10%);
  224. &.footer-open {
  225. max-height: 500px;
  226. transition: max-height 0.2s ease-in-out;
  227. }
  228. a {
  229. color: lighten($gray-600, 50%);
  230. &:hover,
  231. &:focus {
  232. color: $white;
  233. }
  234. }
  235. .header {
  236. height: 19px;
  237. border-bottom: 1px solid darken($gray-600, 5%);
  238. }
  239. .toggle {
  240. transform: rotate(0deg);
  241. transition: -webkit-transform 0.2s ease-in-out;
  242. }
  243. .content {
  244. padding: 0;
  245. .actions {
  246. >a {
  247. display: block;
  248. float: left;
  249. width: (100% / 3);
  250. padding: 1rem 0;
  251. color: lighten($gray-600, 50%);
  252. text-align: center;
  253. border-top: 1px solid darken($gray-600, 5%);
  254. border-left: 1px solid darken($gray-600, 5%);
  255. >span {
  256. font-size: 1.35rem;
  257. }
  258. &:hover,
  259. &:focus {
  260. color: $white;
  261. }
  262. }
  263. }
  264. }
  265. }
  266. body.vertical-layout {
  267. &.vertical-menu.menu-expanded {
  268. .main-menu-footer {
  269. .content {
  270. margin-left: 0;
  271. }
  272. }
  273. }
  274. }
  275. // for collapsed static layout
  276. body.menu-collapsed{
  277. .menu-static{
  278. padding-bottom: calc(100% - 14rem);
  279. }
  280. }
  281. // Media queries for small screen devices
  282. // =========================================
  283. @include media-breakpoint-down(sm) {
  284. // menu hide/open animation
  285. .menu-hide .main-menu,
  286. .menu-open .main-menu {
  287. transition: transform .25s, top .35s, height .35s;
  288. }
  289. .main-menu {
  290. transform: translate3d(-240px, 0, 0);
  291. backface-visibility: hidden;
  292. perspective: 1000;
  293. }
  294. .menu-open .main-menu {
  295. transform: translate3d(0, 0, 0);
  296. }
  297. }
  298. @include media-breakpoint-up(md) {
  299. .drag-target {
  300. z-index: 0;
  301. }
  302. }
  303. // For Fixed Layout set menu-fixed height
  304. body{
  305. &.fixed-footer{
  306. .main-menu {
  307. &.menu-fixed {
  308. height: 100%;
  309. }
  310. }
  311. }
  312. }
  313. // for static main menu height
  314. @media (max-width: 1200px){
  315. body{
  316. .main-menu{
  317. &.menu-static {
  318. padding-bottom: 100%;
  319. }
  320. }
  321. }
  322. }