group-chat.css 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /* ============================================================
  2. * lib/components/group-chat.css · 仿企业微信电脑端群聊窗
  3. * 布局:顶部群名条 + 左成员列表 + 右消息流(电脑端横版)。
  4. * 颜色全部来自 tokens.css 的 --chat-* / --brand-*,双主题自适应。
  5. * ============================================================ */
  6. group-chat { display: block; width: 100%; }
  7. group-chat .gc {
  8. max-width: 720px;
  9. margin: 0 auto;
  10. background: var(--chat-bg);
  11. border: 1px solid var(--border-strong);
  12. border-radius: var(--radius-lg);
  13. overflow: hidden;
  14. font-family: var(--font-body);
  15. font-size: 14px;
  16. line-height: 1.55;
  17. color: var(--text-2);
  18. }
  19. group-chat .gc-empty { padding: 24px; text-align: center; color: var(--text-4); }
  20. /* 顶部群名条 */
  21. group-chat .gc-bar {
  22. padding: 10px 16px;
  23. background: var(--chat-bar-bg);
  24. border-bottom: 1px solid var(--border-subtle);
  25. text-align: center;
  26. color: var(--chat-bar-text);
  27. font-size: 14px;
  28. letter-spacing: .05em;
  29. font-weight: 700;
  30. }
  31. group-chat .gc-bar .gc-sub {
  32. display: block;
  33. font-family: var(--font-mono);
  34. font-size: 11px;
  35. font-weight: 400;
  36. opacity: .7;
  37. letter-spacing: .08em;
  38. }
  39. /* 主体:左成员 + 右消息 */
  40. group-chat .gc-main { display: flex; min-height: 260px; }
  41. group-chat .gc-members {
  42. flex: 0 0 150px;
  43. border-right: 1px solid var(--border-subtle);
  44. padding: 10px 8px;
  45. display: flex;
  46. flex-direction: column;
  47. gap: 2px;
  48. background: var(--bg-1);
  49. }
  50. group-chat .gc-mem {
  51. display: flex; align-items: center; gap: 8px;
  52. padding: 5px 6px;
  53. border-radius: var(--radius-sm);
  54. }
  55. group-chat .gc-mem:hover { background: var(--bg-2); }
  56. group-chat .gc-mem-info { min-width: 0; }
  57. group-chat .gc-mem-name { font-size: 13px; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  58. group-chat .gc-mem-role { font-size: 10px; color: var(--brand-2); font-family: var(--font-mono); }
  59. /* 右侧消息流 */
  60. group-chat .gc-msgs { flex: 1; padding: 14px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; max-height: 500px; }
  61. group-chat .gc-msg { display: flex; gap: 10px; }
  62. group-chat .gc-ava {
  63. flex: 0 0 34px; height: 34px;
  64. border-radius: 6px;
  65. background: var(--chat-avatar-bg);
  66. color: var(--chat-avatar-text);
  67. display: flex; align-items: center; justify-content: center;
  68. font-size: 13px; font-weight: 700;
  69. }
  70. group-chat .gc-box { max-width: 78%; }
  71. group-chat .gc-name { font-size: 12px; color: var(--brand-2); margin-bottom: 2px; }
  72. group-chat .gc-text {
  73. display: inline-block;
  74. background: var(--chat-in-bg);
  75. color: var(--chat-in-text);
  76. padding: 6px 11px;
  77. border-radius: 2px 8px 8px 8px;
  78. word-break: break-word;
  79. }
  80. group-chat .gc-at {
  81. color: var(--brand-1);
  82. font-weight: 600;
  83. border-radius: 3px;
  84. background: var(--chat-card-bg);
  85. padding: 0 3px;
  86. }
  87. /* 名片卡 */
  88. group-chat .gc-card {
  89. border: 1px solid var(--chat-card-border);
  90. background: var(--chat-card-bg);
  91. border-radius: var(--radius-md);
  92. padding: 9px 12px;
  93. display: inline-block;
  94. max-width: 100%;
  95. }
  96. group-chat .gc-card-t { color: var(--chat-link); font-weight: 700; font-size: 13px; }
  97. group-chat .gc-card-s { color: var(--text-3); font-size: 12px; margin-top: 2px; }
  98. group-chat .gc-card-g { color: var(--brand-ok); font-size: 11px; margin-top: 4px; font-family: var(--font-mono); }
  99. /* 底部 */
  100. group-chat .gc-foot {
  101. padding: 8px 16px;
  102. background: var(--chat-bar-bg);
  103. border-top: 1px solid var(--border-subtle);
  104. color: var(--chat-time);
  105. font-size: 11px;
  106. font-family: var(--font-mono);
  107. text-align: center;
  108. letter-spacing: .06em;
  109. }
  110. /* 收窄版(放入 .s-side 竖形素材列时用,收起左成员栏只留气泡流) */
  111. group-chat.gc-narrow .gc-members { display: none; }
  112. group-chat.gc-narrow .gc-main { min-height: auto; }
  113. group-chat.gc-narrow .gc-msgs { max-height: clamp(320px, 55vh, 520px); overflow-y: auto; padding: 12px; }
  114. group-chat.gc-narrow .gc-bar { padding: 8px 12px; font-size: 13px; }