js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)


Posted in Javascript onDecember 11, 2013

js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)

<!doctype html> 
<head> 
<meta charset="utf-8" /> 
<title></title> 
<style type="text/css"> 
*{}{margin:0;padding:0;} 
html{}{_background:url(about:blank);} /**//* 阻止闪动 in IE6 , 把空文件换成about:blank , 减少请求 */ 
body{}{background:#fff; font: 12px/1.5 Tahoma,Geneva, \\5b8b\\4f53, sans-serif; height:100%;} 
.wrap{}{height:980px; padding-top:20px;text-align:center;} 
p{}{font-size:14px;text-align:center;line-height:24px;} 
/**//** 遮罩层 **/ 
#masklayer{}{ 
background:#000; 
display:none; 
filter:alpha(opacity = 50); 
opacity:0.5; 
top:0; 
left:0; 
height:100%; 
width:100%; 
z-index:999; 
position:fixed; 
_position:absolute; 
_left: expression(documentElement.scrollLeft + documentElement.clientWidth - this.offsetWidth); 
_top: expression(documentElement.scrollTop + documentElement.clientHeight - this.offsetHeight); 
} 
/**//** 弹出层 **/ 
#popup{}{ 
display:none; 
width:300px; 
z-index:1000; 
left:50%; 
top:50%; 
position:fixed!important; 
margin-left:-150px !important; 
_position:absolute; 
_top:expression(eval(document.compatMode && document.compatMode=='CSS1Compat')? 
documentElement.scrollTop + (document.documentElement.clientHeight - this.offsetHeight)/2: /**//*IE6*/ 
document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2); /**//*IE5 IE5.5*/ 
} 
.content{}{background:#f3f3f3;border:1px solid #999;} 
.content h3{}{background:#a0a0a0;color:#fff;font-size:14px;height:32px;line-height:32px; padding-left:5px;} 
#clickbtn{}{margin-top:20px;} 
</style> 
</head> 
<body> 
<div class="wrap"> 
<p> 
我是正文我是正文我是正文我是正文我是正文我是正文我是正文 
<br /> 
我是正文我是正文我是正文我是正文我是正文我是正文我是正文 
<br /> 
我是正文我是正文我是正文我是正文我是正文我是正文我是正文 
<br /> 
我是正文我是正文我是正文我是正文我是正文我是正文我是正文 
<br /> 
我是正文我是正文我是正文我是正文我是正文我是正文我是正文 
</p> 
<input type="button" id="clickbtn" value="clike me" /> 
</div> 
<div id="masklayer"></div> 
<div id="popup"> 
<div class="content"> 
<h3>我是弹出层 有没有居中?</h3> 
<p>居中居中居中居中居中居中</p> 
<p>居中居中居中居中居中</p> 
<p>居中居中居中居中</p> 
<p>居中居中居中</p> 
</div> 
</div> 
<script type="text/javascript"> 
(function(masklayer){ 
var clickbtn = document.getElementById('clickbtn'); 
clickbtn.onclick = function(){ 
var popup = document.getElementById('popup'); 
masklayer.style.display='block'; 
popup.style.display ='block'; 
var h = popup.clientHeight; 
with(popup.style){ 
marginTop = -h/2+'px'; 
} 
} 
})(document.getElementById('masklayer')) 
</script> 
</body> </html>
Javascript 相关文章推荐
intro.js 页面引导简单用法 分享
Aug 06 Javascript
使用jQuery和PHP实现类似360功能开关效果
Feb 12 Javascript
Iframe 自动适应页面的高度示例代码
Feb 26 Javascript
jQuery实现炫酷的鼠标轨迹特效
Feb 01 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
Jul 22 Javascript
jQuery动态创建元素以及追加节点的实现方法
Oct 20 Javascript
jQuery插件zTree实现的多选树效果示例
Mar 08 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
Sep 21 Javascript
JS实现的按钮点击颜色切换功能示例
Oct 19 Javascript
Vue 进阶之路(三)
Apr 18 Javascript
基于layui轮播图满屏是高度自适应的解决方法
Sep 16 Javascript
JS数组及对象遍历方法代码汇总
Jun 16 Javascript
按下Enter焦点移至下一个控件的实现js代码
Dec 11 #Javascript
JS中window.open全屏命令解析及使用示例
Dec 11 #Javascript
js的匿名函数使用介绍
Dec 11 #Javascript
jquery ajax jsonp跨域调用实例代码
Dec 11 #Javascript
JavaScript Math.ceil() 函数使用介绍
Dec 11 #Javascript
Javascript实现返回上一页面并刷新的小例子
Dec 11 #Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
Dec 11 #Javascript
You might like
PHP 如何向 MySQL 发送数据
2006/10/09 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
javascript 面向对象全新理练之继承与多态
2009/12/03 Javascript
基于jquery的滚动鼠标放大缩小图片效果
2011/10/27 Javascript
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
2020/07/19 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
Python读写ini文件的方法
2015/05/28 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
Python变量赋值的秘密分享
2018/04/03 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
django迁移数据库错误问题解决
2019/07/29 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
Python3的unicode编码转换成中文的问题及解决方案
2019/12/10 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
关于css兼容性问题及一些常见问题汇总
2016/05/03 HTML / CSS
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
DIY手工制作经营店创业计划书
2014/02/01 职场文书
中学生操行评语大全
2014/04/24 职场文书
红色旅游心得体会
2014/09/03 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
赢在中国观后感
2015/06/02 职场文书