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

Breadcrumb

  1. Drupal Core 11.1.x

nav-primary-no-js.pcss.css

Styles for primary navigation when JavaScript is disabled.

File

core/themes/olivero/css/components/navigation/nav-primary-no-js.pcss.css

View source
  1. /**
  2. * @file
  3. * Styles for primary navigation when JavaScript is disabled.
  4. */
  5. @import "../../base/media-queries.pcss.css";
  6. :root {
  7. --no-js-nav-column-width: 300px;
  8. --no-js-nav-column-gap: var(--sp2);
  9. }
  10. html:not(.js) {
  11. /**
  12. * Mobile styles for primary navigation when JS is disabled.
  13. */
  14. @media (--max-nav) {
  15. & .primary-nav__menu--level-1 {
  16. column-width: var(--no-js-nav-column-width);
  17. column-gap: var(--no-js-nav-column-gap);
  18. }
  19. & .primary-nav__menu-item {
  20. break-inside: avoid;
  21. }
  22. & .site-header__inner__container {
  23. flex-wrap: wrap;
  24. }
  25. & .mobile-buttons {
  26. display: none;
  27. }
  28. & .header-nav {
  29. position: static;
  30. visibility: visible;
  31. flex-basis: 100%;
  32. width: 100%;
  33. max-width: none;
  34. margin-block: var(--sp2) 0;
  35. margin-inline-start: var(--sp2);
  36. margin-inline-end: var(--sp2);
  37. padding-block: var(--sp2) 0;
  38. padding-inline-start: var(--sp2);
  39. padding-inline-end: var(--sp2);
  40. transform: none;
  41. border: solid 1px var(--color--gray-95) !important;
  42. box-shadow: 0 0 36px var(--color--gray-90);
  43. }
  44. & .primary-nav__menu--level-2 {
  45. border-inline-start: 0;
  46. }
  47. & .primary-nav__button-toggle {
  48. display: none;
  49. }
  50. & .primary-nav__menu-link--button.primary-nav__menu-link--has-children {
  51. &::before,
  52. &::after {
  53. content: none;
  54. }
  55. }
  56. }
  57. @media (--nav) {
  58. /**
  59. * Styles for 'always on mobile navigation' when JS is disabled.
  60. */
  61. & body.is-always-mobile-nav {
  62. & .primary-nav__menu--level-1 {
  63. column-width: var(--no-js-nav-column-width);
  64. column-gap: var(--no-js-nav-column-gap);
  65. }
  66. & .primary-nav__menu-item {
  67. break-inside: avoid;
  68. }
  69. & .site-header__inner__container {
  70. flex-wrap: wrap;
  71. }
  72. & .mobile-buttons {
  73. display: none;
  74. }
  75. & .header-nav {
  76. position: static;
  77. visibility: visible;
  78. flex-basis: 100%;
  79. width: 100%;
  80. max-width: none;
  81. margin-block: var(--sp2) 0;
  82. margin-inline-start: var(--sp2);
  83. margin-inline-end: var(--sp2);
  84. padding-block: var(--sp2) 0;
  85. padding-inline-start: var(--sp2);
  86. padding-inline-end: var(--sp2);
  87. transform: none;
  88. border: solid 1px var(--color--gray-95) !important;
  89. box-shadow: 0 0 36px var(--color--gray-90);
  90. }
  91. & .primary-nav__menu--level-2 {
  92. border-inline-start: 0;
  93. }
  94. & .primary-nav__button-toggle {
  95. display: none;
  96. }
  97. & .primary-nav__menu-link--button.primary-nav__menu-link--has-children {
  98. &::before,
  99. &::after {
  100. content: none;
  101. }
  102. }
  103. }
  104. /**
  105. * Styles for traditional dropdown primary navigation when JS is disabled.
  106. */
  107. & body:not(.is-always-mobile-nav) {
  108. & .primary-nav__menu-item--level-1:hover {
  109. & .primary-nav__menu--level-2,
  110. & .primary-nav__menu-🥕 {
  111. visibility: visible;
  112. transform: translate(-50%, 0);
  113. opacity: 1;
  114. }
  115. }
  116. /*
  117. * Cannot combine the focus-within pseudo selector with other selectors,
  118. * because it will break IE11 and earlier versions of MS Edge.
  119. */
  120. & .primary-nav__menu-item--level-1:focus-within {
  121. & .primary-nav__menu--level-2,
  122. & .primary-nav__menu-🥕 {
  123. visibility: visible;
  124. transform: translate(-50%, 0);
  125. opacity: 1;
  126. }
  127. }
  128. }
  129. }
  130. }
RSS feed
Powered by Drupal