让html元素随浏览器的大小自适应垂直居中的实现方法


Posted in Javascript onOctober 12, 2016

表格可以实现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元素随浏览器的大小自适应垂直居中的实现方法全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 Javascript
javascript 冒号 使用说明
Jun 06 Javascript
js post方式传递提交的实现代码
May 31 Javascript
javascript语言结构小记(一)
Sep 10 Javascript
什么是Node.js?Node.js详细介绍
Jun 01 Javascript
js怎么覆盖原有方法实现重写
Sep 04 Javascript
jQuery操作iframe中js函数的方法小结
Jul 06 Javascript
简单理解Vue条件渲染
Dec 03 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 Javascript
JavaScript 实现 Tab 点击切换实例代码
Mar 25 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
Aug 25 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 Javascript
Angularjs手动解析表达式($parse)
Oct 12 #Javascript
js利用clipboardData实现截屏粘贴功能
Oct 12 #Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
Oct 12 #Javascript
jQuery给指定的table动态添加删除行的操作方法
Oct 12 #Javascript
详解Javascript中的原型OOP
Oct 12 #Javascript
浅析BootStrap Treeview的简单使用
Oct 12 #Javascript
jquery自定义表单验证插件
Oct 12 #Javascript
You might like
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
用cookies实现的可记忆的样式切换效果代码下载
2007/12/24 Javascript
JavaScript关于select的相关操作说明
2010/01/13 Javascript
JS 密码强度验证(兼容IE,火狐,谷歌)
2010/03/15 Javascript
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
javascript 得到变量类型的函数
2010/05/19 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
JS三目运算(三元运算)方法详解
2017/03/01 Javascript
详解Angular2学习笔记之Html属性绑定
2018/01/03 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
python操作字典类型的常用方法(推荐)
2016/05/16 Python
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
不到40行代码用Python实现一个简单的推荐系统
2019/05/10 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
前端实现打印图像功能
2019/08/27 HTML / CSS
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
成人大专自我鉴定范文
2013/10/19 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
委托函范文
2015/01/29 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python
方法汇总:Python 安装第三方库常用
2022/04/26 Python