关于Vue 里面axios请求返回一段html渲染到页面后修改不了样式的原因,解决scoped,VUE样式穿透问题

本文介绍了解决Vue中从接口获取的HTML因scoped属性导致样式无法应用的问题。通过使用不同的样式穿透方法(css使用>>>、less使用/deep/、scss使用::v-deep),确保了外部样式能正确作用于动态加载的内容。

 一、问题

       Vue 封装好接口后向服务器请求,拿到了一段html需要渲染到前端页面,发现使用css修改样式,请求过来的html元素并没有发生改变

 原因:因为请求过来的html样式渲染上去的块,相当于加载了一个子组件,但在使用scoped属性时,会遇到样式问题。需要使用样式穿透解决

解决方案:样式穿透

vue中针对不同的样式类型(css,less,scss)有不用的样式穿透方法。

  • css 使用 >>>
  • less 使用 /deep/
  • scss 使用 ::v-deep
  • //解决因为从接口里面获取的html 是子组件 由于scoped的原因不能使用到css的问题
    ::v-deep {
      .left_box {
        float: left;
        width: 65%;
        margin-top: 40px;
        margin-left: 10px;
        padding: 0px 10px;
        box-shadow: 0 2px 12px 0 rgba(0.2,0.2,0,0.2);
        img {
          width: 100%;
        }
        //   height: 2000px;
      }
    }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值