vue.js - vue在使用html绑定的时候,里面的元素不会继承外部的CSS?

查看:172
本文介绍了vue.js - vue在使用html绑定的时候,里面的元素不会继承外部的CSS?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

问题描述

想用vue绑定富文本生成的HTML内容,但是发现CSS样式根本不生效,选择器没起作用,还没有深入了解绑定的时候dom是怎么重绘的,是不是还有其他的替代方案?

代码片段

<template>
<div class="answertext">
  <blockquote><p>这个是原始的标签!</p></blockquote>
  {{{ answer.text }}}
</div>
</template>

<style>
.answertext blockquote {
  border-left: 6px solid #ddd;
  padding: 5px 0 5px 10px;
  margin: 15px 0 15px 15px;
}
</style>

问题详情

以下是chrome检查生成的HTML代码,可以注意到原始的标签和生成的标签是不同的,原始html模板里的标签都有_v-80e9c926这么个类似版本号的东西,而我绑定的标签是没有的。

以下是效果图

这是为什么呢?--。

解决方案

scoped属性导致css仅对当前组件生效(用css3的属性选择器+生成的随机属性实现的),而html绑定渲染出的内容可以理解为是子组件的内容,子组件不会被加上对应的属性,所以不会应用css.

解决的话把scoped属性去掉就行了

这篇关于vue.js - vue在使用html绑定的时候,里面的元素不会继承外部的CSS?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆