NavBarLink.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <div class="nav-item">
  3. <a
  4. class="nav-link"
  5. :class="classes"
  6. :href="href"
  7. :target="target"
  8. :rel="rel"
  9. :aria-label="item.ariaLabel"
  10. >
  11. {{ item.text }}
  12. <OutboundLink v-if="isExternalLink" />
  13. </a>
  14. </div>
  15. </template>
  16. <script src="./NavBarLink"></script>
  17. <style>
  18. .nav-item {
  19. position: relative;
  20. display: inline-block;
  21. margin-left: 1.5rem;
  22. line-height: 2rem;
  23. }
  24. @media screen and (max-width: 719px) {
  25. .nav-item {
  26. display: block;
  27. margin-left: 0;
  28. padding: 0.3rem 1.5rem;
  29. }
  30. }
  31. .nav-link {
  32. display: block;
  33. margin-bottom: -2px;
  34. border-bottom: 2px solid transparent;
  35. font-size: 0.9rem;
  36. font-weight: 500;
  37. line-height: 1.4rem;
  38. color: var(--text-color);
  39. white-space: nowrap;
  40. }
  41. .nav-link:hover,
  42. .nav-link.active {
  43. border-bottom-color: var(--accent-color);
  44. }
  45. .nav-link.external:hover {
  46. border-bottom-color: transparent;
  47. }
  48. @media screen and (max-width: 719px) {
  49. .nav-link {
  50. line-height: 1.7;
  51. font-size: 1em;
  52. font-weight: 600;
  53. border-bottom: none;
  54. margin-bottom: 0;
  55. }
  56. .nav-link:hover,
  57. .nav-link.active {
  58. color: var(--accent-color);
  59. }
  60. }
  61. </style>