layout-content-narrow.pcss.css

Same filename in other branches
  1. 10 core/themes/olivero/css/layout/layout-content-narrow.pcss.css
  2. 11.x core/themes/olivero/css/layout/layout-content-narrow.pcss.css

Grid system definition for the content narrow layout.

File

core/themes/olivero/css/layout/layout-content-narrow.pcss.css

View source
  1. /**
  2. * @file
  3. * Grid system definition for the content narrow layout.
  4. */
  5. @import "../base/variables.pcss.css";
  6. .layout--content-narrow,
  7. .layout--pass--content-narrow > * {
  8. grid-column: 1 / 7;
  9. width: 100%;
  10. @media (--grid-md) {
  11. grid-column: 2 / 14;
  12. }
  13. @media (--lg) {
  14. grid-column: 3 / 11;
  15. }
  16. }
  17. /*
  18. If .layout--content-narrow is nested within any of the following, allocate the appropriate
  19. amount of columns within its parent .grid-full.
  20. - .layout--content-narrow class.
  21. - Element that's inheriting the layout--content-narrow styles from its parent region.
  22. - .layout--content-medium class.
  23. - Element that's inheriting the layout--content-medium styles from its parent region.
  24. */
  25. .layout--content-narrow,
  26. .layout--pass--content-narrow > *,
  27. .layout--content-medium,
  28. .layout--pass--content-medium > * {
  29. & .layout--content-narrow,
  30. & .layout--pass--content-narrow > * {
  31. @media (--grid-md) {
  32. grid-column: 1 / 13;
  33. }
  34. @media (--lg) {
  35. grid-column: 1 / 9;
  36. }
  37. }
  38. }
  39. /*
  40. Special grid-breaking treatment for text-content elements that
  41. reside in a content-narrow layout.
  42. */
  43. .layout--content-narrow,
  44. .layout--pass--content-narrow > * {
  45. &.text-content,
  46. & .text-content {
  47. & blockquote {
  48. &:before {
  49. @media (--grid-md) {
  50. inset-inline-start: calc(-1 * (var(--grid-col-width--md) + var(--grid-gap--md)));
  51. }
  52. @media (--lg) {
  53. inset-inline-start: calc(-1 * (var(--grid-col-width--lg) + var(--grid-gap--lg)));
  54. }
  55. @media (--nav) {
  56. inset-inline-start: calc(-1 * (var(--grid-col-width--nav) + var(--grid-gap--nav)));
  57. }
  58. @media (--grid-max) {
  59. inset-inline-start: calc(-1 * (var(--grid-col-width--max) + var(--grid-gap--max)));
  60. }
  61. }
  62. &:after {
  63. @media (--grid-md) {
  64. inset-inline-start: calc(-1 * (var(--grid-col-width--md) + var(--grid-gap--md)));
  65. width: var(--sp);
  66. height: calc(100% - 45px);
  67. margin-inline-start: 2px;
  68. }
  69. @media (--lg) {
  70. inset-inline-start: calc(-1 * (var(--grid-col-width--lg) + var(--grid-gap--lg)));
  71. }
  72. @media (--nav) {
  73. inset-inline-start: calc(-1 * (var(--grid-col-width--nav) + var(--grid-gap--nav)));
  74. }
  75. @media (--grid-max) {
  76. inset-inline-start: calc(-1 * (var(--grid-col-width--max) + var(--grid-gap--max)));
  77. }
  78. }
  79. @media (--grid-md) {
  80. width: calc(10 * var(--grid-col-width--md) + 9 * var(--grid-gap--md));
  81. margin-block: var(--sp3);
  82. padding-inline-start: 0;
  83. }
  84. @media (--lg) {
  85. width: calc(10 * var(--grid-col-width--lg) + 9 * var(--grid-gap--lg));
  86. }
  87. @media (--nav) {
  88. width: calc(10 * var(--grid-col-width--nav) + 9 * var(--grid-gap--nav));
  89. }
  90. @media (--grid-max) {
  91. width: calc(10 * var(--grid-col-width--max) + 9 * var(--grid-gap--max));
  92. }
  93. }
  94. & pre {
  95. @media (--grid-md) {
  96. margin-block: var(--sp3);
  97. }
  98. @media (--lg) {
  99. width: calc(12 * var(--grid-col-width--lg) + 11 * var(--grid-gap--lg));
  100. margin-inline-start: calc(-1 * (var(--grid-col-width--lg) + var(--grid-gap--lg)));
  101. }
  102. @media (--nav) {
  103. width: calc(12 * var(--grid-col-width--nav) + 11 * var(--grid-gap--nav));
  104. margin-inline-start: calc(-1 * (var(--grid-col-width--nav) + var(--grid-gap--nav)));
  105. }
  106. @media (--grid-max) {
  107. width: calc(12 * var(--grid-col-width--max) + 11 * var(--grid-gap--max));
  108. margin-inline-start: calc(-1 * (var(--grid-col-width--max) + var(--grid-gap--max)));
  109. }
  110. }
  111. }
  112. }
  113. /**
  114. *
     and 
    elements should not break containers and overflow
  115. * into sidebar region when present.
  116. */
  117. .sidebar-grid {
  118. & .layout--content-narrow,
  119. & .layout--pass--content-narrow > * {
  120. &.text-content,
  121. & .text-content {
  122. & blockquote,
  123. & pre {
  124. width: auto;
  125. }
  126. }
  127. }
  128. }

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