温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

详解三种方式解决vue中v-html元素中标签样式

发布时间:2020-09-12 08:45:49 来源:脚本之家 阅读:386 作者:honey缘木鱼 栏目:web开发

Vue为v-html中标签添加CSS样式

<template>
 <div class="hello">
 <section>
  <h3 class="title">{{news.title}}</h3>
  <p class="news-time">{{news.datetime}}</p>
  <div class="con" v-html="news.dec">
  </div>
  <button class="back" @click="goBack()">返回列表</button>
 </section>
 </div>
</template>

当我们使用v-html渲染页面,使用下面这种方式去修改样式并没有效果,

<style scoped lang="less">
.con{
 p {
 font-size: 14px;
 line-height: 28px;
 text-align: left;
 color: rgb(238, 238, 238);
 color: #585858;
 text-indent: 2em;
 }
}
</style>

解决方案:

当我们引入第三方组件或加载html元素时,想修改下样式,就可以用以下三种方式:

一.去掉<style scoped>中的scoped

这个方法不建议使用,会改变布局

二.定义两个style标签,一个含有scoped属性,一个不含有scoped属性

使用方法为

<style scoped>
 .introduction{ 
 width: 100%; 
 margin-bottom: 3rem;
 }
</style>

<style>
 .introduction img{
 width: 100%;
 object-fit: fill;
 }
</style>

三.通过 >>> 可以使得在使用scoped属性的情况下,穿透scoped,修改其他组件的值

使用模板为:

.introduction>>> img{
 width: 100%;
 object-fit: fill;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI