nav-primary-button.css

Button that expands second level nav when clicked.

File

core/themes/olivero/css/components/navigation/nav-primary-button.css

View source
  1. /*
  2. * DO NOT EDIT THIS FILE.
  3. * See the following change record for more information,
  4. * https://www.drupal.org/node/3084859
  5. * @preserve
  6. */
  7. /**
  8. * @file
  9. * Button that expands second level nav when clicked.
  10. */
  11. [dir="ltr"] .primary-nav__button-toggle {
  12. padding-left: 0;
  13. }
  14. [dir="rtl"] .primary-nav__button-toggle {
  15. padding-right: 0;
  16. }
  17. [dir="ltr"] .primary-nav__button-toggle {
  18. padding-right: 0;
  19. }
  20. [dir="rtl"] .primary-nav__button-toggle {
  21. padding-left: 0;
  22. }
  23. .primary-nav__button-toggle {
  24. position: relative;
  25. overflow: hidden;
  26. width: 2.25rem;
  27. height: 2.25rem;
  28. margin-top: 0.5625rem; /* Visually align button with menu link text. */
  29. padding-top: 0;
  30. padding-bottom: 0;
  31. cursor: pointer;
  32. text-indent: -62.4375rem;
  33. border: 0;
  34. background: transparent;
  35. -webkit-appearance: none;
  36. }
  37. .primary-nav__button-toggle:focus {
  38. outline: auto 2px #2494db;
  39. outline-offset: 2px;
  40. }
  41. .primary-nav__button-toggle .icon--menu-toggle {
  42. position: absolute;
  43. /* stylelint-disable csstools/use-logical */
  44. top: 50%;
  45. left: 50%;
  46. /* stylelint-enable csstools/use-logical */
  47. width: 1rem;
  48. height: 1rem;
  49. transition: background-color 0.2s;
  50. transform: translate(-50%, -50%);
  51. border-radius: 2px;
  52. }
  53. .primary-nav__button-toggle .icon--menu-toggle:before,
  54. .primary-nav__button-toggle .icon--menu-toggle:after {
  55. position: absolute;
  56. /* stylelint-disable csstools/use-logical */
  57. top: 50%;
  58. left: 50%;
  59. /* stylelint-enable csstools/use-logical */
  60. width: 1.125rem;
  61. height: 0;
  62. content: "";
  63. transform: translate(-50%, -50%);
  64. /* Intentionally not using CSS logical properties. */
  65. border-top: solid 3px #2494db;
  66. }
  67. .primary-nav__button-toggle .icon--menu-toggle:after {
  68. transition: opacity 0.2s;
  69. transform: translate(-50%, -50%) rotate(90deg);
  70. }
  71. .primary-nav__button-toggle[aria-expanded="true"] .icon--menu-toggle:after {
  72. opacity: 0;
  73. }
  74. /* aria-hidden attribute is removed by JS. Button is non-functional
  75. until JS is enabled.
  76. */
  77. .primary-nav__button-toggle[aria-hidden="true"] {
  78. pointer-events: none;
  79. }
  80. @media (min-width: 75rem) {
  81. [dir="ltr"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle {
  82. margin-right: -2.25rem;
  83. }
  84. [dir="rtl"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle {
  85. margin-left: -2.25rem;
  86. }
  87. body:not(.is-always-mobile-nav) .primary-nav__button-toggle {
  88. flex-shrink: 0;
  89. -ms-grid-row-align: stretch;
  90. align-self: stretch;
  91. width: 2.75rem;
  92. height: auto;
  93. margin-top: 0;
  94. }
  95. body:not(.is-always-mobile-nav) .primary-nav__button-toggle:focus {
  96. border: 0;
  97. outline: 0;
  98. }
  99. body:not(.is-always-mobile-nav) .primary-nav__button-toggle:focus .icon--menu-toggle {
  100. border: solid 2px #0d77b5;
  101. }
  102. body:not(.is-always-mobile-nav) .primary-nav__button-toggle:active {
  103. /* Necessary for Safari. */
  104. color: currentColor;
  105. }
  106. body:not(.is-always-mobile-nav) .primary-nav__button-toggle[aria-expanded="true"] .icon--menu-toggle:after {
  107. opacity: 0.8;
  108. }
  109. [dir="ltr"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle {
  110. left: 0.1875rem;
  111. }
  112. [dir="rtl"] body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle {
  113. right: 0.1875rem;
  114. }
  115. body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle {
  116. width: 1.125rem;
  117. transform: translateY(-50%);
  118. border-radius: 0.25rem;
  119. background-color: #fff;
  120. }
  121. body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle:before {
  122. content: none;
  123. }
  124. body:not(.is-always-mobile-nav) .primary-nav__button-toggle .icon--menu-toggle:after {
  125. /* stylelint-disable csstools/use-logical */
  126. top: calc(50% - 2px);
  127. left: 0.1875rem;
  128. /* stylelint-enable csstools/use-logical */
  129. width: 0.5rem;
  130. height: 0.5rem;
  131. content: "";
  132. transform: translateY(-50%) rotate(45deg);
  133. opacity: 0.8;
  134. /* Intentionally not using CSS logical properties. */
  135. border-top: none;
  136. border-right: solid 2px currentColor;
  137. border-bottom: solid 2px currentColor;
  138. background: transparent;
  139. }
  140. }

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.