解决Vue中使用v-html渲染数据后CSS不生效

Posted Web前端开发小能手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Vue中使用v-html渲染数据后CSS不生效相关的知识,希望对你有一定的参考价值。

html

<ul clss="VWEB" v-html="xx.xx"> xx.xx里面的内容例如为: <li>123</li> <li>123</li></ul>

CSS:

/* 常规CSS写法: */.VWEB li {  text-align: center;}

原因:

在单文件组件里,scoped 的样式不会应用在 v-html 内部,

因为那部分 HTML 没有被 Vue 的模板编译器处理。


解决办法一>>>

通过 >>> 可以使得在使用scoped属性的情况下,穿透scoped,

修改其他组件的值

/* >>>写法: */.VWEB >>> li { text-align: center;}


解决办法二/deep/

如果vue项目使用less或者sass的时候,>>>可能会失效,

可以使用/deep/来代替


/* /deep/写法:*/.VWEB /deep/ li { text-align: center;}



以上是关于解决Vue中使用v-html渲染数据后CSS不生效的主要内容,如果未能解决你的问题,请参考以下文章

vue 数据渲染

vue常见api

Vue中使用v-html内容图片过大的解决方法

解决vue页面DOM操作不生效的问题

vue 全局css 路由刷新后不生效

渲染组件后,Vue.js将单击事件绑定到v-html中的锚元素[重复]