css - 大纲 CSS 动画在 Safari 上不起作用
问题描述
我正在尝试通过添加一个专用类在我的一些按钮上设置动画。我创建了一个动画,它可以在 Chrome 中运行,但不能在 Safari 中运行(我使用的是 SCSS,所以它会自动为我添加前缀)。
当我尝试其他属性(例如旋转)时,动画实际上可以工作,但不能使用“轮廓”。我也尝试过“分离”属性(而不是简写版本),但无济于事。
.comparable_data {
animation: showComparableData 1s linear infinite alternate;
}
@keyframes showComparableData {
0% {
outline: none;
}
65% {
outline: 1px solid red;
outline-offset: 1px;
}
75% {
outline: 4px solid red;
outline-offset: 4px;
}
100% {
outline: 5px solid red;
outline-offset: 5px;
}
}
<button class="awesome comparable_data">Awesome</button>
<button class="awesome comparable_data">Awesome</button>
.comparable_data {
animation: showComparableData 1s linear infinite alternate;
}
@keyframes showComparableData {
0% {
outline: none;
}
65% {
outline: 1px solid color(default);
outline-offset: 1px;
}
75% {
outline: 4px solid color(default);
outline-offset: 4px;
}
100% {
outline: 5px solid color(default);
outline-offset: 5px;
}
}
在 Chrome 上,我的按钮“发光”,轮廓从按钮来回扩展。在 Safari 上,什么都没有发生……我不知道为什么。
解决方案
我可以通过在类中指定一个起始状态来让它工作comparable_data
:
.comparable_data {
animation: showComparableData 1s linear infinite alternate;
outline: 2px solid red;
}
@keyframes showComparableData {
0% {
outline: 0px solid red;
outline-offset: 0px;
}
65% {
outline: 1px solid red;
outline-offset: 1px;
}
75% {
outline: 4px solid red;
outline-offset: 4px;
}
100% {
outline: 5px solid red;
outline-offset: 5px;
}
}
<button class="awesome comparable_data">Awesome</button>
您可能需要编辑这些值或添加一些边距,因为它有时会超出视野。
我还在outline-offset
第一个关键帧中添加了一个 - 据我所知,这不是绝对必要的,但可以用来查看。
推荐阅读
- ruby-on-rails - SQS 池的启动/停止如何在 Ruby on Rails 中工作
- r - 如何在 R 中对数据进行子集化
- java - 输入 int <= 0 后,如何阻止二维 int 数组输出其值?
- monitoring - sensu go中是否有像sensu core这样的刷新和出现字段?
- java - 使用“wrap”函数创建时出现 Spring RSocketRequester 问题
- excel - 使用多行和多列调整 Excel 表格的大小 - VBA
- python - Django DRF:如何显示过滤后的数据
- javascript - 捕获 iframe 上的点击事件
- database - 将多个数据库合并到一个数据库中,没有任何重复条目
- python - 这个 Python 类型提示语法是什么,括号中的两种类型?