html - 在关键帧 (CSS) 中混合 'left' 和 'right' 失败

标签 html css animation keyframe

我有一个水平文本在多个 div 中的内容动画,其宽度根据用户输入而变化。 (注意:不使用 jquery,所以我没有用这个问题标记它)。有一个带有文本字符串的 div——这是一个“单元”。用户可以输入任意数量的文本字符串,我们将一个新的 div 添加到现有文本 div 的右端:

 <div> TEXT1 </div>, <div> TEXT2 </div>, ...., <div> TEXT-N </div>

我正在使用关键帧动画技术。这是我需要的:

1) 当动画开始时 (0%),任意长度的文本/div 内容的位置——我需要该内容的左边缘距页面左侧 2 个像素。

2) 当动画结束 (100%) 时,我需要任意长度的文本/div 内容的右侧 距页面右侧约 20 像素。

所以我试了一下:

 <style> 
  .cssHorizontalAnimatedText
  {
    position:absolute;
    animation:leftMovingTextStuff 10s infinite;
    animation-timing-function: linear;
    white-space: nowrap;
  }

  @keyframes leftMovingTextStuff
  {
    0%{ 
        left:20px;
      }
    100%
      {
        right:-20px;
      }
  }
 </style>

 <div class="cssHorizontalAnimatedText" 
         style='width:100%;overflow-x:hidden;height:41px;'>
     <?php echo $theArbitrarilyLongDivsAndText ?>
 </div>

我发现,如果我在上面的关键帧中只使用“右”或只使用“左”,text-and-divs 内容将从左向右滚动。

但我无法仅使用 left 值(像素或 %,似乎无关紧要)或使用 正确的值。

如果我在上面的关键帧中同时使用leftright,那么任意长的内容就不会再移动了,它是固定的在适当的位置,就好像关键帧拒绝允许在其语法中混合 leftright 限定符并且仍然允许动画继续进行。但我没有看到任何说明这一点的内容。

如何设置任意长度的 text-and-divs 内容,以便:

1) 当动画开始时 (0%),任意长度的 text/div 内容的位置——该内容的左边缘应距离页面左侧 2 个像素。

2)当动画结束(100%)时,任意长的text/div内容的右侧需要距离页面右侧20像素左右。

有没有办法用关键帧做到这一点?

最佳答案

为此,我不得不放弃使用关键帧动画,不幸的是,我自己使用 Javascript 实现了这一点。

关于html - 在关键帧 (CSS) 中混合 'left' 和 'right' 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23381237/

相关文章:

javascript - HTML 对齐下拉元素

css - Div 中的 HTML5 视频背景 - 需要帮助调整到窗口大小

javascript - 从javascript click()动态设置 anchor 文本

ios - 我如何在 viewDidLoad 中执行 UIView animateWithDuration? IOS 7

javascript - react native : How do you animate the rotation of an Image?

javascript - 使用 CSS 禁用动画效果

html - 此时元素 img 上不允许使用属性 atl

css - 在自定义工具栏中使用 jquery UI 主题

css - Wordpress 中的 Bootstrap 3 菜单

javascript - 如何让一个div更新内容有滑动效果(类似flash的动画)?