【发布时间】:2016-10-12 02:24:45
【问题描述】:
我正在尝试创建一个带有背景图像(背景大小:封面)的 div,该形状在 div 的中心顶部切出。
我想剪掉这个形状的 div 上面的 div 也有 background-image:cover 。我正在尝试使用 CSS 形状来执行此操作,使用负边距顶部将下部 div 向上移动,因此上面 div 上的背景图像通过剪切形状显示。
注意:形状必须与图像看起来相同或几乎相同,因为它是由其他人设计的网站的一部分,并且他们的设计非常具体。
有谁知道如何创建这个形状?
编辑:@SZenC 提供了一个非常酷的解决方案,我实现了它,除了它让我在背景图像上覆盖了彩色形状。见图片:
我需要浅蓝色图案来显示灰色所在的位置,以及紫色纹理来显示白色所在的位置。在这一点上,我不确定这是否可能,至少对于 CSS。
【问题讨论】:
-
您也许可以使用两个具有边框半径的元素并将它们重叠。否则,如果您不想使用图像,则可以使用画布或 SVG。
-
如何使用图片?如果我不能在 CSS 中做到这一点,那将是我的下一个偏好。
-
@SZenC 发布了我将要发布的更好的答案,所以我将在此处保留这种略有不同的方法:jsfiddle.net/y4artrk9 可以将圆圈制成椭圆,然后重叠以实现您正在寻找的效果。
-
SVG 将是最佳选择。
-
对于 SZenC 答案 - 您可以使用背景图像而不是灰色和白色(至少在背景位置不可更改的情况下),只需指定正确的
background-position。
标签: html css css-shapes