使用 CSS3 过渡对不可设置动画的属性进行动画处理

2023-12-14

在我的应用程序中,我使用以下内容对页面上元素的不透明度进行动画处理:

.s {
    transition-property: opacity;
    transition-duration: 250ms;
}

(当然,有特定于供应商的版本)。进而

.s.hidden {
    opacity: 0;
}

所以动画开始时hidden班级已分配。问题是,在不透明度为零的元素上仍然检测到鼠标事件,这是我不想要的,所以我需要设置visibility to hidden or display to none after过渡已完成。我希望能够做这样的事情:

.s {
    transition-property: opacity, visibility;
    transition-duration: 250ms;
    transition-delay:    0, 250ms;
}

and then

.s.hidden {
    opacity: 0;
    visibility: hidden;
}

使用 CSS 转换机制轻松完成此操作。据我所知,这是行不通的,因为visibility是一个不可动画的属性。但其他过渡框架如 d3do处理不可动画的属性,以明显的方式通过简单地在过渡开始或结束时设置值来处理。

我能想到的最好的办法就是使用transitionend事件(及其特定于浏览器的变体,例如oTransitionEnd) 捕获转换的结束并设置visibility那时,但我想知道是否有更简单的方法,最好是纯粹使用 CSS。或者,正如我的问题标题所暗示的那样,不可动画的属性就是这样吗?


visibility is可动画的属性,请参阅规格.

这意味着你的.hidden课程将按照您所描述的方式进行。演示在这里:http://jsfiddle.net/ianlunn/xef3s/

编辑:规范并不完全清楚:

可见性:如果其中一个值是“可见”,则插值为 离散步骤,其中时序函数的值在 0 和 1 之间映射 到“可见”和计时函数的其他值(仅发生 在过渡的开始/结束时或作为“cubic-bezier()”的结果 Y 值在 [0, 1]) 之外的函数映射到更近的端点; 如果两个值都不“可见”,则不可插值。

但这就是我认为的意思:

visibility不能在一系列之间平滑地进行动画处理visible and hidden不透明度在 1 - 0 之间变化。它只是在visible and hidden在转换的开始和结束状态。

假设转换是去往或来自visibility,那么就会发生转变。如果尝试在之间转换visibility: hidden and visibility: collapse例如,这些值是“不可插值的”并且不会发生转换。

所以在我的例子中,opacity导致元素淡出,然后在过渡结束时,visibility捕捉到hidden.

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

使用 CSS3 过渡对不可设置动画的属性进行动画处理 的相关文章

  • a:active 不起作用

    我在这里很困惑 the a active不工作 但是 hover工作正常 我已经尝试了很多事情 但这个让我陷入困境 而且真的很令人困惑 我刚刚在表中添加了链接 我已将单元格添加到了类中 menu1 现在 当我访问活动页面时 活动链接不会突出
  • 在每个打印页上重复水印? JavaScript 或 CSS

    所以 我有这个发票页面 我正在页面后面添加水印 我需要为要打印的每一页重复水印 问题是 我不知道会有多少页 可以有任意数量的页面 我需要在每个页面后面显示水印 这些图像取自 Google Chrome 的打印模式 这是该页面的 html 你
  • 是否可以将CSS应用于半个字符?

    我在寻找什么 一种打造风格的方法HALF一个角色的 在这种情况下 一半的字母是透明的 我目前搜索和尝试过的内容 没有运气 设置半个字符 字母样式的方法 使用 CSS 或 JavaScript 设置字符的一部分样式 将 CSS 应用于字符的
  • jQuery animate() 和 CSS calc()

    我尝试设置CSScalc 使用 jQuery 动画 例如 element animate height calc 100 30px 500 我注意到calc 不支持 jQuery 动画 我希望有一种方法可以做到这一点 我不想要类似的方法 替
  • 多列定义列表[重复]

    这个问题在这里已经有答案了 我有一个 dl 像这样 dl dt Quantity dd dt Size dd dt Rise dd dt Color dd dd dt dd dt dd dt dd dt dl 该列表是通过 php 动态生成
  • 为什么 Flexbox 会拉伸我的图像而不是保留纵横比?

    Flexbox 具有这种行为 它将图像拉伸到其自然高度 换句话说 如果我有一个带有子图像的 Flexbox 容器 并且我调整了该图像的宽度 则高度根本不会调整大小 并且图像会被拉伸 div display flex flex wrap wr
  • Li向左浮动,长度动态:最后一行无边框底部

    情况如下 https jsfiddle net rpepf9xs https jsfiddle net rpepf9xs 我想用选择器 nth last child 删除边框底部 但是 如果列表中只有8个 li 则会出现如下错误 ul di
  • 您能否确定 CSS 文件的范围,使其仅适用于给定元素的后代?

    给定一个 css 文件 有没有办法限制整个文件的范围 使其仅适用于给定元素内的元素 例如给定 div span class some element span div 有没有一种方法可以将整个 css 文件的范围应用于 容器 中的所有元素
  • 有 CSS 父选择器吗?

    我该如何选择 li 元素是锚元素的直接父元素 举个例子 我的 CSS 应该是这样的 li lt a active property value 显然 有多种方法可以使用 JavaScript 实现此目的 但我希望 CSS Level 2 本
  • 如何使用 css 在标题的两侧放置实线? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在标题文本上制作字段集图例样式的 背景线 https stackoverflow com questions 5985009 how can i make a fieldset legend st
  • 使用JQuery检查元素是否有边框?

    所以我正在玩 el css 尝试确定元素是否有边框 我用 css border style solid 设置边框 这是可行的 但实际上它设置了 4 种单独的样式 border right style border left style bo
  • 如何仅使用CSS设置某个角的边框半径

    如上所示 我可以只给顶部部分而不给底部提供半径 或者有时给底部而不是顶部提供半径吗 有没有办法只给一个角提供边界半径 Like border radius top left top right bottom right bottom lef
  • 如何使用CSS将背景图像放入选择选项标签中

    我有一个从 json 响应接收的国家 地区下拉列表 并且想要在国家 地区名称旁边添加相应的国家 地区国旗图标 也从 json 响应获取图像 我已经尝试了不同的 jQuery 和 bootstrap 插件 但他们所做的是破坏我以前的选择框样式
  • 如何修复“没有这样的文件或目录,lstat 'scss/'”?

    我正在尝试遵循 youtube 上的简单教程他尝试使用终端运行 npm 脚本 sass 文件 当我执行命令时npm 运行 sass显示错误消息错误 ENOENT 没有这样的文件或目录 lstat scss 我认为问题在于文件的路径或文件的权
  • 如何保留用户的输入打印?

    我正在尝试添加用户的评论 所以我只是尝试读取输入并将其发送以进行打印 但问题是 一旦我刷新页面或输入另一个输入 打印的输入就会消失 因此 即使刷新页面或重新输入新评论 我也希望始终保持所有用户的显示 代码 div div
  • 可以将position:absolute元素设为粘性吗?

    In CSS position sticky使元素能够显示position static行为 即 它采用文档流中的默认位置 直到到达某个滚动位置 然后采用position fixed行为 那么 这是否意味着我们不能使用position st
  • 在 Android 上禁用标注(上下文菜单)

    在网络应用程序中 我需要禁用移动浏览器在触摸并按住 长按 触摸目标 例如 img 或链接 我已经在使用了 webkit touch callout none 它在 iPhone 和 iPad 上运行良好 但似乎不适用于 Android 在
  • 将鼠标悬停在原点时会触发translateY()

    当您将光标移动到按钮底部时 是否可以无限期地不触发动画 它看起来是这样的 gif https i stack imgur com QwdHW gif and codepen https codepen io jaeyson pen GwwJ
  • 浮动图像周围具有最小列宽的流动文本

    我想要一种方法来防止流动文本列变得太窄 例如 在一列 HTML 文本中 有一个图像浮动到左侧 正如预期的那样 文本沿着图像周围的列的右侧向下流动 但是 如果图像几乎与列一样宽 则文本最终会非常窄 在这种情况下 我希望文本简单地not流过图像
  • 固定 div 位于居中 div 旁边

    我有一个网页 其中有可滚动的内容 此内容包含在 content 内 位于页面的中心 现在我希望导航栏出现在内容左侧 50 像素处 该栏应具有固定位置 不应滚动 这是我到目前为止所尝试过的 nav position fixed top 50

随机推荐

  • 新的 MVC 4 Internet 模板中使用 simplemembership 进行基于角色的身份验证

    我喜欢 MVC 4 Internet 模板中新的 simplemembership 功能 其中包含用于 VS 2012 RTM 中外部登录的 OAuth 链接 大多数情况下 身份验证功能都可以正常工作 然而 即使花费了 8 个小时以上的时间
  • 按非格式化日期 SQLite 排序

    我将日期作为字符串存储在数据库中 格式为 DD MM YYYY 当我尝试在日期列上使用 orderby 进行选择查询时 我没有得到预期的结果 结果示例 2013年2月28日 2013年2月27日 2013年1月3日 Mysql查询 SELE
  • 使一个输入控件影响第二个输入控件的选择

    使用 ireport 我知道如何制作输入控件 但我有一个问题我想知道是否可行 我想要两个输入控件 但我需要其中一个仅由用户为第一个输入控件选择的内容填充 例如 我的第一个输入控件有 3 个类别 这 3 个类别中的某些选择将需要根据从第一个输
  • 有没有办法反编译NHibernate生成的动态代理类?

    我真的很想知道 NHibernate 生成的动态代理类中发生了什么 我非常了解 NHibernate 动态代理在更高级别上的作用 但在调试会话期间能够反编译它们 使用 Reflector 或类似的东西 肯定会派上用场 那么 有没有办法反编译
  • 带有 boost 变体递归包装器的字符串解析器

    下面的代码 改编自spirit qi mini xml示例 无法编译 存在与规则相关的错误brac具有递归的属性boost variant 然而 所有注释掉的版本brac进行编译 我很好奇是什么让简单的字符串解析器在这种情况下如此特别 in
  • 删除 showModalDialog API

    随着即将拆除showModalDialog来自各种浏览器的 API 我们公司像许多其他提供的公司一样大型企业 Web 应用程序现在面临着一个重大的困境 虽然我们已将呼叫集中到showModalDialog由于只有 3 行代码 我们广泛依赖此
  • js中通过窗口名称进行窗口到窗口通信

    有谁可以给 我一些关于如何使用 javascript 处理窗口到窗口通信的想法 因为这两个窗口没有父子关系 基本上另一个窗口是使用 window open 方法打开的 任何精彩的信息都将受到高度赞赏 假设如下 windowHandle wi
  • 由于 R 中的大整数日期时间,线性模型奇异?

    日期随机正态的简单回归失败 但使用小整数而不是日期的相同数据可以按预期工作 Example dataset with 100 observations at 2 second intervals set seed 1 df lt data
  • 如何在 MySQL 中使用命令行导入 SQL 文件?

    我有一个 sql导出的文件phpMyAdmin 我想使用命令行将其导入到不同的服务器中 我有一个Windows Server 2008R2安装 我把 sql文件上的C drive 我尝试了这个命令 database name lt file
  • 使用 C# 将 Word 文件(.docx 和 doc)转换为 .pdf 不起作用

    我正在使用 Visualstudio 2010 我正在尝试将 word docx 文件转换为 pdf 文件 并且在本地工作正常 但在服务器上运行时显示错误为 Could not load file or assembly office Ve
  • WooCommerce 价格覆盖不起作用

    我已经使用设置了一个隐藏的输入项woocommerce before add to cart button hook function add gift wrap field gt
  • 在R闪亮的页面加载时调用javascript函数

    我添加了对 css 和 javascript 文件的引用 如下所示 tags link rel stylesheet type text css href rtp css tags script type text javascript s
  • QOpenGLWidget更新如何不会导致paintGL事件?

    我正在记录呼叫update and paintGL 但不知何故 只发生更新 PaintGL 被调用了几次 然后就再也没有调用过 这怎么可能 窗口是可见的并且isVisible 每次都返回 Trueupdate 叫做 具体来说 我从QGLWi
  • Ghub 脚本:向下拖动鼠标并按鼠标左键(LUA)自动点击

    所以基本上我试图使用 Ghub Lua 脚本机制来解释标题中的内容 发布下面我所拥有的代码 EnablePrimaryMouseButtonEvents true function OnEvent event arg if IsKeyLoc
  • java中的单词高亮显示

    我想针对特定的情况突出显示这些词time 就像卡拉 OK 应用程序一样 每个单词都有一个特定的突出显示时间 我可以计时 但不知道在哪里 如何在特定的持续时间内突出显示一个单词 在 stackoverflow 和 google 上搜索了很多
  • 在 Azure Function 中安装 Powershell 模块

    我将 Azure Function 2 0 与 Powershell 结合使用 并在安装 Powershell 模块时出现以下错误 有什么办法可以消除这个错误 一般来说 我们不需要管理员权限来安装 NuGet 依赖项 I also trie
  • Reactjs:意外的标记“<”错误

    我刚刚开始使用 Reactjs 正在编写一个简单的组件来显示 li标记并遇到此错误 意外的标记 我已将示例放在下面的 jsbin 中http jsbin com UWOquRA 1 edit html js 控制台 输出 请让我知道我做错了
  • 获取所有打开的 Excel 文档

    我需要使用自己的数据创建 xls 文件 但文件可能已被创建并由用户打开 1 如果文件不存在 新的应用程序类 工作簿 Add 另存为 2 如果文件存在且未打开 没问题 转到 1 3 如果文件存在并且被用户打开 需要找到它的工作簿并修改工作表的
  • PyQT:旋转 QLabel,使其定位在对角线上而不是水平定位

    我正在开发一个触摸屏应用程序 其中图形用户界面空间非常紧张 我想稍微旋转 QLabel 使其垂直或在对角线上稍微偏移 有什么建议么 我在 QLabel 界面上找不到任何相关内容 非常感谢 QLabel不这样做 但您可以轻松创建自己的包含一些
  • 使用 CSS3 过渡对不可设置动画的属性进行动画处理

    在我的应用程序中 我使用以下内容对页面上元素的不透明度进行动画处理 s transition property opacity transition duration 250ms 当然 有特定于供应商的版本 进而 s hidden opac