Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

nav-secondary.pcss.css

Secondary navigation styling.

File

core/themes/olivero/css/components/navigation/nav-secondary.pcss.css

View source
  1. /**
  2. * @file
  3. * Secondary navigation styling.
  4. */
  5. @import "../../base/media-queries.pcss.css";
  6. .secondary-nav {
  7. letter-spacing: 0.02em;
  8. font-size: var(--font-size-s);
  9. font-weight: 600;
  10. }
  11. .secondary-nav__menu {
  12. display: flex;
  13. align-items: center;
  14. margin-block: 0;
  15. margin-inline-start: 0;
  16. margin-inline-end: 0;
  17. padding-block: 0;
  18. padding-inline-start: 0;
  19. padding-inline-end: 0;
  20. list-style: none;
  21. }
  22. .secondary-nav__menu-item {
  23. /* Parent element is set to flex-basis: 0. We
  24. * don't want text to wrap unless it goes over a
  25. * certain arbitrary width.
  26. */
  27. /* @todo should this be scoped to desktop nav? */
  28. width: max-content;
  29. max-width: 200px;
  30. &:not(:last-child) {
  31. margin-inline-end: var(--sp1-5);
  32. }
  33. }
  34. .secondary-nav__menu-link {
  35. position: relative;
  36. display: inline-flex;
  37. align-items: center;
  38. height: var(--sp2);
  39. text-decoration: none;
  40. color: inherit;
  41. &::after {
  42. position: absolute;
  43. bottom: 0;
  44. left: 0;
  45. width: 100%;
  46. height: 0;
  47. content: "";
  48. transition:
  49. opacity 0.2s,
  50. transform 0.2s;
  51. transform: translateY(5px);
  52. opacity: 0;
  53. /* Intentionally not using CSS logical properties. */
  54. border-top: solid 2px currentColor;
  55. }
  56. &:hover {
  57. &::after {
  58. transform: translateY(0);
  59. opacity: 0.8;
  60. }
  61. }
  62. }
  63. body:not(.is-always-mobile-nav) {
  64. @media (--nav) {
  65. & .secondary-nav {
  66. position: relative;
  67. display: flex;
  68. margin-inline-start: var(--sp);
  69. padding-inline-start: var(--sp2);
  70. &::before {
  71. position: absolute;
  72. inset-block-start: 50%;
  73. inset-inline-start: 0;
  74. width: 2px;
  75. height: var(--sp2);
  76. content: "";
  77. transform: translateY(-50%);
  78. background-color: var(--color--gray-90);
  79. }
  80. }
  81. & .secondary-nav__menu-item:not(:last-child) {
  82. margin-inline-end: var(--sp2);
  83. }
  84. & .secondary-nav__menu-link {
  85. &:focus {
  86. position: relative;
  87. outline: 0;
  88. &::before {
  89. position: absolute;
  90. top: 50%;
  91. left: 50%;
  92. width: calc(100% + var(--sp));
  93. height: var(--sp3);
  94. content: "";
  95. transform: translate(-50%, -50%);
  96. border: solid 2px var(--color--primary-50);
  97. border-radius: 4px;
  98. }
  99. }
  100. }
  101. }
  102. }
RSS feed
Powered by Drupal