nav-button-mobile.pcss.css

Nav Button Mobile.

File

core/themes/olivero/css/components/navigation/nav-button-mobile.pcss.css

View source
  1. /**
  2. * @file
  3. * Nav Button Mobile.
  4. */
  5. @import "../../base/variables.pcss.css";
  6. .mobile-nav-button {
  7. position: relative;
  8. z-index: 505; /* Appear above mobile nav. */
  9. display: flex;
  10. align-items: center;
  11. align-self: center;
  12. width: var(--sp2);
  13. height: var(--sp2);
  14. margin-inline-start: auto;
  15. margin-inline-end: -6px;
  16. padding-block: 0;
  17. padding-inline-start: 6px;
  18. padding-inline-end: 6px;
  19. cursor: pointer;
  20. border: none;
  21. background: transparent;
  22. appearance: none;
  23. &:focus {
  24. outline: solid 2px var(--color--blue-20);
  25. }
  26. &:active {
  27. color: inherit; /* Override Safari's default UA styles. */
  28. }
  29. @media (--sm) {
  30. display: inline-flex;
  31. width: auto;
  32. padding-inline-start: var(--sp);
  33. }
  34. }
  35. /* Text that says "menu". */
  36. .mobile-nav-button__label {
  37. position: absolute;
  38. display: block;
  39. overflow: hidden;
  40. clip: rect(1px, 1px, 1px, 1px);
  41. width: 1px;
  42. height: 1px;
  43. word-wrap: normal;
  44. @media (--sm) {
  45. position: static;
  46. overflow: visible;
  47. clip: auto;
  48. width: auto;
  49. height: auto;
  50. margin-inline-end: 12px;
  51. letter-spacing: 0.05em;
  52. font-size: 14px;
  53. font-weight: 600;
  54. }
  55. }
  56. .mobile-nav-button__icon {
  57. position: relative;
  58. display: block;
  59. width: var(--sp2);
  60. height: 0;
  61. border-top: solid 3px var(--color--blue-50);
  62. &:before {
  63. position: absolute;
  64. inset-block-start: -11px;
  65. inset-inline-start: 0;
  66. width: 100%;
  67. height: 0;
  68. content: "";
  69. transition: all 0.2s;
  70. border-top: solid 3px var(--color--blue-50);
  71. }
  72. &:after {
  73. position: absolute;
  74. inset-block: auto -8px;
  75. inset-inline-start: 0;
  76. width: 100%;
  77. height: 0;
  78. content: "";
  79. transition: all 0.2s;
  80. border-top: solid 3px var(--color--blue-50);
  81. }
  82. }
  83. .mobile-nav-button[aria-expanded="true"] .mobile-nav-button__icon {
  84. border-top: 0;
  85. &:before {
  86. inset-block-start: 0;
  87. transform: rotate(-45deg);
  88. }
  89. &:after {
  90. inset-block-start: 0;
  91. transform: rotate(45deg);
  92. }
  93. }

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