博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mask遮罩层的华丽写法
阅读量:5957 次
发布时间:2019-06-19

本文共 850 字,大约阅读时间需要 2 分钟。

mask遮罩蒙层使用通常的写法的bug

通常写法pug

 

.mask

 

  

 

通常写法css

.mask{position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: 100;/*移动端*/background: rgba(0,0,0,.5);/*ie*/background: #000;opacity: 0.5;filter: alpha(opacity = 0.5);}

  

但是这种适用于内容小于屏幕高度的,如果内容撑出屏幕,那么css自动计算的mask的高度就有问题了,
比如这样,
正面看很ok
但是轻轻上滑。。
嘚!露怯了!

 

起初想的解决是,mask出现的时候不让页面滚动?

倒也不是不可以,但是万一人家刚好移动了一点点再点击调出蒙层呢?不也还是露怯么!属于治标不治本型的。

那就只能从高度上下手了

刚好页面中有计算可视化高度的,
我给mask设置style的行内高度为可视区域高度,发现也不行

那设置成body的scrollHeight呢?也不行

不知道是不是css是rem而我设置px的原因

反正都没解决

但是js动态设置高度后,我无意识的将position:absolute;改成了position:fixed;

妈耶效果好了!

起初还以为是js起作用了,还想小小开心庆祝下我的机智

后来转念一想,高度设置了下边也是露一块啊,为什么蒙层却完美贴合了呢?!
所以肯定另有玄机
我就把js删掉,发现果真对人家没什么影响,还是那么完美的贴合。
刚就改了两个地方,于是,我把目光瞄准了css

尼玛,原来就是fixed和absolute的区别啊!

好了,问题这次真的解决了,测试了很多不同分辨率都OK

.mask{display: none;position: fixed;top: 0;right: 0;bottom: 0;left: 0;z-index: 100;background: rgba(0,0,0,.5);}

  

转载地址:http://vvrxx.baihongyu.com/

你可能感兴趣的文章
KVM虚拟机&openVSwitch杂记(1)
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>
2013 Linux领域年终盘点
查看>>
linux学习之查看程序端口占用情况
查看>>
相逢在栀枝花开的季节
查看>>
linux下git自动补全命令
查看>>
Ubuntu14.04LTS更新源
查看>>
Linux报“Unknown HZ value! (288) Assume 100”错误
查看>>
mysql多实例实例化数据库
查看>>
我的友情链接
查看>>
golang xml和json的解析与生成
查看>>
javascript 操作DOM元素样式
查看>>
Android 内存管理 &Memory Leak & OOM 分析
查看>>
【查找算法】基于存储的查找算法(哈希查找)
查看>>
JavaWeb网上图书商城完整项目--day02-10.提交注册表单功能之页面实现
查看>>
记录一下这次web实训的两个网站
查看>>
POJ-1830 开关问题 高斯消元
查看>>
做程序开发的你如果经常用Redis,这些问题肯定会遇到
查看>>
006android初级篇之jni数据类型映射
查看>>