vue中v-html渲染的标签不能直接写css样式,因为v-html 的内容设置带作用域的 CSS,所以不能直接写
<style lang="scss" scoped> //如果把scoped去掉,直接写样式是可以,但这样会很危险,也不提议
可以在生命周期钩子函数里面写
updated () {
$('.detBox img').css({
'width': '100%',
'max-width': '100%',
'display': 'block'
})
}
这样就可以解决问题,网上也有其它答案,像类似在选择器后面加>>>
比如
#id >>> p {
font-size: 14px;
}
可能会有些浏览忽略>>>编译不了可以用/deep/代替,一样有效果
#id /deep/ p {
font-size: 14px;
}

本文探讨了在Vue中使用v-html渲染动态HTML时遇到的样式应用问题,并提供了几种有效的解决策略,包括在生命周期钩子函数中动态设置样式、使用深层选择器以及替代方案,确保样式能正确应用于动态生成的内容。
7205





