Internet Explorer 中带有边框半径的不稳定 CSS 动画

2023-11-21

在 Internet Explorer 中,此动画似乎在摆动。我正在阅读答案这个问题他们听起来好像可以解决这个问题。

我不能真正使用图像,因为边界半径不是恒定的,而且我不想使用动画 gif。

我知道“摆动”不是一个很好的描述,但我想不出任何其他词来描述它。我还没有用 Opera/Safari 测试过它,所以如果你有它们中的任何一个,我想知道它们是否显示正确或也有问题。请在 Chrome/Firefox 中运行以下代码片段,并将其与 Internet Explorer 中的代码片段进行比较:

@keyframes spin{
	0% {transform:rotateZ(0deg);}
	50% {transform:rotateZ(360deg);border-radius:60%;}
	100%{transform:rotateZ(720deg);}
}
@-webkit-keyframes spin{
	0% {transform:rotateZ(0deg);}
	50% {transform:rotateZ(360deg);border-radius:60%;}
	100%{transform:rotateZ(720deg);}
}
@-moz-keyframes spin{
	0% {transform:rotateZ(0deg);}
	50% {transform:rotateZ(360deg);border-radius:60%;}
	100%{transform:rotateZ(720deg);}
}
@-ms-keyframes spin{
	0% {transform:rotateZ(0deg);}
	50% {transform:rotateZ(360deg);border-radius:60%;}
	100%{transform:rotateZ(720deg);}
}
@-o-keyframes spin{
	0% {transform:rotateZ(0deg);}
	50% {transform:rotateZ(360deg);border-radius:60%;}
	100%{transform:rotateZ(720deg);}
}
#spinme{
	display:inline-block;
	position:relative;
	left:0;
	top:0;
	margin:0.2rem;
	width:0.8rem;
	height:0.8rem;
	border:0.2rem solid black;
	border-radius:0;
	outline: 1px solid transparent; /* require to remove jagged edges in firefox */
	transform:rotateZ(0deg);
	animation: spin infinite 4s;
	-webkit-animation: spin infinite 4s;
	-moz-animation: spin infinite 4s;
	-ms-animation: spin infinite 4s;
	-o-animation: spin infinite 4s;
}
#spinme:nth-child(2){animation-delay:0.06s}
#spinme:nth-child(3){animation-delay:0.12s}
#spinme:nth-child(4){animation-delay:0.18s}
<div id="spinme"></div>
<div id="spinme"></div>
<div id="spinme"></div>
<div id="spinme"></div>

The outline黑客修复锋利的边缘来自这个答案.


作为一个附带问题,出于好奇,实际上需要哪些前缀?我正在看兼容性要求让它在旧版浏览器中工作,但它只提到了-webkit前缀:没有一个-moz,-ms or -o任何浏览器版本似乎都需要前缀。

我也刚刚检查过应该前缀他们似乎同意 caniuse,但鉴于名称非常相似,我认为同一个社区/公司可能运行这两个网站。我应该删除其他前缀吗?


看起来像是透明轮廓干扰了物体的边缘。轮廓始终是正方形(正如您可以通过使用看到的outline: 1px solid blue;例如)。我只能假设在插值圆形上使用 1px 透明轮廓会导致渲染问题。

更换outline:1px solid transparent; with outline:1px solid rgba(255, 255, 255, 0); or outline:0 solid transparent;为我修复了 Edge 和 IE11。我没有 Firefox,所以我无法测试这是否也消除了锯齿状边缘。

@keyframes spin{
    0% {transform:rotateZ(0deg);}
    50% {transform:rotateZ(360deg);border-radius:60%;}
    100%{transform:rotateZ(720deg);}
}
@-webkit-keyframes spin{
    0% {transform:rotateZ(0deg);}
    50% {transform:rotateZ(360deg);border-radius:60%;}
    100%{transform:rotateZ(720deg);}
}
@-moz-keyframes spin{
    0% {transform:rotateZ(0deg);}
    50% {transform:rotateZ(360deg);border-radius:60%;}
    100%{transform:rotateZ(720deg);}
}
@-ms-keyframes spin{
    0% {transform:rotateZ(0deg);}
    50% {transform:rotateZ(360deg);border-radius:60%;}
    100%{transform:rotateZ(720deg);}
}
@-o-keyframes spin{
    0% {transform:rotateZ(0deg);}
    50% {transform:rotateZ(360deg);border-radius:60%;}
    100%{transform:rotateZ(720deg);}
}
#spinme{
    display:inline-block;
    margin:0.2rem;
    width:0.8rem;
    height:0.8rem;
    border:0.2rem solid black;
    border-radius:0;
    outline:0 solid transparent;
    transform:rotateZ(0deg);
    animation: spin infinite 4s;
    -webkit-animation: spin infinite 4s;
    -moz-animation: spin infinite 4s;
    -ms-animation: spin infinite 4s;
    -o-animation: spin infinite 4s;
}
<div id="spinme"></div>

至于供应商前缀部分,当我在本地测试时,我发现IE11和Edge都支持无前缀animation: spin infinite 4s;但IE11仍然支持-ms-animation。边缘不支持-ms-animation但确实支持-webkit-animation - see Microsoft Edge 会使用 -webkit- 或 -ms- 等前缀吗?。因此,根据您的目标浏览器受众,如果您愿意,您可以选择忽略已弃用的属性,尽管我现在会保留所有这些属性,以便不排除较旧的浏览器。

Note:我确实看到在 Edge 检查器中切换 CSS 属性显示了计算的结果border-[top|bottom]-[left|right]-radius属性有时是百分比,有时是硬性的px价值。但我不确定这是否与问题相关或相关。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Internet Explorer 中带有边框半径的不稳定 CSS 动画 的相关文章

  • 如何简化这个 LESS CSS Box-shadow mixin? (带有“方向”的多个阴影)

    如何减少这段代码 可能使用循环 以拥有一个接受方向和数字的 函数 dir 想要的 方向 number 我需要多少次影子 这里是10次 color 阴影的颜色 Example 可以工作 但不是很容易使用 perspective box dir
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 为什么使用 iPhone 或 iOS 设备在“iframe”中查看“position:fixed”时不起作用?

    我研究过 stackoverflow 似乎position fixed在 iOS 移动设备的 iframe 中 https stackoverflow com questions 15874910 position fixed and if
  • chrome 中选择选项元素的额外填充

    我有一个选择元素 用户可以在其中选择分类和描述 仅在 Chrome 浏览器中 我有一个额外的填充 无法使用 padding 0 或其他 css 标签删除它 Chrome 的屏幕 https i stack imgur com m3iIb p
  • Bootstrap Affix Nav 导致下面的 Div 向上跳转

    我使用 Bootstrap 的 Affix 函数创建了一个 JSFiddle 以便在向下滚动并且标题移出视图时使导航保持在屏幕顶部 我遇到的问题是 当使用纯 HTML 时 导航下方的文本会过早地跳起来并隐藏在导航后面 查看有问题的代码her
  • TDD/测试 CSS 和 HTML? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有办法测试 CSS 和 HTML 例如 有时某些通知会受到某些 CSS 更改的影响 我不想每次进行更改时都手动测试所有通知 Tha
  • 在其他不可滚动的 div 上滚动时如何滚动可滚动的 div?

    我知道这个问题听起来很令人困惑 但这就是我想要做的 在下面的代码片段中 如果用户在绿色 div 上滚动 我希望黄色 div 相应地滚动 就像滚动黄色 div 一样 请注意 黄色 div 有overflow auto 但绿色的则不然 docu
  • 为什么网格项目不居中?

    由于某种原因 两个输入范围使网格中的前两项偏离中心 我假设这是因为它们的影子 DOM 样式 事实真的是这样吗 有谁知道为什么范围使项目 A 和 B 偏离中心 这是一个代码笔 https codepen io tOkyO1 pen QOeKL
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • R Shinydashboard 自定义 CSS 到 valueBox

    我一直在尝试将 valueBox 的颜色更改为自定义颜色 超出 validColors 中可用的颜色 但一直无法这样做 我知道有一种方法可以使用标签来包含自定义 CSS 但是我无法将它们放在正确的位置 ui lt dashboardPage
  • GWT 主题/模板 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 GWT 开发一个应用程序 尽管 GWT 是基于 JAVA 的媒介 但外观和感觉只能通过 CS
  • 使用 VBA 通过 Access 导航网页/操作 IE

    你好 StackOverflow 社区 我有一个关于使用 Access VBA 操作 IE 的问题 本质上 我正在尝试编写代码 使用 IE 打开特定网页 在该页面中搜索特定链接 目标链接的名称将取决于用户的情况 通过以编程方式单击该链接导航
  • 如何设置 CSS 网格的最大高度

    我有以下 CSS 网格 grid 3x4 display grid grid template columns 1fr 1fr 1fr grid template rows 1fr 1fr 1fr 1fr grid template are
  • 我的 CSS 未在 Internet Explorer 11 和 Firefox 中加载!仅适用于 Chrome

    我正在创建一个简单的网页 我的 CSS 只能在 Chrome 中使用 它在 Firefox 和 IE11 中都不起作用 这是我的 HTML h1 b u Adding a new Visitor u b h1 br div class wr
  • 使用deployJava.runApplet来定位特定元素

    经过多年成功维护一个使用旧有的小程序 嵌入Java小程序的方法 我们无法捂住耳朵唱 啦啦啦 不再了 是时候使用 deployJava runApplet 当我使用点击处理程序触发此方法时 此处通过 jQuery 在按钮上使用事件侦听器 但这
  • 如何使用 a-href 标签链接回文件夹? [复制]

    这个问题在这里已经有答案了 好吧 我在文件夹中有一个页面 该页面称为 jobs html 该文件夹简称为 jobs 它是我的 网站 文件夹的子文件夹 在 main 文件夹的主目录中是我的 home html 文件 当我尝试做的时候 a hr
  • 如何并排放置两个

    我有两个 div 我想要并排放置的元素 如下所示 navigation content 我想要导航 div 根据需要尽可能大 但不能更大 收缩以适应行为 内容 div 然后应该填充剩余的空间 如何在不指定百分比 例如 20 80 的情况下使
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • 如何在背景剪辑中包含文本装饰:文本;影响?

    我在用 webkit background clip text border and color transparent在锚标记上 下划线似乎永远不可见 我想要的是将文本装饰包含在背景剪辑中 这是我的CSS background clip
  • 如何将送货地址复制到帐单地址

    我想知道是否可以将送货地址复制到帐单地址 当用户单击与送货地址相同的复选框时 送货地址值将被复制到账单输入字段 我完成了大部分部分 但我不确定如何将选择菜单 状态 值复制到帐单地址 我真的很感谢任何帮助 My code document r

随机推荐

  • Android:完成应用程序/活动后显示吐司

    我想在退出应用程序时显示一个简单的吐司 问题是 吐司没有显示 我认为这是因为活动已完成或因为System exit 0 但我不知道如何解决 有人有提示吗 谢谢 在我的活动中 我有以下代码 Toast makeText this Exit a
  • 子进程中“shell=True”的实际含义

    我正在调用不同的进程subprocess模块 不过 我有一个问题 在下面的代码中 callProcess subprocess Popen ls l shell True and callProcess subprocess Popen l
  • Ajax / Jquery 自动完成 JSON 数据

    我正在尝试设置 Jquery UI 自动完成字段以获取来自 ajax 连接的数据 到目前为止 这是我的代码 mainIngredientAutoComplete autocomplete source function request re
  • Antora顶部导航栏定制

    我的问题很简单 尽管我在文档中找不到任何指向它的内容 我正在使用 Antora 中的默认生成器为项目生成文档 但我不知道如何自定义顶部导航栏 右侧的项目 这些项目有一些默认值 既然网站已生成 我应该在哪里更改或如何更改这些项目 我不想在那里
  • 原始类型的 Objective-c 属性

    在 Objective C 中 为原始类型指定一个属性是否有意义 nonatomic 我想知道这两个属性之间的区别 property nonatomic BOOL myBool property BOOL myBool 从技术上讲 答案是肯
  • 计算两行之间的时间差

    我有一个包含 StartDate 列的表 我想计算两个连续记录之间的时间差 Thanks Mark Byers 和 Yahia 我有请求表作为 requestId startdate requestId startdate 1 2011 1
  • 使用完整网址时 PHP file_get_contents 非常慢

    我正在使用一个脚本 最初不是我创建的 该脚本从 HTML 页面生成 pdf 文件 问题是现在需要很长的时间来处理 比如 1 2 分钟 据说这最初工作得很好 但在过去几周内速度减慢了 该脚本调用file get contents在 php 脚
  • 用户与 uiview 和动画完成块的交互

    我有以下代码 UIView animateWithDuration 2 0 delay 0 0 options UIViewAnimationOptionAllowUserInteraction animations imageView b
  • 500内部服务器错误,如何调试[重复]

    这个问题在这里已经有答案了 我的 POST 请求出现内部服务器错误 我该如何调试它们 是在 php ini 中设置的吗 该文件非常大 并且多次出现 错误 一词 您可以使用以下命令打开 PHP 错误error reporting error
  • 如何在 angularJS 中将 X-Frame-Options 设置为响应标头?

    我在 API 的响应中收到了 X Frame Options 标头 但据我了解 为了防止点击劫持攻击 我需要将其添加到 UI 代码中 UI代码 用angularjs编写 部署在Tomcat 版本7 0 72 服务器中 我尝试在应用程序的 w
  • 一个动态规划问题

    谁能帮我找到一个最佳的动态规划算法这个问题 在去吃晚饭的路上 CCC 的参赛者正在排队享用美味的炸薯条 N 1 N 100 名选手排成一队进入食堂 CCC 的负责人 V 博士在最后一刻意识到 程序员只是讨厌站在使用不同语言的程序员旁边 值得
  • GraphQL 枚举类型会自动解析它们的值吗?

    我应该期望枚举类型自动解析还是这些类型仅存在以限制选项 给定以下 GraphQL 架构 type Job description String status Status enum Status PENDING REVIEW PENDING
  • 如何在 Game Center 中接受邀请

    我正在尝试通过游戏中心实施邀请 但有一点我不明白 好的 我已从一台设备向另一台设备发送了邀请 然后我在接收器上有一个 UIAlertView 询问我是否愿意接受或拒绝邀请 当我接受它时 它的处理方式如下 GKMatchmaker share
  • Bootstrap xs 列换行

    对于最小的 xs 尺寸 即使我的列加起来为 12 如果屏幕宽度减小到超过一定限制 它们也不会按预期工作 例如 div class container div class row div class col xs 2 div div clas
  • 如何使用 igraph 获取最短路径上的顶点?

    我在用着igraph生成顶点对之间最短路径距离的矩阵 但我不知道如何返回顶点 到目前为止我有 path length matrix ig graph shortest paths dijkstra None None distance AL
  • 如何在 Swift 中获取 2 个数组的公共元素列表?

    我有两个数组 fruitsArray apple mango blueberry orange vegArray tomato potato mango blueberry 我怎样才能获得这两个数组中的常见项目列表 ouptput mang
  • 将数组传递给 asp net core web api 操作方法 HttpGet

    我正在尝试将整数数组发送到我的操作方法 代码如下所示 HttpGet public async Task
  • ASP.NET Webforms 不会为 Chrome/iOS 呈现回发 JavaScript 函数

    当我们提供用户代理时Mozilla 5 0 iPhone CPU iPhone OS 5 0 1 like Mac OS X en us AppleWebKit 534 46 0 KHTML like Gecko CriOS 21 0 11
  • 从 CVImageBufferRef 获取内存所有权

    我正在制作一个简单的管道 从 AVCaptureSession 获取图像 在 OpenCV 中处理它们 然后在 OpenGL 中渲染它们 它基于 RosyWriter 但没有音频和录音功能 OpenCV 处理看起来像 void proces
  • Internet Explorer 中带有边框半径的不稳定 CSS 动画

    在 Internet Explorer 中 此动画似乎在摆动 我正在阅读答案这个问题他们听起来好像可以解决这个问题 我不能真正使用图像 因为边界半径不是恒定的 而且我不想使用动画 gif 我知道 摆动 不是一个很好的描述 但我想不出任何其他