css - Angular 将参数传递给 css 动画

标签 css angular typescript

对于上面的动画 CSS 代码,我想知道是否有任何方法可以将 borderColor 和 width 的值作为参数从 TypeScript 传递。

CSS 代码

.app-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid gray;
  border-radius: 50%;
  animation: app-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: red transparent transparent transparent;
}

HTML代码

<div class="app-iconDiv">
</div>

最佳答案

这可以通过 ngStyle ( docs ) 实现。

例如,如果你想根据你的 CSS 使用 Angular 组件中的 borderColor 变量来设置 div 元素的样式,这是你的代码:

<div [ngStyle]="{'border-color': borderColor + ' transparent transparent transparent'}"></div>

如果要应用的样式很多,也可以在TypeScript类中创建一个对象,然后在ngStyle指令中引用这个对象。

HTML:

<div [ngStyle]="myStyle"></div>

TS:

this.myStyle = {
  'border-color': this.borderColor + ' transparent transparent transparent',
  // ...
}

关于css - Angular 将参数传递给 css 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51318851/

相关文章:

angular - 如何在 Angular 2 中使用 ALERTIFY JS (v1.9.0)

angular - 为什么预定义变量在 Cypress 中的行为不符合预期?

TypeScript 无法识别我的 jest mock 模块

visual-studio - 使用 Visual Studio 调试 TypeScript 代码

typescript - 如何使用 litElement 获取另一个组件中的组件状态更改?

javascript - Android 浏览器复选框标签不可点击

jquery - Bootstrap 按钮切换类问题

Angular CLI Typescript 在构建时编译

html - 如何强制视频在图像上播放?

javascript - 允许滚动但隐藏滚动条