uniapp通过父组件改变子组件样式

本文介绍了在uniapp中,如何在h5和小程序环境下,通过父组件修改子组件popup的样式,解决因overflow: hidden导致的内容隐藏问题。提供了两种解决方案:一是自封装popup组件替换scroll-view;二是内部修改,利用fixed定位并用transform调整位置。
摘要由CSDN通过智能技术生成

uniapp通过父组件修改子组件样式

分享一个在uniapp下h5端和小程序端的通过父组件改变子组件样式的方法

项目场景

在使用uView提供的popup弹出框组件时发现超出白框部分的元素会被隐藏,如图所示

期望效果(右上角存在×关闭按钮)
在这里插入图片描述
实际效果(缺少×关闭按钮)
在这里插入图片描述


问题描述

原因是子组件popup的白框外有样式 overflow: hidden 导致内容溢出隐藏。
此时思路是通过父组件去修改子组件(popup)对应dom的样式为 overflow: unset
这里分享下h5和小程序的解决方案(主要是小程序麻烦)


解决方案

h5

找到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于uni-app中组件组件背景色冲突的问题,可以尝试以下几种解决方法: 1. 使用scoped样式:在组件组件样式中使用scoped属性,确保它们的样式只在各自的组件中生效,不会相互冲突。 ```html <style scoped> /* 组件样式 */ .parent { background-color: red; } /* 组件样式 */ .child { background-color: blue; } </style> ``` 2. 使用class选择器:为组件组件分别添加一个class,并在样式中使用class选择器来设置背景色。 ```html <style> /* 组件样式 */ .parent { background-color: red; } /* 组件样式 */ .child { background-color: blue; } </style> <template> <div class="parent"> <!-- 组件内容 --> <div class="child"> <!-- 组件内容 --> </div> </div> </template> ``` 3. 使用全局样式:在App.vue中设置全局样式,以覆盖组件中的样式。 ```html <!-- App.vue --> <template> <div id="app"> <router-view/> </div> </template> <style> /* 全局样式 */ #app { background-color: white; } </style> <!-- 组件 --> <template> <div class="parent"> <!-- 组件内容 --> <child></child> </div> </template> <!-- 组件 --> <template> <div class="child"> <!-- 组件内容 --> </div> </template> <style> /* 组件样式 */ .parent { background-color: red; } /* 组件样式 */ .child { background-color: blue; } </style> ``` 希望以上解决方法能够帮助到您!如果还有任何问题,请随时向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值