首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Javascript中动态创建CSS at rules (@rules)

在Javascript中动态创建CSS at rules (@rules)
EN

Stack Overflow用户
提问于 2011-02-14 21:27:55
回答 1查看 1.1K关注 0票数 2

我在动态创建CSS动画,所以我需要在文档中插入一个CSS计时函数。如下所示:

代码语言:javascript
复制
@-webkit-keyframes slide 
{
    from {
    -webkit-transform: translateX(-100px) translateY(-100px);
    -webkit-animation-timing-function: ease-in;
    }

    33% {
    -webkit-transform: translateX(-100px) translateY(-50px);
    -webkit-animation-timing-function: linear;
    }

    66% {
    -webkit-transform: translateX(-50px) translateY(0px);
    -webkit-animation-timing-function: linear;
    }


    to {
    -webkit-transform: translateX(0px) translateY(0px);
    -webkit-animation-timing-function: ease-out;
    }
}

你知道如何使用Javascript完成这个(插入)吗?我可以毫不费力地添加常规类,但这似乎是一个特例。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-14 21:41:01

实际上,它与向样式表添加任何其他样式规则没有什么不同:

代码语言:javascript
复制
var selector = "@-webkit-keyframes slide";
var rule = "{   from {  -webkit-transform: translateX(-100px) translateY(-100px);   -webkit-animation-timing-function: ease-in; }   33% {   -webkit-transform: translateX(-100px) translateY(-50px);    -webkit-animation-timing-function: linear;  }   66% {   -webkit-transform: translateX(-50px) translateY(0px);   -webkit-animation-timing-function: linear;  }   to {    -webkit-transform: translateX(0px) translateY(0px); -webkit-animation-timing-function: ease-out;    }       }";

document.styleSheets[0].insertRule(selector + rule, 0);

注意,上面的DOM操作是特定于WebKit (和FireFox)的。您需要为IE的s/insertRule/addRule添加一些逻辑。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4992677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档