You are here

site-header.pcss.css in Drupal 10

Same filename and directory in other branches
  1. 9 core/themes/olivero/css/components/site-header.pcss.css

Site header.

File

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