侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

CSS在div容器中从左到右动画文本,并隐藏溢出

2023-05-03 星期三 / 0 评论 / 0 点赞 / 59 阅读 / 2184 字

所以我最近正在开发一些私人项目,因为我是一个巨大的CSS粉丝,我想用CSS而不是 JavaScript来做大部分动画. 今天我想创建这样的东西:Text moving from left to

... . . 所以我最近正在开发一些私人项目,因为我是一个巨大的CSS粉丝,我想用CSS而不是 JavaScript来做大部分动画.

今天我想创建这样的东西:
Text moving from left to right

我认为这可能适用于CSS动画.从理论上讲,我有一个div包装器,其位置为:relative,固定宽度和overflow:hidden.在里面,有一个div位置:绝对和左:0和底:0.现在在某些情况下,文本对于父div来说太长了,我想让文本文本“浮动”通过父div:实际上从左边动画div:0到右:0.

我偶然发现了一些CSS动画并试了一下

@keyframes floatText{  from {    left: 0;  }  to {    right: 0;  }}

关于孩子div.当然,这没有奏效.动画如左:0到左:-100px工作,但这不能确保整个文本可见,当它比那些额外的100px更长时.是否有一个漂亮而干净的方法来完成这项工作?当然,JavaScript可能会撼动这种理想的功能.但是我想知道在纯CSS中是否有办法做到这一点.

提前致谢!

编辑:

为了清楚我的想法,我创建了一个显示我想用CSS动画实现的gif:
Animated

如你所见,我们有三种相邻的,有些名称直接适合,有些可能太长,应该是前后动画,所以用户可以阅读:)!

再次感谢!

EDIT2:

有没有办法完成这样的事情?

@keyframes floatText{  from {    left: 0px;  }  to {    left: (-this.width+parent.width)px;  }}

这将是最终的解决方案,我知道这种编码在CSS中是不可能的,但也许有一些CSS3调整,如calc()或其他东西?我现在没有想法了:(

.

解决方法

. 以%为单位更改关键帧值

试试这个

body{     overflow: hidden;}p{    position: absolute;    white-space: nowrap;    animation: floatText 5s infinite alternate ease-in-out;}@-webkit-keyframes floatText{  from {    left: 00%;  }  to {    /* left: auto; */    left: 100%;  }}
<p>hello text</p>
. . .. ...

广告 广告

评论区