CSS遮罩层对话框
2014-06-11 14:48
99 查看
CSS遮罩层对话框简单实现
0.前期准备工作
jquery 1.8支持HTML
CSS
1.创建一个在浏览器顶层的“遮罩层”
<div id="mask" class="mask"></div>
.mask { z-index:98; background-color: #000; position: fixed; left: 0; top: 0; right: 0; bottom:0; filter:alpha(opacity=80); /*支持 IE 浏览器*/ -moz-opacity:0.80; /*支持 FireFox 浏览器*/ opacity:0.80; /*支持 Chrome, Opera, Safari 等浏览器*/ }要保证遮罩层在浏览器顶层,z-index设置比较高的值(一般最顶层还要显示一个信息对话框什么的),现在考虑如何让它铺满整个页面。
设置left、top、right、bottom都为0,这样就保证遮罩层铺满当前页面;
设置position为fixed保证浏览器滚动条滚动后仍保持遮蔽效果;
设置调整filter、-moz-opacity和opacity透明度兼容性,保证遮罩效果。
2.创建一个信息对话框
<div id="dialog" class="modal"> <div class="modal-header"> <div class="close">x</div> test header </div> <div class="modal-body"> test body </div> <div class="modal-footer"> <button>确认</button> <button>关闭</button> </div> </div>
.modal { z-index: 99; position: fixed; background-color: #ffffff; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; -moz-box-shadow: 0 0 3px 3px #888; -webkit-box-shadow: 0 0 3px 3px#888; box-shadow: 0 0 3px 3px #888; } .modal-header { z-index: 99; padding: 9px 15px; border-bottom: 1px solid #eee; } .modal-body{ padding: 9px 15px; } .modal-footer{ text-align: right; border-top: 1px solid #eee; } .close{ cursor: pointer; float: right; font-size: 20px; line-height: 20px; color: #ccc; opacity: 0.80; font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; } .close:hover{ color: #000; }保证dialog的z-index在mask上面,样式可以自己调整,阴影和圆角看个人喜欢。
3.jquery显示控制
$(function () { $('#mask').click(function(){ hideMask(); }); $('#dialog .close').click(function(){ hideMask(); }); var windowWidth, windowHeight; if (self.innerHeight) { // all except Explorer if (document.documentElement.clientWidth) { windowWidth = document.documentElement.clientWidth; } else { windowWidth = self.innerWidth; } windowHeight = self.innerHeight; } else { if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode windowWidth = document.documentElement.clientWidth; windowHeight = document.documentElement.clientHeight; } else { if (document.body) { // other Explorers windowWidth = document.body.clientWidth; windowHeight = document.body.clientHeight; } } } $('#dialog').css("left",(windowWidth-$('#dialog').width())/2); $('#dialog').css("top",(windowHeight-$('#dialog').height())/2); }); /** * 隐藏蒙版和对话框 */ function hideMask(){ $('#dialog').fadeOut(900); $('#mask').fadeOut(1000); }
4.效果图
相关文章推荐
- CSS3 animation-- 用animate.css重写一个带有回弹效果的模态对话框(2)
- CSS对话框特效 兼容性好
- 使用CSS绘制基础的对话框图案的代码示例
- 使用CSS和jQuery实现对话框
- js 弹出对话框(遮罩)透明,可拖动的简单实例
- 小程序 用css实现遮罩效果
- CSS现尖角对话框或带尖角的导航
- css实现遮罩层(解决透明背景上的文字不透明)
- jQuery+css+html实现页面遮罩弹出框
- 关于.Net页面弹出对话框而改变CSS布局的问题
- JS+CSS简单实现DIV遮罩层显示隐藏
- android遮罩阴影对话框的实现
- angular 实现modal windows效果(即模态窗口,半透明的遮罩层),以及bootstrap(css,components,js)的初步学习
- jQuery实现单击按钮遮罩弹出对话框(1)
- css 遮罩样式(支持IE和FireFox)
- CSS遮罩层,全兼容
- 纯CSS代码实现各类气球泡泡对话框效果
- 学习笔记3--CSS制作鼠标放上后淡入透明遮罩层效果
- js 弹出对话框(遮罩) 透明,可拖动
- DIV+CSS页面布局示例 遮罩层