在我的Next.js应用程序(基本上是React)中,我试图用样式化组件和边框绘制一个梯形。
我的代码是这样的:
const StyledContainer = styled.div`
position: relative;
border-right: 75px solid red;
border-top: 25px solid transparent;
height: 50%;
width: 75%;
display: flex;
`
然而,就我的目的而言,我需要border-right和border-top属性来使用百分比,但是当我在border-right中插入75%而不是75px时,梯形就不再可见了。
我已经试了一整天来解决这个问题,但我没有做到。有人知道我需要做什么吗?🙏
对于上下文,父容器同时具有width和height属性:
const SAGraph = styled.div`
width: 100%;
height: 100%;
display: flex;
align-items: flex-end;
background-color: hotpink;
`;
我见过类似的问题,这些问题都是通过使用vw
作为单位来解决的,但这对我的情况没有帮助,因为我需要使用百分比,以确保梯形不会移动到容器之外,并且它使用容器的整个宽度...
编辑:这是我想要的输出图片:
1条答案
按热度按时间jdgnovmf1#
如果红色部分只是为了装饰,可以将其作为伪after元素添加到父元素中,将其着色为红色,并使用CSS剪切路径和百分比坐标将其剪切为所需的形状。
如果你想让红色的部分成为一个实际的子元素,那么直接在子元素上使用相同的技术(而不是在伪元素上)。