为什么80%的码农都做不了架构师?>>>
今天在做移动端小型活动页时遇到了这样的问题:
(小的尚不知应如何准确定义成遮罩层或弹窗层,下文可能会混用,但本文弹窗===遮罩)
一个遮罩层拥有较多的内容,需做成滑动效果;但在滑动遮罩内容时,下方主体内容同样可滑动。
因此需要实现弹窗层滑动,同时下方内容禁止滑动。
首先解决第一个:弹窗滑动的问题。
那么,先来看下弹窗部分:我们常用的弹窗基本是一个半透明的黑色,并且能够覆盖全屏。
他的代码应是这样的:
.mask{
position:fixed;top:0;left:0;right:0;bottom:0;background: rgba(0,0,0,.5);
}
设置fixed能够在页面滑动时,遮罩层固定,从而能兼顾整个页面的覆盖。
而弹窗滑动只需再加属性:
overflow: auto;
即可。
其次,下方主体内容的禁止滑动:
因为两者其一需要滑动,从而是不能禁止body 的默认事件的,即stroppropagation()是行不通的。
偶然想到:在弹出层显示后,对body加上position:fixed;属性,即可让body中的主体内容部分固定。
因为遮罩层本身即有position:fixed,因此不产生影响(其滑动是由overflow: auto;实现)
为此,小人写了一小串事例代码如下,可供可能存在的看官撸之:
我是背景上的字
我是背景上的字
我是背景上的字
我是背景上的字
我是背景上的字
我是背景上的字
我是背景上的字
我是背景上的字
最后补充两点:
1.需要在移动端(真机)才能测试效果,浏览器的模拟效果不行。
2.很简单的内容,新手记录所用。