uni-app image标签设置圆角不全

uni-app image标签设置圆角不全

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

操作步骤:

预期结果:

四个角都是圆角

实际结果:

上面两个是圆角,下面两个不是圆角

bug描述:

image标签设置style="border-radius:10rpx";
结果只有左上角和右上角圆角,左下角和右下角没变化。外面套了一层div,设置border-radius也是一样的结果
3 回复

其实是生效的。之所以下面两个角没效果,是因为图片没有完全展示出来。 最简单的验证办法,给图片加上固定长宽,比如都是200rpx,你再设置圆角,你看看是不是就好了
如果不给image设置圆角,而是给外层view设置,那设置完了还得overflow:hidden一下吧


我也遇到这个问题了 为啥呢 手动设置图片宽高 也不行

uni-app 中使用 image 标签时,如果你发现设置的圆角(border-radius)没有完全生效,可能是由于以下几个原因导致的。以下是一些常见的解决方法:

1. 使用 border-radius 属性

确保你正确使用了 border-radius 属性来设置圆角。例如:

<image src="your-image-url" style="border-radius: 10px;"></image>

2. 设置 overflow: hidden

如果 image 标签的父元素没有设置 overflow: hidden,可能会导致圆角不完全显示。你可以尝试在父元素上设置 overflow: hidden

<view style="border-radius: 10px; overflow: hidden;">
  <image src="your-image-url" style="width: 100%; height: 100%;"></image>
</view>

3. 使用 mode 属性

image 标签的 mode 属性可以控制图片的显示方式。如果你希望图片完全适应容器并显示圆角,可以使用 aspectFillscaleToFill 模式:

<image src="your-image-url" mode="aspectFill" style="border-radius: 10px;"></image>

4. 使用 clip-path 属性

如果你需要更复杂的裁剪效果,可以尝试使用 clip-path 属性:

<image src="your-image-url" style="clip-path: inset(0 0 0 0 round 10px);"></image>

5. 检查图片的宽高

确保图片的宽高比例与容器的宽高比例一致,否则可能会导致圆角显示不全。你可以通过设置 widthheight 来调整图片的尺寸:

<image src="your-image-url" style="width: 100px; height: 100px; border-radius: 10px;"></image>

6. 使用 uni.css 中的样式

如果你使用的是 uni.css,可以尝试使用其中的样式类来设置圆角:

<image src="your-image-url" class="uni-radius"></image>

7. 检查平台差异

不同平台(如微信小程序、H5、App等)可能会有不同的渲染方式,确保你在目标平台上测试了效果。

8. 使用 cover-viewcover-image

在某些情况下,使用 cover-viewcover-image 可能会更好地控制圆角的显示。

<cover-image src="your-image-url" style="border-radius: 10px;"></cover-image>

9. 使用 transform 属性

在某些情况下,使用 transform 属性可以帮助解决圆角显示不全的问题:

<image src="your-image-url" style="border-radius: 10px; transform: translateZ(0);"></image>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!