_sidebar-mini.scss 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. //
  2. // Component: Sidebar Mini
  3. //
  4. // Logo style
  5. .logo-xs,
  6. .logo-xl {
  7. opacity: 1;
  8. position: absolute;
  9. visibility: visible;
  10. &.brand-image-xs {
  11. left: 18px;
  12. top: 12px;
  13. }
  14. &.brand-image-xl {
  15. left: 12px;
  16. top: 6px;
  17. }
  18. }
  19. .logo-xs {
  20. opacity: 0;
  21. visibility: hidden;
  22. &.brand-image-xl {
  23. left: 16px;
  24. top: 8px;
  25. }
  26. }
  27. .brand-link {
  28. &.logo-switch {
  29. &::before {
  30. content: '\00a0';
  31. }
  32. }
  33. }
  34. // Add sidebar-mini class to the body tag to activate this feature
  35. .sidebar-mini {
  36. @include media-breakpoint-up(lg) {
  37. @include sidebar-mini-breakpoint;
  38. }
  39. }
  40. @include media-breakpoint-down(md) {
  41. .sidebar-mini.sidebar-collapse .main-sidebar {
  42. box-shadow: none !important;
  43. }
  44. }
  45. .sidebar-mini-md {
  46. @include media-breakpoint-up(md) {
  47. @include sidebar-mini-breakpoint;
  48. }
  49. }
  50. @include media-breakpoint-down(sm) {
  51. .sidebar-mini-md.sidebar-collapse .main-sidebar {
  52. box-shadow: none !important;
  53. }
  54. }
  55. @keyframes fadeIn {
  56. from {
  57. opacity: 0;
  58. }
  59. to {
  60. opacity: 1;
  61. }
  62. }
  63. @keyframes fadeOut {
  64. from {
  65. opacity: 1;
  66. }
  67. to {
  68. opacity: 0;
  69. }
  70. }
  71. .sidebar-collapse {
  72. .main-sidebar.sidebar-focused,
  73. .main-sidebar:hover {
  74. .nav-header {
  75. display: inline-block;
  76. }
  77. }
  78. .sidebar-no-expand.main-sidebar.sidebar-focused,
  79. .sidebar-no-expand.main-sidebar:hover {
  80. width: $sidebar-mini-width;
  81. .nav-header {
  82. display: none;
  83. }
  84. .brand-link {
  85. width: $sidebar-mini-width !important;
  86. }
  87. .user-panel .image {
  88. float: none !important;
  89. }
  90. .logo-xs {
  91. animation-name: fadeIn;
  92. animation-duration: $transition-speed;
  93. animation-fill-mode: both;
  94. visibility: visible;
  95. }
  96. .logo-xl {
  97. animation-name: fadeOut;
  98. animation-duration: $transition-speed;
  99. animation-fill-mode: both;
  100. visibility: hidden;
  101. }
  102. .nav-sidebar.nav-child-indent .nav-treeview {
  103. padding-left: 0;
  104. }
  105. .brand-text,
  106. .user-panel > .info,
  107. .nav-sidebar .nav-link p {
  108. margin-left: -10px;
  109. animation-name: fadeOut;
  110. animation-duration: $transition-speed;
  111. animation-fill-mode: both;
  112. visibility: hidden;
  113. width: 0;
  114. }
  115. .nav-sidebar > .nav-item .nav-icon {
  116. margin-right: 0;
  117. }
  118. }
  119. }
  120. .nav-sidebar {
  121. position: relative;
  122. &:hover {
  123. overflow: visible;
  124. }
  125. }
  126. .sidebar-form,
  127. .nav-sidebar > .nav-header {
  128. overflow: hidden;
  129. text-overflow: clip;
  130. }
  131. .nav-sidebar .nav-item > .nav-link {
  132. position: relative;
  133. > .float-right {
  134. margin-top: -7px;
  135. position: absolute;
  136. right: 10px;
  137. top: 50%;
  138. }
  139. }
  140. .sidebar .nav-link p,
  141. .main-sidebar .brand-text,
  142. .main-sidebar .logo-xs,
  143. .main-sidebar .logo-xl,
  144. .sidebar .user-panel .info {
  145. @include transition(margin-left $transition-speed linear, opacity $transition-speed ease, visibility $transition-speed ease)
  146. }