如何在一个拥有背景色的DIV上抠出一块透明的区域

如何在一个拥有背景色的DIV上抠出一块透明的区域?
图片描述

阅读 7.5k
6 个回答

不要想直接获取结果,你可以拼接几个div,或者使用canvas

border设置颜色,content设置成透明色,不知这样行不行

一般这样的需求可以通过,1)在div中添加一个元素,例如span或者其他标签,然后将这个元素的背景色设置成白色,这样看起来就会有一款透明的区域了,或者使用opacity:0.8来设置
2)也可以使用伪类::after通过控制边框来控制样式即可

我的想法:
将div设置position:relative属性;
透明区域的背景设置透明并保持相对定位。

我能想到的就是给div设置纯色背景图,只是背景图的某一区域是透明的

如果是 CSS 的背景色,不可能。(或者有某些我不知道的 CSS 新功能)
如果只是实际效果,那么使用 svg 来实现这个“背景色”就有办法了。(具体去搜索 svg mask

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题