- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用伪 :enter
、:leave
使用 3D CSS 表达式的状态更改表达式使用 Angular 4.1.2 为路由器转换设置动画。
阅读angular.io关于此的文档描述了 void => *
和 * => void
用于 :enter
和 :leave
伪转换.
尝试从 this post 进行滑入滑出
转换后,我最终可以通过在我的组件 css 文件中设置 :host {postion:relative}
来让它工作(应该让作者知道)。
这有效:
trigger('routerAnimation', [
transition(':enter', [
style({ right: '-400%' }),
animate('.2s ease-in-out', style({ right: 0 }))
]),
transition(':leave', [
animate('.2s ease-in-out', style({ right: '-400%' }))
])
]);
这没有:
trigger('routerAnimation', [
transition(':enter', [
style({ transform: 'translateZ(-400px)' }),
animate('.2s ease-in-out', style({ transform: 'translateZ(0)' }))
]),
transition(':leave', [
style({ transform: 'translateZ(0)' }),
animate('.2s ease-in-out', style({ transform: 'translateZ(-400px)' }))
])
]);
我真的很困惑为什么会这样,我还尝试将我的 :host
定位从 relative
设置为 absolute
只是为了确保我没有犯 CSS 错误。
任何帮助都会非常棒 :)
最佳答案
我想你忘了添加 transform: perspective(XXXpx);
这就是为什么您看不到 translateZ 效果的原因。
我尝试使用这样的动画:
import { animate, AnimationEntryMetadata, state, style, transition, trigger } from '@angular/core';
// Component transition animations
export const slideInDownAnimation: AnimationEntryMetadata =
trigger('routeAnimation', [
state('*',
style({
opacity: 1,
transform: 'perspective(500px) translateZ(0px)',
})
),
transition(':enter', [
style({
opacity: 0,
transform: 'perspective(500px) translateZ(-400px)',
}),
animate('10s ease')
]),
transition(':leave', [
animate('10s ease', style({
opacity: 0,
transform: 'perspective(500px) translateZ(-400px)',
}))
])
]);
而且效果很好。
检查此以查找有关 translateZ 的更多信息:
https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/translate3d
如果您的组件比屏幕大,您将看不到动画,或者您需要滚动页面才能找到它。所以在大多数情况下,您需要将 position:absolute 添加到组件 CSS(用于 :host 选择器)。或者你可以添加这样的修饰属性:
@HostBinding('@routeAnimation') public routeAnimation = true;
@HostBinding('style.display') display = 'block';
@HostBinding('style.position') position = 'absolute';
不要忘记添加:
import {HostBinding} from '@angular/core';
关于html - Angular 4 动画正确地左、右、上、下,但不适用于转换(translateX、translateY、translateZ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46126358/
我有一个像这样的侧面构建 blabla some content blabla 我必须在标题下对主要内容的某些部分进行动画处理, 所以我在主体和页脚周围放置了一个 div,并将其用作 a
我有一个关于转换的快速问题,更具体地说是关于翻译的问题。我有一个旋转了 90 度的 div,我想在 X 轴上平移它,但是我想平移它的长度与文本高度的长度一样多。我的意思是,我目前正在处理的 div 是
是否可以在按钮底部移动光标时无限期不触发动画? 这是它的样子 -- gif和 codepen .container { padding: 1rem; } .container .here {
我这里有一个 jsfiddle - http://jsfiddle.net/0dd4gzy4/ 我正在使用这种技术来垂直对齐内容 - http://zerosixthree.se/vertical-a
我正在尝试在用户关注输入时对元素应用效果。我读过我可以通过使用 css 选择器(+、~、>)在不使用 jQuery 的情况下实现这一点。好吧,问题是客户端使用 Contact From 7 来呈现大量
我在使用引导卡时遇到问题。我使用了 transform: translateY(-50%); 将元素平移到 y 轴,我已经将父 div 的高度设置为自动,但问题是在平移之后元素,我希望高度应该自动调整
我正在使用一个轻量级的 jQuery 插件调用 leanModal 该插件的代码包含在这个 jsfiddle 中: https://jsfiddle.net/meqtu354/2/ 所有插件所做的就是
为了更改滚动灵敏度/速度,我将 transfrom: translateY(x) 分配给元素,其中 x 是一个动态数字。该数字根据当前滚动位置而变化: @HostListener('document:
我想创建一个动画来在用户单击某个元素时显示某个部分。该部分在页面加载时保持隐藏状态 (translateY(-700px))。单击事件更改切换类 ._active 在 margin-bottom 属性
我正在尝试使用 CSS 将我网站的内容翻译成屏幕外的内容,并在加载文档时将其动画化。 但是在加载页面时,文档长度会垂直延伸到要翻译内容的底部。这似乎在页面上停留了一会儿后就消失了,但我显然想一起删除这
当您单击标题中的链接时,我尝试使用transformY 来制作元素向下滑动的动画。我遇到的问题是所显示的元素嵌套了几层深度,这就是我认为导致问题的原因 - 我需要元素从父元素后面滑落。设置 z-ind
这个问题在这里已经有了答案: Transform: translate(-50%, -50%) (2 个答案) How to apply multiple transforms in CSS? (
我决定为自己创建一个新的起始页,作为学习 flexbox 和其他一些东西的一种方式。现在我的问题是我有一个 div,其中几乎没有其他可滚动的 div。但我不想使用普通滚动,我想要一些东西,如果我用鼠标
我正在尝试制作不同的类以进行对齐。 我希望能够像 class="left bottom" 使用 transform:translate 属性那样组合它。 问题是该属性正在被彼此覆盖。 如果您查看我的
我在测试背景文本剪辑时遇到问题。我想将具有可变高度的 div 垂直居中。所以我使用了 TranslateY。问题是背景剪辑图像也会移动。 我在这里有一个小演示: http://jsfiddle.net
出于某种原因,我的垂直对齐代码模糊了 Chrome 和 Safari 中的部分但不是所有子元素。 造成它的原因是 translateY(-50%),如果我删除它,那么模糊就会消失,但垂直居中效果会丢失
我想创建一个我知道一定可行的 CSS 悬停效果,但我就是无法解决它,想知道是否有一些明亮的 Spark 能够为我指明正确的方向! See this image here showing what I
我需要在 CSS 转换后缩小间隙:translateY(-50%) 以便内容自然流动。 我尝试了其他方法,但无法将元素向上移动其自高度度的 50%。作为百分比的负边距基于窗口的高度,因此这似乎不是一个
我试图在没有任何插件的情况下构建一个简单的重叠“视差”效果。我有这样的 html: Example Text Example Text Example Text
有人可以帮助创建一个动画,图像开始时就像一扇门在左边打开,而 translation-origin-x 在图像的右侧,当你将鼠标悬停在它上面时 - 它像门一样关闭.我的东西不太好用,图像消失了,有人可
我是一名优秀的程序员,十分优秀!