zoukankan      html  css  js  c++  java
  • 让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被触发的次数都不相同,因此处理的时候要格外小心。

  • 相关阅读:
    Java Web 网络留言板2 JDBC数据源 (连接池技术)
    Java Web 网络留言板3 CommonsDbUtils
    Java Web ConnectionPool (连接池技术)
    Java Web 网络留言板
    Java Web JDBC数据源
    Java Web CommonsUtils (数据库连接方法)
    Servlet 起源
    Hibernate EntityManager
    Hibernate Annotation (Hibernate 注解)
    wpf控件设计时支持(1)
  • 原文地址:https://www.cnblogs.com/linjiqin/p/2081362.html
Copyright © 2011-2022 走看看