SideBar.vue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <NavBarLinks class="show-mobile" />
  3. <slot name="top" />
  4. <ul class="sidebar">
  5. <SideBarItem v-for="item of items" :item="item" />
  6. </ul>
  7. <slot name="bottom" />
  8. </template>
  9. <script src="./SideBar"></script>
  10. <style>
  11. .show-mobile {
  12. display: none;
  13. }
  14. @media screen and (max-width: 719px) {
  15. .show-mobile {
  16. display: block;
  17. }
  18. }
  19. .sidebar,
  20. .sidebar-items {
  21. list-style-type: none;
  22. line-height: 2;
  23. padding: 0;
  24. margin: 0;
  25. }
  26. .sidebar {
  27. padding: 1.5rem 0;
  28. }
  29. .sidebar-data {
  30. padding: 1.5rem 0;
  31. }
  32. @media screen and (max-width: 719px) {
  33. .sidebar-data {
  34. padding: 1rem;
  35. }
  36. }
  37. .sidebar-items .sidebar-items {
  38. padding-left: 1rem;
  39. }
  40. .sidebar-items .sidebar-items .sidebar-link {
  41. border-left: 0;
  42. }
  43. .sidebar-items .sidebar-items .sidebar-link.active {
  44. font-weight: 500;
  45. }
  46. .sidebar-items .sidebar-link {
  47. padding: 0.35rem 1rem 0.35rem 2rem;
  48. line-height: 1.4;
  49. font-size: 0.95em;
  50. font-weight: 400;
  51. }
  52. .sidebar-item + .sidebar-item {
  53. padding-top: 0.75rem;
  54. }
  55. .sidebar-items > .sidebar-item + .sidebar-item {
  56. padding-top: 0;
  57. }
  58. .sidebar-link {
  59. display: block;
  60. margin: 0;
  61. border-left: 0.25rem solid transparent;
  62. padding: 0.35rem 1.5rem 0.35rem 1.25rem;
  63. line-height: 1.7;
  64. font-size: 1.05em;
  65. font-weight: 700;
  66. color: var(--text-color);
  67. }
  68. a.sidebar-link {
  69. transition: color 0.15s ease;
  70. }
  71. a.sidebar-link:hover {
  72. color: var(--accent-color);
  73. }
  74. a.sidebar-link.active {
  75. border-left-color: var(--accent-color);
  76. font-weight: 600;
  77. color: var(--accent-color);
  78. }
  79. </style>