<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Transition on Last Stand</title><link>https://amatsuzero.github.io/LastStand/tags/transition/</link><description>Recent content in Transition on Last Stand</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 18 Nov 2024 00:00:00 +0800</lastBuildDate><atom:link href="https://amatsuzero.github.io/LastStand/tags/transition/index.xml" rel="self" type="application/rss+xml"/><item><title>transition</title><link>https://amatsuzero.github.io/LastStand/posts/frontend/css/transition/</link><pubDate>Tue, 08 Oct 2024 00:00:00 +0800</pubDate><guid>https://amatsuzero.github.io/LastStand/posts/frontend/css/transition/</guid><description>&lt;p&gt;CSS &lt;code&gt;transition&lt;/code&gt; 提供了一种在更改 CSS 属性时控制动画速度的方法。其可以让属性变化成为一个持续一段时间的，而不是立即生效的过程。&lt;/p&gt;
&lt;p&gt;比如，将一个元素的颜色从白色改为黑色，通常这个改变是立即生效的，使用 CSS 过渡后该元素的颜色将按照一定的曲线速率从白色变化为黑色。这个过程可以自定义。&lt;/p&gt;
&lt;p&gt;通常将两个状态之间的过渡称为&lt;strong&gt;隐式过渡&lt;/strong&gt;，因为开始与结束之间的状态由浏览器决定。&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://amatsuzero.github.io/LastStand/posts/frontend/css/transition/image-01.webp"&gt;&lt;/p&gt;
&lt;p&gt;CSS 过渡可以决定哪些属性发生动画效果（通过明确地列出这些属性），何时开始（通过设置延时），持续多久（通过设置时长）以及如何动画（通过定义缓动函数，如线性或先快后慢）。比如在不同的伪元素之间切换，像是 &lt;code&gt;:hover&lt;/code&gt;，&lt;code&gt;:active&lt;/code&gt; 或者通过 JavaScript 实现的状态变化。&lt;/p&gt;
&lt;p&gt;开发者可以定义哪一属性需以何种方式用于动画，由此允许创造复杂的过渡。然而因为为某些属性赋予动画无意义，所以这些属性无动画性。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;备注： auto 值常常较复杂，规范指出不要在它上动画。一些用户代理，比如基于 Gecko 的，实现了这个需求；然而另外一些用户代理，比如基于 WebKit 的，没有这么严格限制。在 auto 上使用动画，取决于浏览器及其版本，可能会导致非预期结果，应当避免使用。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="属性"&gt;属性&lt;/h2&gt;
&lt;p&gt;以下 &lt;code&gt;transition&lt;/code&gt; 属性，若有多个属性值，则以&lt;code&gt;,&lt;/code&gt;（逗号）衔接。&lt;/p&gt;
&lt;h3 id="transition-property"&gt;transition-property&lt;/h3&gt;
&lt;p&gt;指定哪个或哪些 CSS 属性名称用于过渡。只有指定的属性才会在过渡中发生动画，其他属性仍如通常那样瞬间变化。如果指定简写属性（比如 &lt;code&gt;background&lt;/code&gt;），那么其完整版中所有可以动画的属性都会被应用过渡。&lt;/p&gt;
&lt;p&gt;取值如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;none&lt;/code&gt;：没有过渡动画。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;all&lt;/code&gt;（&lt;strong&gt;初始值&lt;/strong&gt;）：所有可被动画的属性都表现出过渡动画。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;custom-ident&amp;gt;&lt;/code&gt;：属性名称。由小写字母 a 到 z，数字 0 到 9，下划线（_）和破折号（-）。第一个不能为非破折号字符或数字。同时，不能以两个破折号开头。通俗来说就是可以是自定义名称也可以是css规范中的属性名。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="transition-duration"&gt;transition-duration&lt;/h3&gt;
&lt;p&gt;表示过渡属性从旧的值转变到新的值所需要的时间。你可以为所有属性指定一个值，或者指定多个值，或者为每个属性指定不同的时长。&lt;/p&gt;
&lt;p&gt;该属性值以秒（s）或毫秒（ms）为单位指定过渡动画所需的时间。默认值为 &lt;strong&gt;0s&lt;/strong&gt;，表示不会呈现过渡动画，属性会瞬间完成转变。不接受负值。&lt;/p&gt;
&lt;p&gt;可以指定多个时长，每个时长会被应用到由 &lt;code&gt;transition-property&lt;/code&gt; 指定的对应属性上。&lt;/p&gt;
&lt;p&gt;如果某个属性的值列表小于 &lt;code&gt;transition-property&lt;/code&gt; 的属性值数量，那么时长列表会重复，重复规则是按照现有值进行重复。例如：&lt;/p&gt;
&lt;p&gt;如3s，则重复多个3s&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;div&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;transition-property&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;opacity&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;left&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;top&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;height&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;transition-duration&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将视为：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;div&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;transition-property&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;opacity&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;left&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;top&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;height&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;transition-duration&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;s&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;s&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;s&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果是3s，5s，则会重复多个3s，5s。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;div&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;transition-property&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;opacity&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;left&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;top&lt;/span&gt;, &lt;span style="color:#66d9ef"&gt;height&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;transition-duration&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;s&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;将视为：&lt;/p&gt;</description></item></channel></rss>