如何在Chakra UI中实现头像悬浮于背景元素边缘上方?
实现头像超出Card彩色头部边缘的效果(Chakra UI)
想要实现的效果是:让头像位于Card的彩色头部上方,并且向下超出头部边缘,覆盖到Card主体区域。下面是基于你现有代码的修改方案,完全用Chakra UI的内置属性实现,不需要额外CSS:
修改后的代码
import * as React from 'react'; import {Card, CardBody, CardHeader, Text, Avatar} from '@chakra-ui/react' // 组件return中的JSX: <Card width="400px" overflow="visible"> <CardHeader backgroundColor="auditorCard.headerBg1" p={4} zIndex="1" overflow="visible" > <Avatar src='https://link-to-profile.jpg' mb="-24px" border="4px" borderColor="white" boxSize="48px" /> </CardHeader> <CardBody pt="24px"> <Text>Body</Text> </CardBody> </Card>
关键属性说明
overflow="visible":给Card和CardHeader加上这个属性,确保头像不会被容器裁剪掉mb="-24px":通过负的底部外边距,让头像向下偏移,超出CardHeader的底部边界pt="24px":给CardBody设置对应的顶部内边距,避免正文内容被头像遮挡border="4px" borderColor="white":给头像加白色边框,让它在彩色头部和白色主体之间的视觉层次更清晰(可根据你的主题调整颜色)
你可以根据实际需求调整mb和boxSize的数值,来控制头像超出的幅度和大小。
内容的提问来源于stack exchange,提问作者Finlay Weber
相关产品推荐
相关产品推荐

