uni-app Vue3语法实现微信小程序样式穿透uview-plus框架

1 问题描述

我在用 uni-app vue3 语法开发微信小程序时,在项目中使用了 uview-plus 这一开源 UI 框架。在使用 up-text 组件时,想要给它添加一些样式,之前了解到微信小程序存在样式隔离的问题,也在uview-plus官网-注意事项中找到了相关解决方法,尝试后发现样式仍然不能失效。

html 复制代码
<template>
  <view class="container">
    <up-text text="标题"></up-text>
    <up-text text="内容" class="content"></up-text>
  </view>
</template>

<style scoped>
  .container ::v-deep .content {
    margin-top: 5px !important;
    border: 1px solid red;
  }
</style>

说明:由于不是自定义组件,所以不是配置styleIsolation参数的问题(以下不需要进行配置

js 复制代码
<script setup>
// 功能实现
</script>
// 配置自定义组件样式穿透
<script>
export default {
  options: {
    styleIsolation: 'shared'
  }
}
</script>

2 引发原因

在微信开发者工具查看页面 DOM 结构时发现,我给第二个 up-text 添加的类名 .content 没有生效。

3 解决方法

通过 up-text 内部类 .u-text 和伪类 :nth-child 结合使用定位到要添加自定义样式的元素。

html 复制代码
<style scoped>
  .container ::v-deep .u-text:nth-child(2) {
    margin-top: 5px !important; 
    border: 1px solid red;
  }
</style>
<!-- 备注:!important 用于覆盖 up-text 默认的 margin: 0 样式 -->
相关推荐
silvia_Anne9 小时前
微信小程序的登录与支付页面
微信小程序·小程序
Geek_Vison16 小时前
技术实践:保险健康APP引入第三方小程序实战,如何构建一个安全可控的沙箱环境~
android·安全·小程序·uni-app·mpaas
2501_9159184117 小时前
Python如何抓取HTTPS请求包的完整教程与代码示例
android·ios·小程序·https·uni-app·iphone·webview
用户5732400372318 小时前
从"陪聊机器人"变成"产品导航员"
微信小程序
2501_9160088918 小时前
全面解析常用Web前端开发工具:编辑器、调试工具、性能分析器与框架
android·前端·ios·小程序·uni-app·编辑器·iphone
编程猪猪侠19 小时前
基于uni-app-x 与 uni-app 的安卓与 H5 双向通信完整实现
android·javascript·uni-app
px不是xp2 天前
【灶台导航】优化纠错实录
javascript·微信小程序
爱勇宝2 天前
我做了一个亲子成长小程序:想把“催孩子”变成“看见孩子”
微信小程序·产品·全栈
niech_cn2 天前
uniapp开发App(iOS、Android、鸿蒙Next)之新建项目相关细节(二)
uni-app
梦梦代码精2 天前
功能堆砌不如好扩展:4 款开源商城系统的选型思考
java·docker·uni-app·开源·php