在React Native中,是否可以让父级允许一个绝对定位的子级溢出,而另一个不溢出?

eqoofvh9  于 2022-11-17  发布在  React
关注(0)|答案(1)|浏览(149)

我有一个父元素,里面有两个绝对定位的子元素。我希望其中一个子元素的溢出是可见的,而另一个子元素的溢出是隐藏的。如下所示:

overflow: 'hidden添加到父对象会隐藏硬币图像和“最流行”框格的溢出,但我希望硬币图像溢出可见。

container: {
    width: 155,
    height: 145,
    backgroundColor: Colours.white,
    borderRadius: 10,
    borderColor: Colours.borderTwo,
    borderWidth: 1,
    alignItems: 'center',
    justifyContent: 'flex-end',
    margin: 10,
    marginBottom: 25,
    paddingBottom: 10,
    overflow: 'hidden',
  },
  mostPopularSash: {
    position: 'absolute',
    top: 2,
    right: -30,
    backgroundColor: Colours.yellow,
    width: 100,
    height: 40,
    alignItems: 'center',
    justifyContent: 'center',
    transform: [{rotate: '40deg'}],
  },
  imageContainer: {
    position: 'absolute',
    top: -22,
    width: 52,
    height: 52,
    borderRadius: 100,
    backgroundColor: Colours.white,
    borderColor: Colours.pageColour,
    borderWidth: 1,
    justifyContent: 'center',
    alignItems: 'center',
    shadowColor: '#171717',
    shadowOffset: {width: 0, height: 3},
    shadowOpacity: 0.2,
    shadowRadius: 2,
    elevation: 5,
  },
  image: {
    width: 40,
    height: 40,
  },

我试过将zIndex: 2添加到图像容器中,然后将zIndex: 1添加到父对象中,但没有成功。
在网上找不到太多解决这个问题的方法,因为大多数与“溢出”相关的查询都要求相反的效果。
任何帮助都将不胜感激!

ndh0cuux

ndh0cuux1#

在iOS中,您可以使用zIndex
您可以创建一个道具或状态来告诉您哪个是活动的。
例如,

<View style={{zIndex:2}}>
{data.map(item => <CustomComp active={item.active} /> )}
</View>

在customcomp中,可以设置父样式,如

style={{ props.active ? 3 : 1 }}

确保已将zIndex分配给容器视图

相关问题