前言:这是一个vue的项目,引入了一个reset.css,重写了几乎所有标签的默认样式。项目中需要渲染富文本,里面包含了很多标签,例如:<h1>这是一个大标题</h1>
,这个时候使用v-html标签展示出来的h1标签的样式已经被reset.css修改了。
思路:一、想到在v-html上添加class,再重新定义里面的样式。但是富文本上例如table标签,会有border=1或border=2,这种可变的没有办法在css里重新定义。
二、既然不能重新定义样式,那么就着手修改reset.css,相对css的 :not() 选择器。
解决:
标签:<div v-html="data" class="pre-html"></div>
reset.css修改:h1:not(.pre-html h1) { /*reset.css里的样式*/}
或 *:not(.pre-html *) { /*reset.css里的样式*/}