• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > SCSS移动端页面遮罩层效果的实现及常见问题解决

SCSS移动端页面遮罩层效果的实现及常见问题解决

作者:结一 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含SCSS,遮罩层,CSS等相关知识,结一 希望在学习及工作中可以帮助到您

实例
可以兼容安卓4.0.4+:
201669105353262.jpg (320×436)

设计结构如下:

  1. <header class="header"></header>  
  2. <div class="wrap-page">  
  3.     <section class="page"></section>  
  4.     ...   
  5. </div>  
  6. <footer class="footer"></footer>  
  7. <div class="overlay">  
  8.     <section class="modal">  
  9.         <div class="modal-hd"></div>  
  10.         <div class="modal-bd"></div>  
  11.         <div class="modal-ft"></div>  
  12.     </section>  
  13. </div>  

这个overlay遮罩层的问题,现在这里说明下为什么这么设计。

一般来说看到的overlay都与modal是兄弟元素,而不是嵌套关系。本来我也是这么设计的,这就是习惯。后来由于modal居中的问题,重新审视了下这个问题:

为什么遮罩层的overlay与弹窗内容是兄弟元素?

说实话真想不出什么理由,非得搞成兄弟元素。后来突然意识到以前的遮罩层如果不采用半透明图片的话,就得使用opacity(ie6-8不支持,通过滤镜模拟),而这个属性会对整个子元素都起作用,而且还没办法通过子元素覆写这个值。这是我能想到的一条最佳理由,如果还有其他理由欢迎交流。

对于高上大的移动端来说,都是rgba时代了,所以opacity回家吃饭先。既然这个对子元素的影响已经不是问题,那么嵌套关系就可以成立,而且嵌套还有一个非常好的理由,水平垂直居中,flex小指一动即可。而兄弟元素的水平垂直居中就得设置modal的top和left的值为50%,然后再设置translate的x和y方向都-50%

所以果断抛弃兄弟元素设计换成嵌套关系。

因为overlay采用了flex布局来控制子元素居中,所以不难呢过采用display为none/block来显示隐藏遮罩层overlay,而是通过z-index的层级来控制,而modal部分通过添加删除modal-in这个class来控制显示隐藏

scss代码如下:

  1. .overlay{   
  2.     position: fixed;   
  3.     top: 0;   
  4.     rightright: 0;   
  5.     bottombottom: 0;   
  6.     left: 0;   
  7.     z-index: -1;   
  8.     background-color: rgba(0,0,0,.8);   
  9.     @include flex-center; // flex水平垂直居中   
  10. }   
  11. .overlay.active {   
  12.   z-index: 980;   
  13. }   
  14.   
  15. $modalBarHeight: 40px !default;   
  16. $modalBdPadding: 15px;   
  17.   
  18. .modal{   
  19.     background-color: #fff;   
  20.     border-radius: 5px;   
  21.     margin<

您可能想查找下面的文章:

  • SCSS移动端页面遮罩层效果的实现及常见问题解决
  • LESSCSS让CSS使用起来更加灵活成就CSS动态化
  • 动态的样式表lesscss:简单学习lesscss语法
  • scss 数学运算,加减乘除运算

相关文章

  • 2017-08-06设计一个带选择和提示功能的检索框(分步介绍)
  • 2017-08-06css教程实现div背景色渐变色代码分享
  • 2017-08-06CSS中使用inline-block来进行居中的示例
  • 2017-08-06CSS3实现千变万化的文字阴影text-shadow效果设计
  • 2017-08-06圆形头像图标运用border属性轻松实现
  • 2017-08-06CSS3属性box-sizing使用指南
  • 2017-08-06css3一款3D字体带阴影效果的实现步骤
  • 2017-08-06css核心基础总结篇(推荐)
  • 2017-08-06HTML默认样式表CSS属性除了inline和block的定义
  • 2017-08-06纯CSS实现箭头、气泡让提示功能具有三角形图标

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 纯css实现让div的四个角成弧形
    • IE6下PNG图片透明问题解决方案集锦
    • 网页制作中字体使用小结
    • filter:drop-shadow有方向的阴影使用说明
    • css重置浏览器字体大小示例分享
    • 完美解决调用上级目录中的css样式文件的路径问题
    • CSS3 please 跨浏览器的CSS3产生器
    • Google 谷歌内页logo的呈现方式(图片下面有文字)
    • HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
    • css中伪类:after的用法(三种方式)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有