_navigation.scss 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. // See https://github.com/WordPress/gutenberg/issues/39052
  2. .wp-block-navigation {
  3. // See https://github.com/WordPress/gutenberg/issues/34648
  4. .has-child .wp-block-navigation__submenu-container {
  5. background-color: var(--wp--custom--navigation--submenu--color--background);
  6. border: var(--wp--custom--navigation--submenu--border--width) var(--wp--custom--navigation--submenu--border--style) var(--wp--custom--navigation--submenu--border--color);
  7. a {
  8. color: var(--wp--custom--navigation--submenu--color--text);
  9. }
  10. }
  11. &.is-responsive {
  12. &:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
  13. background-color: var(--wp--custom--color--background);
  14. color: var(--wp--custom--color--foreground);
  15. padding-left: var(--wp--custom--gap--horizontal);
  16. padding-right: var(--wp--custom--gap--horizontal);
  17. }
  18. ul.wp-block-social-links {
  19. margin: 0;
  20. gap: var(--wp--custom--gap--baseline);
  21. }
  22. .wp-block-navigation__responsive-container-close {
  23. right: var(--wp--custom--gap--horizontal);
  24. top: var(--wp--custom--gap--vertical);
  25. }
  26. }
  27. &.is-responsive .is-menu-open {
  28. font-size: var(--wp--preset--font-size--medium);
  29. .wp-block-navigation__responsive-container-content {
  30. align-items: flex-start;
  31. justify-content: space-between;
  32. flex-wrap: nowrap;
  33. }
  34. .wp-block-navigation__container {
  35. row-gap: 0.5rem;
  36. align-items: flex-start;
  37. flex: unset;
  38. padding-bottom: 0;
  39. }
  40. .wp-block-navigation-item {
  41. align-items: flex-start;
  42. }
  43. .wp-block-navigation__responsive-container-content .has-child { // Needed for specificity to beat the navigation block CSS
  44. .wp-block-navigation__submenu-container {
  45. font-size: var(--wp--custom--font-sizes--normal);
  46. padding-bottom: 0;
  47. padding-left: var(--wp--custom--gap--horizontal);
  48. padding-top: 0.5rem;
  49. row-gap: 0.5rem;
  50. }
  51. }
  52. ul.wp-block-social-links {
  53. justify-content: flex-start;
  54. }
  55. }
  56. }
  57. /* Additional styling for header-minimal */
  58. .wp-block-navigation.blockbase-responsive-navigation-minimal {
  59. &.is-responsive .is-menu-open.wp-block-navigation__responsive-container {
  60. font-size: var(--wp--preset--font-size--large);
  61. font-weight: 200;
  62. .wp-block-navigation__container {
  63. row-gap: 1rem;
  64. }
  65. .wp-block-navigation__responsive-container-content { // Needed for specificity to beat the navigation block CSS
  66. align-items: flex-start;
  67. margin: 0 auto;
  68. max-width: 800px; // This should match the content width
  69. flex-wrap: nowrap;
  70. .wp-block-navigation-item {
  71. row-gap: 0;
  72. > a:hover {
  73. text-decoration-line: underline;
  74. }
  75. &.current-menu-item > a {
  76. text-decoration: underline;
  77. }
  78. }
  79. .wp-block-navigation__container {
  80. flex-grow: 1;
  81. justify-content: center;
  82. }
  83. }
  84. ul.wp-block-social-links {
  85. padding-bottom: calc(var(--wp--custom--gap--vertical) * 2);
  86. }
  87. .wp-block-navigation__responsive-container-content .has-child { // Needed for specificity to beat the navigation block CSS
  88. .wp-block-navigation__submenu-container {
  89. font-size: var(--wp--preset--font-size--medium);
  90. }
  91. }
  92. }
  93. }
  94. /* Additional Styling for header-linear */
  95. .wp-block-navigation.blockbase-responsive-navigation-linear {
  96. .wp-block-navigation-link a:hover {
  97. background: transparent;
  98. }
  99. .wp-block-pages-list__item .wp-block-pages-list__item__link,
  100. .wp-block-navigation-link__content {
  101. color: var(--wp--custom--color--foreground);
  102. &:hover {
  103. text-decoration: underline;
  104. }
  105. }
  106. &:not(.has-background) {
  107. .wp-block-navigation__submenu-container {
  108. background-color: var(--wp--custom--color--background);
  109. border-color: var(--wp--custom--color--tertiary);
  110. }
  111. }
  112. .wp-block-navigation__mobile-menu-open-button {
  113. color: var(--wp--custom--color--primary);
  114. }
  115. &.is-responsive .wp-block-navigation__responsive-container.is-menu-open {
  116. background-color: var(--wp--custom--color--tertiary);
  117. &.has-modal-open {
  118. .wp-block-pages-list__item,
  119. .wp-block-navigation-item {
  120. font-size: var(--wp--custom--font-sizes--normal);
  121. line-height: 50px;
  122. margin: 0;
  123. align-items: flex-end;
  124. &.has-child {
  125. .wp-block-pages-list__item__link,
  126. .wp-block-navigation-link__content {
  127. margin-right: 0;
  128. }
  129. .wp-block-navigation__submenu-container {
  130. gap: 0;
  131. padding: 0 19px 0 0;
  132. border-right: 1px solid var(--wp--custom--color--foreground);
  133. .wp-block-pages-list__item__link,
  134. .wp-block-navigation-item__content {
  135. padding: 0;
  136. font-size: var(--wp--custom--font-sizes--x-small);
  137. line-height: 40px;
  138. }
  139. }
  140. }
  141. }
  142. .wp-block-navigation__container {
  143. align-items: flex-end;
  144. }
  145. .wp-block-navigation__responsive-container-content {
  146. flex-direction: row-reverse;
  147. }
  148. }
  149. .wp-block-social-links {
  150. flex-direction: column;
  151. }
  152. }
  153. }