Javascript 在给定视口中使用叠加div剪裁场地显示
我想问的是,为什么会有一个网站,比如StackOverflow,一个覆盖div可以隐藏除div内部内容之外的所有内容。我想就像一个相机一样,你只能看到取景器中的内容,而不能看到取景器外部的内容。我想暂时把取景器修好 我发现: 这很接近,但不是很接近。我试着在谷歌上搜索并询问朋友devs,但在资源部门没有运气。有人有什么想法让我开始吗Javascript 在给定视口中使用叠加div剪裁场地显示,javascript,jquery,html,css,dom,Javascript,Jquery,Html,Css,Dom,我想问的是,为什么会有一个网站,比如StackOverflow,一个覆盖div可以隐藏除div内部内容之外的所有内容。我想就像一个相机一样,你只能看到取景器中的内容,而不能看到取景器外部的内容。我想暂时把取景器修好 我发现: 这很接近,但不是很接近。我试着在谷歌上搜索并询问朋友devs,但在资源部门没有运气。有人有什么想法让我开始吗 <html> <div class="content"> <h1>All the page con
<html>
<div class="content">
<h1>All the page content divs</h1>
</div>
<div id="viewport-window"></div>
</html>
所有页面内容div
您也可以通过两个步骤来完成,例如:
- 首先,创建一个div覆盖整个页面并隐藏所有内容
- 第二,创建一个div克隆(待显示),绝对位置与原始位置具有相同的坐标,并增加其z索引
所以,逻辑是隐藏一切,显示你想要的。您还可以使用css或jquery动画将其可视化。实际上,您可以在不使用“overlay”元素的情况下实现这一点 只需使用一个巨大的方块阴影和一个高z指数 在本例中,我使用了一个
:hover
,而“overlay”是略微透明的
.wrapper{
宽度:80%;
保证金:自动;
文本对齐:居中;
}
.盒子{
宽度:100px;
高度:100px;
边缘:1米;
显示:内联块;
垂直对齐:顶部;
背景:李子;
位置:相对位置;
}
.box:悬停{
盒影:10000pxRGBA(0,0,0,0.75);
z指数:9999;
}
乱数假文。
乱数假文。
乱数假文。
您可以通过将样式应用于希望覆盖的主元素来实现这一点(例如,如果希望覆盖整个页面,则应用正文)。您也可以使用它来获得更多的浏览器支持,但请记住它已被弃用
演示
具有静态剪辑路径,但在其周围移动鼠标时,将更改为跟随鼠标的200x200视口
jQuery(document).mousemove(函数(e){
var width=jQuery(document).width();
var height=jQuery(document.body).height();
var viewW=200;
var viewH=200;
var top=e.pageY-(视图H/2);
右侧变量=(宽度-e.pageX)-(视图w/2);
变量底部=(高度-e.pageY)-(视图H/2);
var left=e.pageX-(视图w/2);
var style=“inset(“+top+“px”+right+“px”+bottom+“px”+left+“px”);
jQuery(document.body).css({
“-webkit剪辑路径”:样式,
“-moz剪辑路径”:样式,
“剪辑路径”:样式
});
});代码>
正文{
-webkit剪辑路径:插入(20px 200px 200px 40px);
-moz剪辑路径:插入(20px 200px 200px 40px);
剪辑路径:插入(20px 200px 200px 40px);
}
我相信您所指的是css剪辑:您有两种选择,但这听起来更像是浏览器插件功能,而不是网站要求。总体目标是什么?剪辑!谢谢,我不知道它叫什么。Erm不,不是浏览器插件,它是一个需要此功能的组合网站,但需要鼠标拖动。我已经做了那部分,我只是不知道如何剪辑。谢谢@XKCD149我已经添加了一张图片来获取要点。我已经编辑了更多信息。谢谢你的帮助,但这并不完全是我所需要的。我想它很近,但范围不大。我已经更新了问题,你已经从根本上改变了问题。请不要那样做。我已经把问题推回原处。如果你有新问题,请在单独的帖子中提问。