我正在开发某种绘图应用。 容器div中有元素,顶部还有另一个div,它应该夹在里面的所有元素。
以下是示例:http://jsfiddle.net/n6m4n750/
红色矩形"#clip
必须剪切#container
div中的所有元素,因此隐藏#clip
div之外的任何元素或元素的一部分。
怎么可能这样做?
任何帮助将不胜感激。
答案 0 :(得分:1)
据我所知,真的无法真正剪辑它。
如果你的背景是白色的,你可以模拟这个想法,在它周围留下一个巨大的白色阴影
#clip {
position: absolute;
width: 300px;
height: 300px;
border: solid 2px red;
top: 50px;
left: 50px;
box-shadow: 0px 0px 0px 1000px white;
}
答案 1 :(得分:1)
答案 2 :(得分:0)
由于您无法修改 html,因此我没有看到纯 css 解决方案。也许你可以用 js 跟踪剪辑。
const computeClip=function(target,mask){
let maskRect = mask.getBoundingClientRect();
let targetRect=target.getBoundingClientRect();;
let clip='rect('
+(maskRect.top-targetRect.top)+'px,'
+(maskRect.left+maskRect.width-targetRect.left)+'px,'
+(maskRect.top+maskRect.height-targetRect.top)+'px,'
+(maskRect.left-targetRect.left)+'px)';
target.style.clip=clip;
};