Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

teaser.pcss.css

@import "../../css/base/media-queries.pcss.css";

.teaser {
  position: relative; /* Anchor after pseudo-element. */
  padding-block-end: var(--sp1-5);

  &::after {
    position: absolute;
    inset-block-end: 0;
    width: var(--sp3);
    height: 0;
    content: "";
    /* Intentionally not using CSS logical properties. */
    border-top: solid 2px var(--color--gray-95);
  }

  @media (--lg) {
    padding-block-end: var(--sp3);
  }
}

.teaser__content {
  display: grid;
  grid-auto-rows: max-content;
  gap: var(--sp);

  .field:not(:last-child) {
    margin-block-end: 0;
  }

  @media (--lg) {
    gap: var(--sp2);
  }
}

.teaser__image {
  flex-shrink: 0;
  margin: 0;

  &:empty {
    display: none;

    & + .teaser__title {
      flex-basis: auto;
    }
  }

  & a {
    display: block;
  }

  & img {
    width: var(--sp3-5);
    height: var(--sp3-5);
    object-fit: cover;
    border-radius: 50%;

    @media (--lg) {
      width: var(--grid-col-width);
      height: var(--grid-col-width);
    }
  }

  @media (--lg) {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: calc(-1 * ((var(--grid-col-width) + var(--grid-gap))));
    margin: 0;
  }
}

.teaser__meta {
  margin-block-end: var(--sp);
}

.teaser__title {
  margin-block: 0;
  flex-basis: calc(100% - var(--sp4-5));
  color: var(--color-text-neutral-loud);
  font-size: 24px;
  line-height: var(--line-height-base);

  @media (--lg) {
    flex-basis: auto;
    font-size: var(--sp2);
    line-height: var(--sp3);
  }
}

.teaser__top {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
  gap: var(--sp1);
  margin-block-end: var(--sp1);

  @media (--lg) {
    position: relative; /* Anchor the image */
  }
}

File

core/themes/olivero/components/teaser/teaser.pcss.css

View source
  1. @import "../../css/base/media-queries.pcss.css";
  2. .teaser {
  3. position: relative; /* Anchor after pseudo-element. */
  4. padding-block-end: var(--sp1-5);
  5. &::after {
  6. position: absolute;
  7. inset-block-end: 0;
  8. width: var(--sp3);
  9. height: 0;
  10. content: "";
  11. /* Intentionally not using CSS logical properties. */
  12. border-top: solid 2px var(--color--gray-95);
  13. }
  14. @media (--lg) {
  15. padding-block-end: var(--sp3);
  16. }
  17. }
  18. .teaser__content {
  19. display: grid;
  20. grid-auto-rows: max-content;
  21. gap: var(--sp);
  22. .field:not(:last-child) {
  23. margin-block-end: 0;
  24. }
  25. @media (--lg) {
  26. gap: var(--sp2);
  27. }
  28. }
  29. .teaser__image {
  30. flex-shrink: 0;
  31. margin: 0;
  32. &:empty {
  33. display: none;
  34. & + .teaser__title {
  35. flex-basis: auto;
  36. }
  37. }
  38. & a {
  39. display: block;
  40. }
  41. & img {
  42. width: var(--sp3-5);
  43. height: var(--sp3-5);
  44. object-fit: cover;
  45. border-radius: 50%;
  46. @media (--lg) {
  47. width: var(--grid-col-width);
  48. height: var(--grid-col-width);
  49. }
  50. }
  51. @media (--lg) {
  52. position: absolute;
  53. inset-block-start: 0;
  54. inset-inline-start: calc(-1 * ((var(--grid-col-width) + var(--grid-gap))));
  55. margin: 0;
  56. }
  57. }
  58. .teaser__meta {
  59. margin-block-end: var(--sp);
  60. }
  61. .teaser__title {
  62. margin-block: 0;
  63. flex-basis: calc(100% - var(--sp4-5));
  64. color: var(--color-text-neutral-loud);
  65. font-size: 24px;
  66. line-height: var(--line-height-base);
  67. @media (--lg) {
  68. flex-basis: auto;
  69. font-size: var(--sp2);
  70. line-height: var(--sp3);
  71. }
  72. }
  73. .teaser__top {
  74. display: flex;
  75. flex-wrap: nowrap;
  76. align-items: center;
  77. margin: 0;
  78. gap: var(--sp1);
  79. margin-block-end: var(--sp1);
  80. @media (--lg) {
  81. position: relative; /* Anchor the image */
  82. }
  83. }
RSS feed
Powered by Drupal