vue动态插入的元素无法使用css

发布于 2022-09-12 01:57:09 字数 858 浏览 25 评论 0

我想把md文章转html,使用的marked

在vue的create钩子上请求数据,待数据请求到后,调用marked解析md数据,然后插入到DOM中

created() {
    getArticle('/article').then(data => {    
        const div = document.createElement('div')
        div.classList.add('blog-article-content')
        div.innerHTML = marked(data.content)
        this.$el.appendChild(div)    
    })
}

然后我想让div出来的时候有一个出场动画,使用CSS3 Animation

<style lang="stylus" scoped>
    
    @keyframes content
        0%
            transform translateY(50%)
        
    .blog-article-content
        width 100%
        transform translateY(0)
        animation content 1s
        background-color pink

</style>

然而并达不到预想中的效果,样式文件并没有被应用
捕获.PNG

为何会这样呢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

筑梦 2022-09-19 01:57:09

注意 scoped,有可能 blog-article-content 没有在你这个组件生效,把全部代码贴上来看看

半世蒼涼 2022-09-19 01:57:09

scoped去掉,你这个是动态插入元素,所以要用全局样式才可以。

笨笨の傻瓜 2022-09-19 01:57:09

style标签加上scoped后,样式选择器会加上版本后缀data-xxxx,你在模板中写死一个元素,给它加上blog-article-content类,刷新页面审查这个元素,看它应用的类名就知道为啥了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文