| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- /* ============================================================
- * lib/components/group-chat.css · 仿企业微信电脑端群聊窗
- * 布局:顶部群名条 + 左成员列表 + 右消息流(电脑端横版)。
- * 颜色全部来自 tokens.css 的 --chat-* / --brand-*,双主题自适应。
- * ============================================================ */
- group-chat { display: block; width: 100%; }
- group-chat .gc {
- max-width: 720px;
- margin: 0 auto;
- background: var(--chat-bg);
- border: 1px solid var(--border-strong);
- border-radius: var(--radius-lg);
- overflow: hidden;
- font-family: var(--font-body);
- font-size: 14px;
- line-height: 1.55;
- color: var(--text-2);
- }
- group-chat .gc-empty { padding: 24px; text-align: center; color: var(--text-4); }
- /* 顶部群名条 */
- group-chat .gc-bar {
- padding: 10px 16px;
- background: var(--chat-bar-bg);
- border-bottom: 1px solid var(--border-subtle);
- text-align: center;
- color: var(--chat-bar-text);
- font-size: 14px;
- letter-spacing: .05em;
- font-weight: 700;
- }
- group-chat .gc-bar .gc-sub {
- display: block;
- font-family: var(--font-mono);
- font-size: 11px;
- font-weight: 400;
- opacity: .7;
- letter-spacing: .08em;
- }
- /* 主体:左成员 + 右消息 */
- group-chat .gc-main { display: flex; min-height: 260px; }
- group-chat .gc-members {
- flex: 0 0 150px;
- border-right: 1px solid var(--border-subtle);
- padding: 10px 8px;
- display: flex;
- flex-direction: column;
- gap: 2px;
- background: var(--bg-1);
- }
- group-chat .gc-mem {
- display: flex; align-items: center; gap: 8px;
- padding: 5px 6px;
- border-radius: var(--radius-sm);
- }
- group-chat .gc-mem:hover { background: var(--bg-2); }
- group-chat .gc-mem-info { min-width: 0; }
- group-chat .gc-mem-name { font-size: 13px; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
- group-chat .gc-mem-role { font-size: 10px; color: var(--brand-2); font-family: var(--font-mono); }
- /* 右侧消息流 */
- group-chat .gc-msgs { flex: 1; padding: 14px; display: flex; flex-direction: column; gap: 12px; overflow-y: auto; max-height: 500px; }
- group-chat .gc-msg { display: flex; gap: 10px; }
- group-chat .gc-ava {
- flex: 0 0 34px; height: 34px;
- border-radius: 6px;
- background: var(--chat-avatar-bg);
- color: var(--chat-avatar-text);
- display: flex; align-items: center; justify-content: center;
- font-size: 13px; font-weight: 700;
- }
- group-chat .gc-box { max-width: 78%; }
- group-chat .gc-name { font-size: 12px; color: var(--brand-2); margin-bottom: 2px; }
- group-chat .gc-text {
- display: inline-block;
- background: var(--chat-in-bg);
- color: var(--chat-in-text);
- padding: 6px 11px;
- border-radius: 2px 8px 8px 8px;
- word-break: break-word;
- }
- group-chat .gc-at {
- color: var(--brand-1);
- font-weight: 600;
- border-radius: 3px;
- background: var(--chat-card-bg);
- padding: 0 3px;
- }
- /* 名片卡 */
- group-chat .gc-card {
- border: 1px solid var(--chat-card-border);
- background: var(--chat-card-bg);
- border-radius: var(--radius-md);
- padding: 9px 12px;
- display: inline-block;
- max-width: 100%;
- }
- group-chat .gc-card-t { color: var(--chat-link); font-weight: 700; font-size: 13px; }
- group-chat .gc-card-s { color: var(--text-3); font-size: 12px; margin-top: 2px; }
- group-chat .gc-card-g { color: var(--brand-ok); font-size: 11px; margin-top: 4px; font-family: var(--font-mono); }
- /* 底部 */
- group-chat .gc-foot {
- padding: 8px 16px;
- background: var(--chat-bar-bg);
- border-top: 1px solid var(--border-subtle);
- color: var(--chat-time);
- font-size: 11px;
- font-family: var(--font-mono);
- text-align: center;
- letter-spacing: .06em;
- }
- /* 收窄版(放入 .s-side 竖形素材列时用,收起左成员栏只留气泡流) */
- group-chat.gc-narrow .gc-members { display: none; }
- group-chat.gc-narrow .gc-main { min-height: auto; }
- group-chat.gc-narrow .gc-msgs { max-height: clamp(320px, 55vh, 520px); overflow-y: auto; padding: 12px; }
- group-chat.gc-narrow .gc-bar { padding: 8px 12px; font-size: 13px; }
|