css - 带有angularjs的动态样式表

标签 css angularjs

我有一个 angularjs 应用程序,它通过 api 获取数据,并用它构建一个网页。

通常我使用 ng-style 来创建动态样式,但现在我必须使用只能在 css 样式表中使用的 nth-of-type 属性(我不能使用单独的样式,因为元素的数量和顺序总是改变)。

我试过这个天真的代码(在 html 页面中):

<style ng-if="styles.sc && styles.sc.length==3">
    a.mosection:nth-of-type(3n) > div {
        background-color: {{styles.sc[0]}} !important;
    }
    a.mosection:nth-of-type(3n+1) > div {
        background-color: {{styles.sc[1]}} !important;
    }
    a.mosection:nth-of-type(3n+2) > div {
        background-color: {{styles.sc[2]}} !important;
    }
</style>

但它没有用...显然 angular 没有绑​​定样式标签内的数据(ng-if 属性确实得到了正确的消化)

有人知道如何做到这一点吗?

谢谢!

最佳答案

你应该检查这三个 ng-*

https://docs.angularjs.org/api/ng/directive/ngClass https://docs.angularjs.org/api/ng/directive/ngClassOdd https://docs.angularjs.org/api/ng/directive/ngClassEven

都可以接受函数作为属性,也可以checkout https://docs.angularjs.org/api/ng/directive/ngStyle

在您的情况下,这实际上可能是最好的

关于css - 带有angularjs的动态样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24247260/

相关文章:

html - 如何在 css/html 中垂直减少两个单词之间的空间

angularjs - 使用 Grunt 为 AngularJS 生成 HTML 文件

javascript - AngularJS querySelector 按 ID 返回未定义

angularjs - 如何使用 AngularJs 在两个文本框上实现双向绑定(bind)?

javascript - 如何使用 Angular 1.5 服务

css - -moz-box-align : center 的问题

html - 如何在 SVG 中制作 "bent rectangle"?

javascript - 单击注册时如何在当前页面上显示注册框?

css - 在 css 上创建两个彼此相邻的 div?

javascript - 排序指令的 Angular 架构