You are here

card-list.pcss.css in Drupal 10

Cards list.

File

core/themes/claro/css/layout/card-list.pcss.css
View source
  1. /**
  2. * @file
  3. * Cards list.
  4. */
  5. :root {
  6. --card-list-spacing: var(--space-m);
  7. /* Using 100% as base causes issues in IE11. */
  8. --cards-two-cols-width: calc(((99.9% + var(--card-list-spacing)) / 2) - var(--card-list-spacing));
  9. --cards-three-cols-width: calc(((99.9% + var(--card-list-spacing)) / 3) - var(--card-list-spacing));
  10. --cards-four-cols-width: calc(((99.9% + var(--card-list-spacing)) / 4) - var(--card-list-spacing));
  11. }
  12. .card-list {
  13. display: flex;
  14. flex-direction: column;
  15. }
  16. .card-list--two-cols,
  17. .card-list--four-cols {
  18. flex-direction: row;
  19. flex-wrap: wrap;
  20. align-items: stretch;
  21. justify-content: flex-start;
  22. }
  23. .card-list__item {
  24. box-sizing: border-box;
  25. margin-bottom: var(--card-list-spacing);
  26. }
  27. .card-list--two-cols .card-list__item,
  28. .card-list--four-cols .card-list__item {
  29. flex-basis: 100%;
  30. }
  31. /* 36.75rem theme screenshot width */
  32. @media screen and (min-width: 36.75rem) {
  33. .card-list--four-cols .card-list__item {
  34. flex-basis: var(--cards-two-cols-width);
  35. max-width: var(--cards-two-cols-width);
  36. }
  37. .card-list--four-cols .card-list__item {
  38. margin-right: var(--card-list-spacing);
  39. }
  40. [dir="rtl"] .card-list--four-cols .card-list__item {
  41. margin-right: 0;
  42. margin-left: var(--card-list-spacing);
  43. }
  44. .card-list--four-cols .card-list__item:nth-child(even) {
  45. margin-right: 0;
  46. }
  47. [dir="rtl"] .card-list--four-cols .card-list__item:nth-child(even) {
  48. margin-right: 0;
  49. margin-left: 0;
  50. }
  51. }
  52. /* 53.75rem it is width of screenshot image + toolbar width(15rem) + 2rem of margins. */
  53. @media screen and (max-width: 53.75rem) {
  54. .toolbar-tray-open.toolbar-vertical.toolbar-fixed .card-list--four-cols .card-list__item {
  55. flex-basis: 100%;
  56. max-width: 100%;
  57. margin-right: 0;
  58. margin-left: 0;
  59. }
  60. }
  61. @media screen and (min-width: 70rem) {
  62. .card-list--four-cols .card-list__item {
  63. flex-basis: var(--cards-three-cols-width);
  64. max-width: var(--cards-three-cols-width);
  65. }
  66. .card-list--four-cols .card-list__item:nth-child(even) {
  67. margin-right: var(--card-list-spacing);
  68. }
  69. [dir="rtl"] .card-list--four-cols .card-list__item:nth-child(even) {
  70. margin-right: 0;
  71. margin-left: var(--card-list-spacing);
  72. }
  73. .card-list--four-cols .card-list__item:nth-child(3n) {
  74. margin-right: 0;
  75. }
  76. [dir="rtl"] .card-list--four-cols .card-list__item:nth-child(3n) {
  77. margin-right: 0;
  78. margin-left: 0;
  79. }
  80. }
  81. @media screen and (min-width: 85.375rem) {
  82. .card-list--two-cols .card-list__item {
  83. flex-basis: var(--cards-two-cols-width);
  84. max-width: var(--cards-two-cols-width);
  85. margin-right: var(--card-list-spacing);
  86. }
  87. [dir="rtl"] .card-list--two-cols .card-list__item {
  88. margin-right: 0;
  89. margin-left: var(--card-list-spacing);
  90. }
  91. .card-list--two-cols .card-list__item:nth-child(even) {
  92. margin-right: 0;
  93. }
  94. [dir="rtl"] .card-list--two-cols .card-list__item:nth-child(even) {
  95. margin-right: 0;
  96. margin-left: 0;
  97. }
  98. .card-list--four-cols .card-list__item {
  99. flex-basis: var(--cards-four-cols-width);
  100. max-width: var(--cards-four-cols-width);
  101. }
  102. .card-list--four-cols .card-list__item:nth-child(even) {
  103. margin-right: var(--card-list-spacing);
  104. }
  105. [dir="rtl"] .card-list--four-cols .card-list__item:nth-child(even) {
  106. margin-right: 0;
  107. margin-left: var(--card-list-spacing);
  108. }
  109. .card-list--four-cols .card-list__item:nth-child(3n) {
  110. margin-right: var(--card-list-spacing);
  111. }
  112. [dir="rtl"] .card-list--four-cols .card-list__item:nth-child(3n) {
  113. margin-right: 0;
  114. margin-left: var(--card-list-spacing);
  115. }
  116. .card-list--four-cols .card-list__item:nth-child(4n) {
  117. margin-right: 0;
  118. }
  119. [dir="rtl"] .card-list--four-cols .card-list__item:nth-child(4n) {
  120. margin-right: 0;
  121. margin-left: 0;
  122. }
  123. }