vue动态插入的元素无法使用css
我想把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>
然而并达不到预想中的效果,样式文件并没有被应用
为何会这样呢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
注意 scoped,有可能
blog-article-content
没有在你这个组件生效,把全部代码贴上来看看把
scoped
去掉,你这个是动态插入元素,所以要用全局样式才可以。style
标签加上scoped
后,样式选择器会加上版本后缀data-xxxx
,你在模板中写死一个元素,给它加上blog-article-content
类,刷新页面审查这个元素,看它应用的类名就知道为啥了