Vue.js中v-html渲染的dom添加scoped的样式的方法介绍

本篇文章给大家带来的内容是关于Vue.js中v-html渲染的dom添加scoped的样式的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

vue.js中,要将一段字符串渲染成html,可以使用v-html指令。

但是 官方文档 中的v-html部分也提醒了

在单文件组件里,scoped 的样式不会应用在 v-html 内部,因为那部分 HTML 没有被 Vue 的模板编译器处理。如果你希望针对 v-html 的内容设置带作用域的 CSS,你可以替换为 CSS Modules 或用一个额外的全局 元素手动设置类似 BEM 的作用域策略。

除了官方文档给的方案以外,有一个更简便的方式:深度作用选择器

立即学习“前端免费学习笔记(深入)”;

如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符:

.a >>> .b { / … / }

上述代码将会编译成:
.a[data-v-f3f3eg9] .b { // }
有些像 Sass 之类的预处理器无法正确解析 >>>。这种情况下你可以使用 /deep/ 操作符取而代之——这是一个 >>> 的别名,同样可以正常工作。

示例

.product-content { ... /deep/ h4 { color: #333; ... } }

登录后复制

【相关推荐:JavaScript视频教程】

以上就是Vue.js中v-html渲染的dom添加scoped的样式的方法介绍的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2731506.html

(0)
上一篇 2025年3月8日 00:28:47
下一篇 2025年3月8日 00:28:53

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论