html - 滑动动画文字颜色变化

标签 html css

我有一个按钮,它的背景颜色在鼠标悬停时从右侧滑入,效果很好,但我也需要更改文本颜色。我设法让它褪色,但效果不佳。我想要的是与背景变化一致的从右侧滑入的颜色过渡。

.slideybutton {
    background-size: 200% 100%;
    background-image: linear-gradient(to right, white 50%, blue 50%);
    transition: background-position 1s linear, color 1s linear;
    color: blue;
}
.slideybutton:hover {
    background-position: -100% 0;
    color: white;
}
<a class="slideybutton">
 Lorem ipsum dolor sit amet.
</a>

我看到了这个问题,但是在这种情况下唯一的解决方案是不可行的。 Sliding in changing text color animation

我是否遗漏了一些 CSS 技巧?谷歌搜索不会给我任何指向正确方向的结果,所以我担心我正在尝试不可能的事情。

如果 JS 或 jQuery 能够完成我想要的,我很乐意使用它。

最佳答案

这可以通过“将文本与背景结合”来完成,关键是属性background-clip,检查一下:

.slideybutton { 
  background-size: 200% 100%; 
  background-image: linear-gradient(to right, blue 50%, white 50%),
                    linear-gradient(to right, white 50%, blue 50%);
  transition: background-position 1s linear; 
  -webkit-background-clip: text, border-box;
  background-clip: text, border-box; 
  color: transparent; 

} 
.slideybutton:hover { 
  background-position: -100% 0; 
}
<a class="slideybutton">
 Lorem ipsum dolor sit amet.
</a>

关于html - 滑动动画文字颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41060317/

相关文章:

html - 如何在有序的 HTML 列表中为罗马数字加下划线

javascript - 基于 div ID 的 HTML 表格颜色

javascript - 更新数据表中的特定按钮 HTML

html - 我无法为此布局在 html 中创建列,请告诉我该怎么做

css - float div 100% 容器高度,全部动态

html - 如何获得div下方的按钮

javascript - 与单独的框架交互

jquery - 查找具有指定类的每个 div

javascript - 查找特定 jQuery 自动完成控件的名称

javascript - jquery 弹出对话框 onload 而不是 onclick