react或者vue 如何实现ChatGPT 光标文字追随 效果?

作者站长头像
站长
· 阅读数 5

实现下面图中效果,?react或者vue 如何实现ChatGPT 光标文字追随 效果?

回复
1个回答
avatar
test
2024-06-25

我自己实现了

&:last-child{
// 如果ai输出结束了,刚不显示伪元素after
  .stop > *:last-child{
    &:after{
      content: none !important;
    }
  }
  // 节点空时设置光标跟随
  .chat:empty{
    position: relative;
    &:after{
      display: inline-block;
      content: "";
      width: 4px;
      height: 14px;
      transform: translate(4px,2px) scaleY(1.3);
      background-color: #80c9ff;
      animation: cursor .6s infinite;
      overflow-wrap: break-word;
      box-sizing: border-box;
    }
  }
  // 获取最后一个子节点并设置光标跟随
  .chat > *:last-child {
    position: relative;
    &:after{
      display: inline-block;
      content: "";
      width: 4px;
      height: 14px;
      transform: translate(4px,2px) scaleY(1.3);
      background-color: #80c9ff;
      animation: cursor .6s infinite;
      overflow-wrap: break-word;
      box-sizing: border-box;
    }
  }
}

answer image

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容