让html元素随浏览器的大小自适应垂直居中的实现方法
发布于 2017-06-03 19:57:13 | 85 次阅读 | 评论: 0 | 来源: 网友投递
JavaScript客户端脚本语言Javascript 是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
下面小编就为大家带来一篇让html元素随浏览器的大小自适应垂直居中的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
表格可以实现td中的元素垂直居中显示,但是前提条件必须定义td的高才可行。
但是很多时候会用到元素跟随浏览器的大小垂直居中,如在制作展示官网、活动展示网等等的时候。
问题:
实现div垂直居中并在缩放浏览器尺寸的时候仍然居中。
解决方案:
1、浏览器可视区域的高度-元素的高度/2 = 元素距离浏览器可视区域顶部的距离。
(bodyHeight – divHeight)/2
2、浏览器可视区域如果小于元素的高度,即元素距离浏览器可视区域顶部的距离为零。
3、onresize()当浏览器的尺寸改变的时候触发事件。使用onresize()每次改变的时候,重新计算一下元素到顶部的距离。
实现代码:
function divMiddle(){
var dairyBox = document.getElementById('dairyBox');
var divHeight = dairyBox.offsetHeight;
var bodyHeight = document.body.offsetHeight;
if(bodyHeight > divHeight){
var endHeight = parseInt(bodyHeight - divHeight)/2;
dairyBox.style.marginTop = endHeight + "px";
}else{
dairyBox.style.marginTop = 0;
dairyBox.style.top = 0;
}
}
if(document.all){
window.attachEvent('onload',divMiddle);
}else{
window.addEventListener('load',divMiddle,false);
}
var resizeTimer = null;
window.onresize = function(){
resizeTimer = resizeTimer?null:setTimeout(divMiddle,0);
}
注意事项:
根据浏览器的不同onresize被触发的次数都不相同,因此处理的时候要格外小心。
以上就是小编为大家带来的让html元素随浏览器的大小自适应垂直居中的实现方法全部内容了,希望大家多多支持phperz~
相关阅读:
让html元素随浏览器的大小自适应垂直居中的实现方法
用js动态添加html元素,以及属性的简单实例
JavaScript操作HTML元素和样式的方法详解
让html页面不缓存js的实现方法
JavaScript 对任意元素,自定义右键菜单的实现方法
javascript 触发HTML元素绑定的函数
textarea 在浏览器中固定大小和禁止拖动的实现方法
js 动态给元素添加、移除事件的实现方法
批量下载对路网图片并生成html的实现方法
JS 清除字符串数组中,重复元素的实现方法
js获取隐藏元素宽高的实现方法
javascript中去除数组重复元素的实现方法【实例】