我正在尝试将以下模型转换为工作动态代码,但我现在遇到了一些问题。
样机:http ://www.imagebanana.com/view/a6yuqvgm/chat.png
这里的目标是实现每个消息框的“负边距”,以便消息重叠一点。因此,如果 A 人(我)和 B 人进行对话,那么来自 B 人的所有消息都应该在右侧,而我的所有消息(A 人)都应该在左侧。这部分显然相当容易。
此外,如果我回复来自我的聊天伙伴的消息,我的消息应该有一个负边距,以便我的消息有点“进入”来自我的伙伴的消息,但在另一边。这是出于设计和节省空间的原因。消息越长,边距应该越大。较短的消息需要有较小的边距。
我目前对如何成功实现这些事情感到困惑。一个简单的负边距是不够的,因为当用户连续发送两条消息时,消息会重叠(第二条进入第一条)。该模型显示了完美的情况,旋转消息(A 人、B 人、A 人、B 人等),但显然情况并非总是如此。
我现在的问题是,纯 CSS 甚至可能吗?我想我需要在 PHP 或 JS 中添加一些动态部分,两者都可以。我只需要一些正确方向的提示。