You are here

card.pcss.css in Drupal 10

Card.

File

core/themes/claro/css/components/card.pcss.css
View source
  1. /**
  2. * @file
  3. * Card.
  4. */
  5. :root {
  6. --card-bg-color: var(--color-white);
  7. --card-border-size: 1px;
  8. --card-border-color: var(--color-gray-200-o-80);
  9. --card-border-radius-size: var(--base-border-radius);
  10. --card-image-border-radius-size: calc(var(--card-border-radius-size) - var(--card-border-size));
  11. --card-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  12. }
  13. .card {
  14. display: flex;
  15. flex-direction: column;
  16. align-items: stretch;
  17. justify-items: flex-start;
  18. padding: 0;
  19. border: var(--card-border-size) solid var(--card-border-color);
  20. border-radius: var(--card-border-radius-size);
  21. background-color: var(--card-bg-color);
  22. box-shadow: var(--card-box-shadow);
  23. }
  24. /* 588px theme screenshot width */
  25. @media screen and (min-width: 36.75rem) {
  26. .card--horizontal {
  27. flex-direction: row;
  28. }
  29. .toolbar-tray-open.toolbar-vertical.toolbar-fixed .card--horizontal {
  30. flex-direction: column;
  31. }
  32. }
  33. /* 53.75rem it is width of screenshot image + toolbar width(15rem) + 2rem of margins. */
  34. @media screen and (min-width: 53.75rem) {
  35. .toolbar-tray-open.toolbar-vertical.toolbar-fixed .card--horizontal {
  36. flex-direction: row;
  37. }
  38. }
  39. /**
  40. * Card image.
  41. */
  42. .card__image {
  43. overflow: hidden;
  44. border-radius: var(--card-image-border-radius-size) var(--card-image-border-radius-size) 0 0;
  45. line-height: 0;
  46. }
  47. @media screen and (min-width: 36.75rem) {
  48. .card--horizontal .card__image {
  49. flex-basis: 35%;
  50. border-radius: var(--card-image-border-radius-size) 0 0 var(--card-image-border-radius-size); /* LTR */
  51. }
  52. [dir="rtl"] .card--horizontal .card__image {
  53. border-radius: 0 var(--card-image-border-radius-size) var(--card-image-border-radius-size) 0;
  54. }
  55. }
  56. /* 53.75rem it is width of screenshot image + toolbar width(15rem) + 2rem of margins. */
  57. @media screen and (max-width: 53.75rem) {
  58. .toolbar-tray-open.toolbar-vertical.toolbar-fixed .card--horizontal .card__image {
  59. flex-basis: auto;
  60. }
  61. }
  62. @media screen and (min-width: 85.375rem) {
  63. .card--horizontal .card__image {
  64. flex-basis: 45%;
  65. }
  66. /* .card--vertical .card__image {
  67. flex-basis: auto;
  68. } */
  69. }
  70. /**
  71. * Card content.
  72. */
  73. .card__content-wrapper {
  74. display: flex;
  75. flex-direction: column;
  76. flex-grow: 1;
  77. flex-shrink: 0;
  78. box-sizing: border-box;
  79. padding: var(--space-l);
  80. }
  81. @media screen and (min-width: 36.75rem) {
  82. .card--horizontal .card__content-wrapper {
  83. flex-basis: 65%;
  84. }
  85. /* Card content with image. */
  86. .card--horizontal .card__image ~ .card__content-wrapper {
  87. padding-left: var(--space-m);
  88. }
  89. [dir="rtl"] .card--horizontal .card__image ~ .card__content-wrapper {
  90. padding-right: var(--space-m);
  91. padding-left: var(--space-l);
  92. }
  93. }
  94. @media screen and (max-width: 53.75rem) {
  95. .toolbar-tray-open.toolbar-vertical.toolbar-fixed .card--horizontal .card__content-wrapper {
  96. flex-basis: auto;
  97. }
  98. }
  99. @media screen and (min-width: 85.375rem) {
  100. .card--horizontal .card__content-wrapper {
  101. flex-basis: 55%;
  102. }
  103. }
  104. /**
  105. * Card content.
  106. */
  107. .card__content {
  108. flex-grow: 1;
  109. }
  110. /**
  111. * Card content items (title, description).
  112. */
  113. .card__content-item {
  114. margin-top: 0;
  115. margin-bottom: var(--space-m);
  116. }
  117. .card__content-item:last-child {
  118. margin-bottom: 0;
  119. }
  120. /**
  121. * Card footer.
  122. */
  123. .card__footer {
  124. /**
  125. * Without specifying flex-shrink, IE11 will increase footer height if an
  126. * interactive element inside is hovered or focused.
  127. */
  128. flex-shrink: 0;
  129. order: 100;
  130. margin-top: var(--space-l);
  131. }
  132. .card__footer .action-links,
  133. [dir="rtl"] .card__footer .action-links {
  134. margin-top: 0;
  135. margin-bottom: 0;
  136. text-align: right; /* LTR */
  137. }
  138. [dir="rtl"] .card__footer .action-links {
  139. text-align: left;
  140. }