css - 关键帧动画不适用于 Safari

标签 css safari css-animations keyframe

我已经使用 css 创建了动画,下面是相关代码

.div
{
	position:relative;
	width:250px;
	height:150px;
	background-color:gray;
}
    .div:before {
        content: "";
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100px;
        height: 100px;
        animation-name: drawline;
        animation-duration: 2s;
        -webkit-animation-name: drawline;
        -webkit-animation-duration: 2s;
        border: 1px solid #fff;
    }
@-webkit-keyframes drawline
{
	0%
	{
		width:0px;
	}
	100%
	{
		width:100px;
	}
}
@keyframes drawline
{
	0%
	{
		width:0px;
	}
	100%
	{
		width:100px;
	}
}
<div class="div"></div>

此动画适用于 chrome 但不适用于 safari,因为我已将动画提供给 :before。我应该怎么办?请帮忙。

最佳答案

尝试将默认的 width: 100px; 设置为 width: 0px;。显然 Safari 在从“0%”开始动画时并不高兴。你可以尝试这样的事情:

.div
{
	position:relative;
	width:250px;
	height:150px;
	background-color:gray;
}
    .div:before {
        content: "";
        position: absolute;
        top: 0px;
        left: 0px;
        width: 100px;
        height: 100px;
        animation-name: drawline;
        animation-duration: 2s;
        -webkit-animation-name: drawline;
        -webkit-animation-duration: 2s;
        border: 1px solid #fff;
    }
@-webkit-keyframes drawline
{
	0% {
    opacity: 0; 
    width: 100px;
  }
  1% {
    opacity: 1;
    width: 0;
  }
  100% {
    width: 100px;
  }
}

@keyframes drawline {
  0% {
    opacity: 0; 
    width: 100px;
  }
  1% {
    opacity: 1;
    width: 0;
  }
  100% {
    width: 100px;
  }
}
<div class="div"></div>

关于css - 关键帧动画不适用于 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44582164/

相关文章:

html - 背景颜色不改变错误

html - pre 标记内 HTML 元素之间的行间距

java - <小程序> 与 <对象>

html - 使用线性渐变作为背景的响应式闪耀动画

javascript - 在背景 url 更改时触发动画

javascript - 基于列值的剑道网格行颜色

css - 具有多个路径的 SVG 剪辑路径的悬停事件

javascript - Safari ITP 2.0 存储访问 API - 在 hasStorageAccess 中嵌套 requestStorageAccess 时出现问题 - 非嵌套工作

java - 如何在 Mac 机器的 Safari 浏览器上运行 selenium 脚本

jquery - CSS 动画可以处理淡入吗?