_navigation.scss 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370
  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: url("../images/logo/vuexy-logo.png") no-repeat;
  78. background-position: -65px -54px;
  79. height: 24px;
  80. width: 35px;
  81. }
  82. .brand-text {
  83. color: $primary;
  84. padding-left: 1rem;
  85. font-weight: 600;
  86. letter-spacing: 0.01rem;
  87. font-size: 1.57rem;
  88. animation: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) 0s normal forwards 1 fadein;
  89. }
  90. }
  91. .modern-nav-toggle{
  92. animation: 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) 0s normal forwards 1 fadein;
  93. }
  94. }
  95. .main-menu-content {
  96. height: calc(100% - 6rem) !important;
  97. position: relative;
  98. // margin-top: 0.45rem;
  99. }
  100. ul {
  101. list-style: none;
  102. margin: 0;
  103. padding: 0;
  104. &.navigation-main {
  105. overflow-x: hidden;
  106. >li:first-child{
  107. margin-top: .5rem;
  108. }
  109. }
  110. }
  111. a {
  112. outline: none;
  113. &:hover,
  114. &:focus {
  115. text-decoration: none;
  116. }
  117. }
  118. }
  119. // Main Navigation
  120. .navigation {
  121. font-size: 1.1rem;
  122. font-family: $font-family-monospace;
  123. font-weight: 400;
  124. overflow-y: hidden;
  125. padding-bottom: 20px;
  126. .navigation-header {
  127. font-family: $font-family-monospace;
  128. font-weight: $headings-font-weight;
  129. line-height: $headings-line-height;
  130. padding: 12px 22px;
  131. font-size: .9rem;
  132. text-transform: uppercase;
  133. }
  134. li {
  135. position: relative;
  136. white-space: nowrap;
  137. a {
  138. display: block;
  139. text-overflow: ellipsis;
  140. overflow: hidden;
  141. i{
  142. font-size: 0.8rem;
  143. margin-right: 1.38rem;
  144. }
  145. }
  146. &.disabled {
  147. a {
  148. cursor: not-allowed;
  149. }
  150. }
  151. }
  152. }
  153. // For compact menu popout
  154. .menu-popout {
  155. li {
  156. &.disabled {
  157. a {
  158. cursor: not-allowed;
  159. }
  160. }
  161. }
  162. }
  163. .dropdown-notification {
  164. .nav-link-label{
  165. position: relative;
  166. }
  167. .notification-text {
  168. margin-bottom: 0.5rem;
  169. font-size: smaller;
  170. color: $body-color;
  171. }
  172. .notification-title{
  173. color: rgba($white, .75);
  174. }
  175. .notification-tag {
  176. position: relative;
  177. top: -4px;
  178. }
  179. .dropdown-menu.dropdown-menu-right{
  180. right: -2px;
  181. padding: 0;
  182. &::before{
  183. background: $primary;
  184. border-color: $primary;
  185. }
  186. }
  187. .dropdown-menu-header{
  188. border-top-left-radius: $dropdown-border-radius;
  189. border-top-right-radius: $dropdown-border-radius;
  190. background: $primary;
  191. color: $white;
  192. text-align: center;
  193. .dropdown-header h3{
  194. margin-bottom: 0.25rem;
  195. }
  196. }
  197. }
  198. // Navigation Header
  199. //=====================
  200. .main-menu-header {
  201. .user-content {
  202. padding: 20px;
  203. .media {
  204. overflow: inherit;
  205. }
  206. .media-body {
  207. vertical-align: bottom;
  208. opacity: 1;
  209. width: 150px;
  210. white-space: nowrap;
  211. transition: all .3s ease .15s;
  212. }
  213. }
  214. }
  215. // Navigation Footer
  216. //=====================
  217. .main-menu-footer {
  218. position: relative;
  219. overflow: hidden;
  220. bottom: 0;
  221. display: block;
  222. z-index: 1000;
  223. color: lighten($gray-600, 60%);
  224. background-color: darken($gray-600, 10%);
  225. &.footer-open {
  226. max-height: 500px;
  227. transition: max-height 0.2s ease-in-out;
  228. }
  229. a {
  230. color: lighten($gray-600, 50%);
  231. &:hover,
  232. &:focus {
  233. color: $white;
  234. }
  235. }
  236. .header {
  237. height: 19px;
  238. border-bottom: 1px solid darken($gray-600, 5%);
  239. }
  240. .toggle {
  241. transform: rotate(0deg);
  242. transition: -webkit-transform 0.2s ease-in-out;
  243. }
  244. .content {
  245. padding: 0;
  246. .actions {
  247. >a {
  248. display: block;
  249. float: left;
  250. width: (100% / 3);
  251. padding: 1rem 0;
  252. color: lighten($gray-600, 50%);
  253. text-align: center;
  254. border-top: 1px solid darken($gray-600, 5%);
  255. border-left: 1px solid darken($gray-600, 5%);
  256. >span {
  257. font-size: 1.35rem;
  258. }
  259. &:hover,
  260. &:focus {
  261. color: $white;
  262. }
  263. }
  264. }
  265. }
  266. }
  267. body.vertical-layout {
  268. &.vertical-menu.menu-expanded {
  269. .main-menu-footer {
  270. .content {
  271. margin-left: 0;
  272. }
  273. }
  274. }
  275. }
  276. // for collapsed static layout
  277. body.menu-collapsed{
  278. .menu-static{
  279. padding-bottom: calc(100% - 14rem);
  280. }
  281. }
  282. // Media queries for small screen devices
  283. // =========================================
  284. @include media-breakpoint-down(sm) {
  285. // menu hide/open animation
  286. .menu-hide .main-menu,
  287. .menu-open .main-menu {
  288. transition: transform .25s, top .35s, height .35s;
  289. }
  290. .main-menu {
  291. transform: translate3d(-240px, 0, 0);
  292. backface-visibility: hidden;
  293. perspective: 1000;
  294. }
  295. .menu-open .main-menu {
  296. transform: translate3d(0, 0, 0);
  297. }
  298. }
  299. @include media-breakpoint-up(md) {
  300. .drag-target {
  301. z-index: 0;
  302. }
  303. }
  304. // For Fixed Layout set menu-fixed height
  305. body{
  306. &.fixed-footer{
  307. .main-menu {
  308. &.menu-fixed {
  309. height: 100%;
  310. }
  311. }
  312. }
  313. }
  314. // for static main menu height
  315. @media (max-width: 1200px){
  316. body{
  317. .main-menu{
  318. &.menu-static {
  319. padding-bottom: 100%;
  320. }
  321. }
  322. }
  323. }