sidebar.scss 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. @use './mixins' as *;
  2. @use './vars' as *;
  3. // @use './sidebar-link.scss';
  4. .sidebar {
  5. position: fixed;
  6. top: 0;
  7. bottom: 0;
  8. left: 0;
  9. z-index: var(--sidebar-z-index);
  10. width: var(--sidebar-width-xs);
  11. background-color: var(--bg-color);
  12. padding: 48px 32px 0;
  13. overflow-y: auto;
  14. transform: translate(-100%);
  15. transition: background-color var(--el-transition-duration-fast), opacity 0.25s,
  16. transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  17. &.open {
  18. transform: translate(0);
  19. }
  20. .sidebar-groups {
  21. padding: 0 0 5rem;
  22. .sidebar-group__title {
  23. font-size: 1rem;
  24. font-weight: 700;
  25. margin-bottom: 8px;
  26. line-height: 24px;
  27. }
  28. .sidebar-group + .sidebar-group {
  29. padding-top: 24px;
  30. }
  31. }
  32. @media (max-width: 767px) {
  33. width: calc(var(--vp-sidebar-width-mobile) - 14px);
  34. }
  35. @include respond-to('md') {
  36. width: calc(var(--vp-sidebar-width-small));
  37. }
  38. @include respond-to('lg') {
  39. top: var(--header-height);
  40. transform: translate(0);
  41. }
  42. @include respond-to('xxl') {
  43. // 6px stands for 3px sidebar scrollbar width + 3 content scrollbar width
  44. padding: 48px 32px 96px calc((100vw - var(--vp-screen-max-width)) / 2);
  45. width: calc(
  46. (100vw - var(--vp-screen-max-width)) / 2 + var(--vp-sidebar-width-small)
  47. );
  48. }
  49. @include respond-to('max') {
  50. padding: 48px 48px 96px calc((100vw - var(--vp-screen-max-width)) / 2);
  51. width: calc(
  52. (100vw - var(--vp-screen-max-width)) / 2 + var(--vp-sidebar-width-small)
  53. );
  54. }
  55. }