45 lines
1.0 KiB
CSS
45 lines
1.0 KiB
CSS
/* LottieMessageBubble 动画消息气泡(CSS keyframes 模拟) */
|
|
|
|
.bubbleRow {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--spacing-2, 8px);
|
|
padding: var(--spacing-1, 4px) 0;
|
|
}
|
|
|
|
.bubble {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--responsive-inline-gap-xs, 4px);
|
|
padding: var(--spacing-3, 12px) var(--spacing-4, 16px);
|
|
background: #fff;
|
|
border-radius: var(--radius-xxl, 24px);
|
|
border-top-left-radius: 0;
|
|
min-width: var(--bubble-min-width, 60px);
|
|
min-height: clamp(38px, 7.407vw, 40px);
|
|
box-shadow: var(--shadow-input-box, 0 1px 2px rgba(0, 0, 0, 0.1));
|
|
}
|
|
|
|
.dot {
|
|
display: inline-block;
|
|
width: var(--responsive-dot-size, 8px);
|
|
height: var(--responsive-dot-size, 8px);
|
|
border-radius: 50%;
|
|
background: var(--color-text-foreground, #000);
|
|
animation: bounce 1.4s infinite ease-in-out both;
|
|
}
|
|
|
|
.dot:nth-child(1) { animation-delay: -0.32s; }
|
|
.dot:nth-child(2) { animation-delay: -0.16s; }
|
|
|
|
@keyframes bounce {
|
|
0%, 80%, 100% {
|
|
transform: scale(0);
|
|
opacity: 0.5;
|
|
}
|
|
40% {
|
|
transform: scale(1);
|
|
opacity: 1;
|
|
}
|
|
}
|