【发布时间】:2016-12-12 08:01:14
【问题描述】:
我一直在玩 Angular2 的动画 DSL,但我对如何将动画限制在特定的媒体屏幕尺寸感到有点困惑。
例如,假设我在主页上有一个 400 像素宽的徽标,当用户访问计算机显示器上的任何其他页面时,它会缩小到 200 像素宽。
...
animations: [
trigger('homeLogoState',[
state('inactive', style({
width: '200px',
transition: 'width'
})),
state('active', style({
width: '400px',
transition: 'width'
})),
transition('inactive <=> active', animate('300ms ease-in'))
])
]
...
但在移动设备上,每个页面都需要保持 100 像素。
我知道我可以通过控制 DOM 中显示的内容来控制不同的动画,如下所示,但这可能会产生大量的代码重复来处理每个屏幕尺寸的每个动画变化。
<div class="hidden-under-1920px" @logoAnimationOne="page">
<img src="logo.png">
</div>
<div class="hidden-under-1280px" @logoAnimationTwo="page">
<img src="logo.png">
</div>
将不同动画限制为特定 @media 选择器大小的正确方法是什么?
【问题讨论】:
-
我认为没有合适的直接方式。你只能通过javascript来控制它。
-
我也想知道,处理不同视口的正确方法是什么? @micronyks 建议你用 JS 控制它,如何?
标签: javascript css animation angular