site-header.css

Same filename and directory in other branches
  1. 10 core/themes/olivero/css/components/site-header.css
  2. 11.x core/themes/olivero/css/components/site-header.css
  3. 9 core/themes/olivero/css/components/site-header.css

Site header.

File

core/themes/olivero/css/components/site-header.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. * Site header.
  10. */
  11. .site-header {
  12. position: relative;
  13. /**
  14. * Ensure mobile site header is always above other elements including
  15. * contextual links.
  16. */
  17. z-index: 101;
  18. @media (min-width: 75rem) {
  19. /* Necessary to keep the content from jumping up when header transitions to fixed. */
  20. min-height: var(--site-header-height-wide);
  21. border-block-end: solid 1px transparent; /* Will show in Windows high contrast mode. */
  22. }
  23. }
  24. .site-header__initial {
  25. position: relative;
  26. z-index: 102;
  27. display: flex;
  28. align-items: flex-end;
  29. align-self: stretch;
  30. background-color: var(--color--primary-50);
  31. }
  32. .site-header__fixable {
  33. display: flex;
  34. align-items: flex-end;
  35. transition: all 0.5s;
  36. &.is-fixed {
  37. @media (min-width: 75rem) {
  38. &:not(.is-expanded) {
  39. pointer-events: none;
  40. }
  41. }
  42. }
  43. }
  44. @media (min-width: 75rem) {
  45. body:not(.is-always-mobile-nav) {
  46. & .site-header__fixable.is-fixed {
  47. position: fixed;
  48. z-index: 102; /* Appear above body content that is position: relative */
  49. inset-block-start: calc(var(--drupal-displace-offset-top, 0px) - var(--sp4));
  50. max-width: var(--max-bg-color);
  51. }
  52. }
  53. }
  54. .site-header__inner {
  55. position: relative;
  56. z-index: 1; /* Appear in front of Drupal's tabs. */
  57. flex-grow: 1;
  58. width: calc(100vw - var(--content-left) - var(--drupal-displace-offset-left, 0px) - var(--drupal-displace-offset-right, 0px));
  59. background: var(--color--white);
  60. }
  61. /*
  62. * Only apply transition styles when JS is loaded. This
  63. * works around https://bugs.chromium.org/p/chromium/issues/detail?id=332189
  64. */
  65. html.js body:not(.is-always-mobile-nav) .site-header__inner {
  66. @media (min-width: 75rem) {
  67. transition:
  68. opacity 0.3s,
  69. transform 0.3s,
  70. box-shadow 0.3s;
  71. }
  72. }
  73. .site-header__fixable.is-expanded .site-header__inner {
  74. @media (min-width: 75rem) {
  75. box-shadow: -36px 1px 36px rgb(0, 0, 0, 0.08); /* LTR */
  76. }
  77. }
  78. [dir="rtl"] .site-header__fixable.is-expanded .site-header__inner {
  79. @media (min-width: 75rem) {
  80. box-shadow: 36px 1px 36px rgb(0, 0, 0, 0.08);
  81. }
  82. }
  83. /* Hide the desktop nav when it's fixed and not active. */
  84. body:not(.is-always-mobile-nav) .site-header__fixable.is-fixed:not(.is-expanded) .site-header__inner {
  85. @media (min-width: 75rem) {
  86. transform: translateX(-101%); /* LTR */
  87. opacity: 0;
  88. }
  89. }
  90. [dir="rtl"] body:not(.is-always-mobile-nav) .site-header__fixable.is-fixed:not(.is-expanded) .site-header__inner {
  91. @media (min-width: 75rem) {
  92. transform: translateX(101%);
  93. }
  94. }
  95. .site-header__inner__container {
  96. display: flex;
  97. justify-content: space-between;
  98. }
  99. /* Reset width set by layout.css */
  100. body.is-fixed .site-header__inner__container {
  101. width: auto;
  102. }

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