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 样式 -->
相关推荐
梦曦i24 分钟前
uni-app、uni-app x 与 Flutter 深度对比:2026年跨平台开发框架选型指南
flutter·uni-app·uni-app x
andrsted1 小时前
练题簿在线免费刷题:Excel、CSV 批量导题与章节整理,把现成表格变成日常题库
学习·微信小程序·小程序·刷题·在线刷题
计算机毕设定制辅导-无忧学长1 小时前
《基于微信小程序的校园文化活动报名与管理系统》
java·spring boot·微信小程序·uniapp·校园文化活动报名与管理小程序
fengGer的bugs18 小时前
新生儿喂养记录微信小程序:本地存储、四套主题,以及一份可改期的疫苗体检日程
微信小程序
普马萨特19 小时前
uni-app x 定位踩坑实录:H5/小程序/App 统一经纬度与逆地理编码
uni-app
5G微创业21 小时前
去除抖音视频水印的Python实现
python·微信小程序·去水印
WeiXin_DZbishe21 小时前
基于微信小程序的本地闲置物品交易平台-计算机毕设 附源码【课程设计】26825
vue.js·spring boot·python·微信小程序·架构·php·课程设计
小蒜学长1 天前
基于微信小程序的医院医疗废弃物追溯管理系统(代码+数据库+LW)
java·spring boot·后端·微信小程序·医疗废弃物
霍营_托尼1 天前
微信小程序点餐项目实战:飞入动画、样式错位、弹窗不消失,7 个前端坑的完整排障记录
javascript·微信小程序·动效
andrsted1 天前
练题簿在线免费刷题:选择、填空、简答与排序,多种题型练出不同的掌握程度
学习·微信小程序·小程序·学习方法·刷题