html - 使用 DOM 元素作为掩码
问题描述
小提琴演示问题:https ://jsfiddle.net/0z6ybe5p/
是否可以将 alpha 蒙版应用于元素(<div>
在本例中),以便在另一个元素 ( <span>
) 存在的地方剪切它?<span>
我希望背景图像在文本周围的矩形中可见。
解决方案
密码笔
这是可能的,但它需要一个间接的解决方案。通过使用该clip-path
属性,我们可以将 显示#target
为框架,然后将 居中<h1>
,但这需要进行一些更改。
首先- 我们需要让不再是孩子<h1>
的兄弟姐妹。#target
<body>
<div id=target></div>
<h1 id="clipper">CLIP HERE</h1>
</body>
第二- 将clip-path
属性添加到#frame
. 您可以对这些值进行一些调整以使其看起来更好看,甚至可以使用无响应的单位,例如px
. 这是 Bennett feely 的一个非常好的在线编辑器的链接。
body {
margin: 0;
background-image: url('https://picsum.photos/400/200');
}
#target {
position: fixed;
width: 100%;
height: 100%;
background-color: gray;
clip-path: polygon(0% 0%, 0% 100%, 25% 100%, 25% 25%, 75% 25%, 75% 75%, 25% 75%, 25% 100%, 100% 100%, 100% 0%);
}
#clipper {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
<body>
<div id=target></div>
<h1 id="clipper">CLIP HERE</h1>
</body>
推荐阅读
- javascript - TypeScript:使用自定义验证值扩展键
- mongodb - MongoDB 聚合中的 new Date() 返回 1970-01-01T00:00:00Z
- flutter - Flutter Blue 读取特性问题
- android - 无法将 Json 对象发送到 android 中的服务器
- git - Git Tag,如何在提交消息时获得编辑器?
- ruby - 在 ruby v2.6.2 中销毁 DataMapper 对象后,Time 字段以 UTC 格式返回
- java - 从 HttpServletRequest 对象获取 cookie 的最佳方法是什么?
- reporting-services - 使用 SSRS 2016 在矩阵报告中使用查找和求和
- javascript - 如何在 React Native Android 应用程序中只选择一个复选框?
- makefile - 不允许对 Makefile 中的变量进行进一步的赋值