SponsorCard.css 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. .sponsor-card {
  2. position: relative;
  3. display: flex;
  4. align-items: stretch;
  5. min-width: 0;
  6. border: 1px solid var(--ant-color-border-secondary);
  7. border-radius: var(--ant-border-radius-lg, 8px);
  8. background: var(--bg-card, var(--ant-color-fill-quaternary));
  9. transition:
  10. border-color 0.2s,
  11. background 0.2s;
  12. }
  13. .sponsor-card:hover {
  14. border-color: var(--ant-color-primary);
  15. }
  16. .sponsor-main {
  17. display: flex;
  18. flex: 1;
  19. align-items: center;
  20. gap: 12px;
  21. min-width: 0;
  22. padding: 12px 16px;
  23. color: var(--ant-color-text);
  24. text-decoration: none;
  25. }
  26. .sponsor-main:hover,
  27. .sponsor-main:focus-visible {
  28. color: var(--ant-color-text);
  29. outline: none;
  30. }
  31. .sponsor-logo {
  32. flex: 0 0 auto;
  33. width: 40px;
  34. height: 40px;
  35. border-radius: 8px;
  36. object-fit: contain;
  37. background: var(--ant-color-bg-elevated);
  38. }
  39. .sponsor-logo-fallback {
  40. display: inline-flex;
  41. align-items: center;
  42. justify-content: center;
  43. font-weight: 600;
  44. font-size: 18px;
  45. color: var(--ant-color-primary);
  46. background: var(--ant-color-primary-bg);
  47. }
  48. .sponsor-body {
  49. display: flex;
  50. flex: 1;
  51. flex-direction: column;
  52. gap: 2px;
  53. min-width: 0;
  54. }
  55. .sponsor-head {
  56. display: flex;
  57. align-items: center;
  58. gap: 8px;
  59. min-width: 0;
  60. }
  61. .sponsor-tag {
  62. flex: 0 0 auto;
  63. padding: 0 6px;
  64. border: 1px solid var(--ant-color-border);
  65. border-radius: 4px;
  66. font-size: 11px;
  67. line-height: 18px;
  68. color: var(--ant-color-text-tertiary);
  69. }
  70. .sponsor-title {
  71. overflow: hidden;
  72. font-weight: 600;
  73. white-space: nowrap;
  74. text-overflow: ellipsis;
  75. }
  76. .sponsor-text {
  77. font-size: 13px;
  78. color: var(--ant-color-text-secondary);
  79. }
  80. .sponsor-visit {
  81. flex: 0 0 auto;
  82. font-size: 13px;
  83. color: var(--ant-color-primary);
  84. white-space: nowrap;
  85. }
  86. .sponsor-close {
  87. flex: 0 0 auto;
  88. align-self: flex-start;
  89. width: 28px;
  90. height: 28px;
  91. margin: 6px 6px 0 0;
  92. padding: 0;
  93. border: none;
  94. border-radius: 6px;
  95. background: transparent;
  96. color: var(--ant-color-text-tertiary);
  97. cursor: pointer;
  98. }
  99. .sponsor-close:hover,
  100. .sponsor-close:focus-visible {
  101. color: var(--ant-color-text);
  102. background: var(--ant-color-fill-tertiary);
  103. outline: none;
  104. }
  105. [dir='rtl'] .sponsor-close {
  106. margin: 6px 0 0 6px;
  107. }
  108. .sponsor-card-compact .sponsor-main {
  109. gap: 10px;
  110. padding: 8px 10px;
  111. }
  112. .sponsor-card-compact .sponsor-logo {
  113. width: 32px;
  114. height: 32px;
  115. }
  116. .sponsor-card-compact .sponsor-head {
  117. flex-direction: column;
  118. align-items: flex-start;
  119. gap: 2px;
  120. }
  121. .sponsor-card-compact .sponsor-title {
  122. display: -webkit-box;
  123. max-width: 100%;
  124. font-size: 13px;
  125. white-space: normal;
  126. -webkit-line-clamp: 2;
  127. -webkit-box-orient: vertical;
  128. }
  129. .sponsor-card-compact .sponsor-text {
  130. display: -webkit-box;
  131. overflow: hidden;
  132. font-size: 12px;
  133. -webkit-line-clamp: 2;
  134. -webkit-box-orient: vertical;
  135. }
  136. .sponsor-card-compact .sponsor-close {
  137. width: 22px;
  138. height: 22px;
  139. margin: 4px 4px 0 0;
  140. font-size: 11px;
  141. }
  142. .sponsor-card-card {
  143. height: 100%;
  144. }
  145. .sponsor-card-card .sponsor-main {
  146. flex-direction: column;
  147. align-items: flex-start;
  148. padding: 16px;
  149. }
  150. .sponsor-card-card .sponsor-logo {
  151. width: 56px;
  152. height: 56px;
  153. }
  154. .sponsor-card-card .sponsor-visit {
  155. margin-top: auto;
  156. }
  157. .sponsor-card-icon {
  158. justify-content: center;
  159. padding: 6px;
  160. border-color: transparent;
  161. background: transparent;
  162. }
  163. .sponsor-card-icon .sponsor-logo {
  164. width: 32px;
  165. height: 32px;
  166. }
  167. @media (max-width: 576px) {
  168. .sponsor-card-banner .sponsor-main {
  169. flex-wrap: wrap;
  170. padding: 10px 12px;
  171. }
  172. .sponsor-card-banner .sponsor-visit {
  173. flex-basis: 100%;
  174. padding-inline-start: 52px;
  175. }
  176. }
  177. .sponsor-card-card {
  178. transition:
  179. border-color 0.2s,
  180. transform 0.2s,
  181. box-shadow 0.2s;
  182. }
  183. .sponsor-card-card:hover {
  184. transform: translateY(-2px);
  185. box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  186. }