调试CSS关键帧动画

创建CSS动画可能是为了学习语法,但掌握一个美丽和直观的感觉动画需要更多的细微差别。由于动画需要如此多的关注,所以改进我们的代码以获得正确的时间并在出错时进行调试是很重要的。在我自己解决了这个问题之后,我想我应该收集一些现有的工具来帮助这个过程。 使用负延迟值 假设您有多个动画同时运行,您希望它们稍微错开一点。你可以使用animation-delay,但不一定要让浏览者访问页面,让一些东西不动,等待它们的延迟。 您可以将animation-delay设置为负数,它会及时将播放头向后推,这样当观众出现时,所有动画都会运行。当动画共享相同的关键帧值并且仅通过延迟区分运动时,这一点特别有用。 您可以使用此概念进行调试。设置animation-play-state: paused;,然后将延迟调整到不同的负时间。你会看到动画在不同的暂停状态下沿吐温。 .thing {animation: move 2s linear infinite alternate;animation-play-state: paused;animation-delay: -1s;} 示例: 在一个有趣的演示中,我们看到两个机器人在一个稍微不同的时间盘旋,以便感觉更自然一些。当我们声明悬停动画时,我们给紫色机器人一个负延迟,这样当观看者第一次看到页面时他就开始移动了,并且省去了用边距或上/左等重新油漆的费用。保罗Lewis有一个很好的资源,叫做CSS触发器,可以在一个容易看到的表中分解这些成本。这里的问题是,如果您尝试使用多个变换来移动对象,那么会有很多问题。一个大问题是订购。转换不会像预期的那样同时应用,而是按操作顺序应用。第一个手术是最右边的,然后向内。例如,在下面的代码中,将首先应用比例,然后应用平移,然后应用旋转。 @keyframes foo { to {/*3rd2nd1st*/transform: rotate(90deg) translateX(30px) scale(1.5); }} 在大多数情况下,这并不理想。更可能的是,你宁愿所有的事情同时发生。此外,当您开始将变换拆分为多个关键帧时,这种情况会变得更加复杂,其中一些值是同时存在的,而另一些值不是这样的: @keyframes foo {30% {transform: rotateY(360deg);}65% {transform: translateY(-30px) rotateY(-360deg) scale(1.5);}90% {transform: translateY(10px) scale(0.75);}} 这将导致一些令人惊讶的、不太理想的结果。不幸的是,答案通常是使用多个嵌套的,对每个应用一个翻译,这样就不会产生冲突。 有一些替代方法,例如使用矩阵变换(手工编写代码不直观)或使用JavaScript动画API,如GreenSock,多个变换插值没有排序序列。 多div实现也有助于解决SVG带来的问题。在Safari中,不能同时声明动画中的不透明度和变换-一个将失败。您可以在本文的第一个演示中看到正在运行的解决方法。 2015年8月初,独立的转换声明进入Chrome Canary。这意味着我们不必再担心订购时间了。您可以分别申报rotate、translate、scale。DevTools计时助手现在Chrome和Firefox都附带了一些专门用于帮助处理动画的工具。它们提供了一个用于控制速度的滑块、一个暂停按钮和一个用于处理缓和值的UI。放慢速度,在特定的停止点看到动画对于调试CSS动画非常有帮助。 p>它们都使用leaverou的cubic-贝塞尔网站可视化和图形用户界面。这是非常有用的,因为你不再需要做来回从立方体-贝塞尔网站从文本编辑器到校对。 这些工具允许我们更直观地微调动画。下面我们来看看这两个版本提供的用户界面: Chrome和Firefox都允许您控制计时(加速或减速),还可以手动拖动动画。更先进的时间线工具在Chrome中出现,可以同时查看多个元素。这会很好,因为在动画中一次只处理一个元素是一个相当大的限制因素。 我遇到的一个问题是,如果动画是短暂且快速的,那么抓取元素的速度就足够快了。在这种情况下,我通常会将其设置为animation-iteration-count: infinite;,这样我就可以继续玩它而不必与时间抗争。 我还发现,将动画的速度减慢,然后在浏览器中用这些来重放和调整时间是非常有帮助的

admin_action_{$_REQUEST[‘action’]}

do_action( "admin_action_{$_REQUEST[‘action’]}" )动作钩子::在发送“Action”请求变量时激发。Action Hook: Fires when an ‘action’ request variable is sent.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$_REQUEST['action']引用从GET或POST请求派生的操作。源码(Source)更新版本源码位置使用被使用2.6.0 wp-admin/admin.php:...

日期:2020-09-02 17:44:16 浏览:1170

admin_footer-{$GLOBALS[‘hook_suffix’]}

do_action( "admin_footer-{$GLOBALS[‘hook_suffix’]}", string $hook_suffix )操作挂钩:在默认页脚脚本之后打印脚本或数据。Action Hook: Print scripts or data after the default footer scripts.目录锚点:#说明#参数#源码说明(Description)钩子名的动态部分,$GLOBALS['hook_suffix']引用当前页的全局钩子后缀。参数(Parameters)参数类...

日期:2020-09-02 17:44:20 浏览:1071

customize_save_{$this->id_data[‘base’]}

do_action( "customize_save_{$this->id_data[‘base’]}", WP_Customize_Setting $this )动作钩子::在调用WP_Customize_Setting::save()方法时激发。Action Hook: Fires when the WP_Customize_Setting::save() method is called.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_data...

日期:2020-08-15 15:47:24 浏览:807

customize_value_{$this->id_data[‘base’]}

apply_filters( "customize_value_{$this->id_data[‘base’]}", mixed $default )过滤器::过滤未作为主题模式或选项处理的自定义设置值。Filter Hook: Filter a Customize setting value not handled as a theme_mod or option.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_date['base'],指的是设置...

日期:2020-08-15 15:47:24 浏览:900

get_comment_author_url

过滤钩子:过滤评论作者的URL。Filter Hook: Filters the comment author’s URL.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/comment-template.php:32610...

日期:2020-08-10 23:06:14 浏览:930

network_admin_edit_{$_GET[‘action’]}

do_action( "network_admin_edit_{$_GET[‘action’]}" )操作挂钩:启动请求的处理程序操作。Action Hook: Fires the requested handler action.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$u GET['action']引用请求的操作的名称。源码(Source)更新版本源码位置使用被使用3.1.0 wp-admin/network/edit.php:3600...

日期:2020-08-02 09:56:09 浏览:877

network_sites_updated_message_{$_GET[‘updated’]}

apply_filters( "network_sites_updated_message_{$_GET[‘updated’]}", string $msg )筛选器挂钩:在网络管理中筛选特定的非默认站点更新消息。Filter Hook: Filters a specific, non-default site-updated message in the Network admin.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分$_GET['updated']引用了非默认的...

日期:2020-08-02 09:56:03 浏览:864

pre_wp_is_site_initialized

过滤器::过滤在访问数据库之前是否初始化站点的检查。Filter Hook: Filters the check for whether a site is initialized before the database is accessed.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/ms-site.php:93910...

日期:2020-07-29 10:15:38 浏览:834

WordPress 的SEO 教学:如何在网站中加入关键字(Meta Keywords)与Meta 描述(Meta Description)?

你想在WordPress 中添加关键字和meta 描述吗?关键字和meta 描述使你能够提高网站的SEO。在本文中,我们将向你展示如何在WordPress 中正确添加关键字和meta 描述。为什么要在WordPress 中添加关键字和Meta 描述?关键字和说明让搜寻引擎更了解您的帖子和页面的内容。关键词是人们寻找您发布的内容时,可能会搜索的重要词语或片语。而Meta Description则是对你的页面和文章的简要描述。如果你想要了解更多关于中继标签的资讯,可以参考Google的说明。Meta 关键字和描...

日期:2020-10-03 21:18:25 浏览:1729

谷歌的SEO是什么

SEO (Search Engine Optimization)中文是搜寻引擎最佳化,意思近于「关键字自然排序」、「网站排名优化」。简言之,SEO是以搜索引擎(如Google、Bing)为曝光媒体的行销手法。例如搜寻「wordpress教学」,会看到本站的「WordPress教学:12个课程…」排行Google第一:关键字:wordpress教学、wordpress课程…若搜寻「网站架设」,则会看到另一个网页排名第1:关键字:网站架设、架站…以上两个网页,每月从搜寻引擎导入自然流量,达2万4千:每月「有机搜...

日期:2020-10-30 17:23:57 浏览:1308