javascript - 删除 div 的特定区域

标签 javascript jquery html css

我有一个问题似乎无法解决。

我有一个包含内容的div。我想将这个 div trim 成非矩形形状。这样我就可以通过 div 的区域看到底层背景,而 div 本身有一个未 trim 的背景。

解释起来有点笨拙:

Div with content on background with marked corners that should be cut out 这是包含图像的 div 的图片,它有一个 background-color,同时位于 background-image 上。我想“切断”青色 Angular ,让 background-image 从那里显示出来。

像这样:div trimmed the way I want

我已经设置了一个 Codepen已经实现了第一张图片 - 如果这样更容易理解的话。我想从“内部”div 中单独删除所有 .cutouts

到目前为止,我找到了 clip-path作为这样做的最佳人选,但它似乎与我想要的完全相反。

Specify a specific region of an element to display, rather than showing the complete area.

也许我很笨,看不出我怎么能用它来做我想要的。
你们中有人知道我如何实现这一目标吗?

最佳答案

想到的最简单的解决方案是使用具有透明度的 png 图像。不确定这是否适合你,但如果你跟踪可见区域路径中的点,你实际上可以使用 clip-path: polygon(...) ,基本上是这样的:

+--3----------4--+
|  |          |  |
1--2          5--6
|                |
|                |
12-11         8--7
|  |          |  |
+--10---------9--+

其中每个数字代表路径上的一个点。所以按照 clip-path: polygon(0 5%, 5% 5%, 5% 0, 95% 0, 95% 5%, 100% 5%, 100% 95%, 95% 95 %, 95% 100%, 5% 100%, 5% 95%, 0 95%),请参阅我的 forked codepen 中的示例.

请注意 clip-path currently doesn't work在 Internet Explorer 中。

关于javascript - 删除 div 的特定区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34235385/

相关文章:

javascript - 如何用Javascript做这个框?

javascript - 如何使 jQuery "shrink text"函数更加高效?用二分查找?

javascript - AngularJs+ionic 将html数据发送到Controller/popupbox

html - 输入模式,至少 1 个非空白字符

javascript - 如何在 HTML 上显示特定的日期格式

javascript - 如何防止离开时重新加载图像 "display: none"

javascript - json-schema 附加元数据

javascript - 如何让这个 HTML5 canvas 脚本全屏显示?

javascript - 当我需要显示更多时,我的选择框被缩小到两个条目

javascript - if 语句中的 JQuery AND OR 运算符