uni-app nvue页面圆形div阴影被切
uni-app nvue页面圆形div阴影被切
| 信息类别 | 详情 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | Windows 10 专业版 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.2.14 |
| 手机系统 | Android |
| 手机系统版本号 | Android 11 |
| 手机厂商 | 华为 |
| 手机机型 | mate30 |
| 页面类型 | nvue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
示例代码:
width:140px;
height:140px;
border-radius:70%;
background-color: #4da2ff;
box-shadow: 8px 8px 10px rgba(103, 103, 103, 1.0);
操作步骤:
- 打包安装后出现问题
预期结果:
- 阴影正常显示
实际结果:
- 阴影被自身的宽高截断
bug描述:
在nvue文件里写了一个圆形添加了一个阴影,真机测试正常,打包后阴影被部分遮挡


更多关于uni-app nvue页面圆形div阴影被切的实战教程也可以访问 https://www.itying.com/category-93-b0.html
不写成圆形,真机测试正常,打包后直接连阴影都不显示了
更多关于uni-app nvue页面圆形div阴影被切的实战教程也可以访问 https://www.itying.com/category-93-b0.html
安卓下 nvue 的 view 默认overflow:hidden 所以要显示完全父容器空间得足够
如果没有配置隐私政策,则打包后,安卓阴影能够正常显示 // 这个是历史bug,官方一直没改
我自己项目中阴影都是固定尺寸的image,内部使用absolute定位,使用的很少,长列表安卓性能很差
安卓下可以用 elevation 但是很鸡肋,和h5还有ios效果差很多
如果你这个页面没有特殊的性能或者其他要求,用 .vue 把,用 webview 渲染没毛病
谢谢,我之前打包了十几次都没出问题,这次打包出问题了,我还是换.vue文件
在 nvue 中,由于渲染机制差异,box-shadow 在部分 Android 设备上可能出现被裁剪的问题,尤其是当元素设置了 border-radius 时。这是因为 nvue 的渲染层对阴影的绘制区域计算可能存在限制。
解决方案:
-
使用
elevation属性替代(推荐)
对于 Android 平台,nvue 支持原生样式的elevation属性来实现阴影效果,兼容性更好。示例:width: 140px; height: 140px; border-radius: 70%; background-color: #4da2ff; elevation: 10; /* 控制阴影强度 */注意:
elevation的阴影颜色和偏移量是系统默认的,无法像box-shadow一样自定义颜色和方向。 -
增加外层容器并设置内边距
如果必须使用box-shadow,可以为圆形元素添加一个外层容器,通过内边距预留出阴影显示空间:<template> <view class="shadow-wrapper"> <view class="circle"></view> </view> </template> <style scoped> .shadow-wrapper { padding: 10px; /* 预留阴影空间 */ } .circle { width: 140px; height: 140px; border-radius: 70%; background-color: #4da2ff; box-shadow: 8px 8px 10px rgba(103, 103, 103, 1.0); } </style> -
调整阴影偏移量和模糊半径
适当减小阴影的偏移量或模糊半径,避免阴影超出元素边界被裁剪:box-shadow: 4px 4px 8px rgba(103, 103, 103, 0.8);

