我创建了一个codesandbox示例。
https://codesandbox.io/s/cool-mendel-pxygjc
当单击方块div时,面板内容将显示。
使用相同背景图像的两个div。
我试图使这个角落圆,并显示相同的背景图像,但不知道如何做到这一点。
如果有人能给予我一些提示来实现这一点,我将不胜感激。
的数据
我创建了一个codesandbox示例。
https://codesandbox.io/s/cool-mendel-pxygjc
当单击方块div时,面板内容将显示。
使用相同背景图像的两个div。
我试图使这个角落圆,并显示相同的背景图像,但不知道如何做到这一点。
如果有人能给予我一些提示来实现这一点,我将不胜感激。
的数据
3条答案
按热度按时间zvokhttg1#
这里有一个可能的解决方案:
字符串
Demo的数据。
请注意,我 * 强烈 * 建议 * 反对 * 这种类型的硬编码大小到容器/背景图像。它不能很好地扩展,也不是响应友好的。
老实说,从图形的Angular 来看,我也不觉得它特别吸引人。我知道我在这里是主观的,我的保留意见可能会用更合适的颜色/图像来减少。
无论如何,如果要求创建这种类型的 “设计” 而不对像素进行硬编码,我可能会动态地生成一个SVG形状,该形状将通过内容容器的大小的任何更改(使用ResizeObserver s)进行真实的更新。我使用这个动态SVG来mask第三个元素,它只负责裁剪背景,呈现在内容容器下面。
另一个不错的解决方案是使用CSS变量将当前的解决方案转换为一个更动态的解决方案:demo。
zf2sa74q2#
我在这里做了一些类似的:https://twitter.com/ChallengesCss/status/1661822077584789507我使用CSS掩码的地方:
个字符
3ks5zfa03#
最好只使用一个div,将两个div改为一个div,并在CSS中使用溢出,然后在JavaScript中添加单击事件。所以,我的建议是使用CSS溢出,这样它就简洁而不太复杂。CSS溢出:https://www.w3schools.com/css/css_overflow.asp
提示是,当点击时改变溢出值。可以使用JavaScript上的切换。js切换:https://www.w3schools.com/howto/howto_js_toggle_class.asp的