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 样式 -->
相关推荐
2501_915909062 小时前
Charles 抓不到包怎么办?iOS 调试过程中如何判断请求路径
android·ios·小程序·https·uni-app·iphone·webview
2501_916007472 小时前
iOS和iPadOS文件管理系统全面解析与使用指南
android·ios·小程序·https·uni-app·iphone·webview
卜锦元3 小时前
EchoChat搭建自己的音视频会议系统01-准备工作
c++·golang·uni-app·node.js·音视频
敲敲了个代码5 小时前
让 Vant 弹出层适配 Uniapp Webview 返回键
前端·javascript·vue.js·学习·面试·uni-app
2501_915921436 小时前
iOS App 开发阶段性能优化,观察 CPU、内存和日志变化
android·ios·性能优化·小程序·uni-app·iphone·webview
木子啊6 小时前
UNIAPP国内房贷计算器
uni-app·房贷·房贷计算器·房贷利率·公积金贷款·商业贷款
qq_12498707537 小时前
基于微信小程序的垃圾分类信息系统(源码+论文+部署+安装)
java·前端·spring boot·后端·微信小程序·小程序·计算机毕业设计
qq_12498707537 小时前
基于微信小程序的照片社交平台(源码+论文+部署+安装)
java·大数据·微信小程序·小程序·毕业设计·计算机毕业设计
游戏开发爱好者87 小时前
在 iOS 开发、测试与上架过程中 如何做证书管理
android·ios·小程序·https·uni-app·iphone·webview
计算机毕设指导68 小时前
基于微信小程序的健康管理系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea