zoukankan      html  css  js  c++  java
  • JS实现div动态水平垂直居中

    在做页面的过程中,在很多地方都会遇到元素需要水平垂直的居中这个问题,之前总是去网上搜别人的代码,今天仔细研究了一下,分享给大家,先写一个简单的例子:

    <div class="mui-content">
      <div id="logo_wrap">
      </div>
    </div>

    我就是想把id为logo_wrap的元素整个页面居中,logo_wrap的样式#logo_wrap{height: 100px;text-align: center;}

    首先水平居中很简单,如果logo_wrap的宽度是未设置的(100%)的话,通过设置#logo_wrap{text-align:center;}就可以实现水平居中;

    如果logo_wrap宽度是有具体的数值的话,可通过设置#logo_wrap{margin:0 auto;}来实现。

    其次是垂直居中。分为三步:1.获取到当前屏幕的高度;2.获取到需要居中的div的高度;3.用屏幕的高度减去div的高度除以2就是需要给div设置的margin-top的值。

    针对上边的例子的JS代码:

    <script type="text/javascript">
      window.onload=function(){
      var height=document.body.scrollHeight;
      var logo_wrap=document.getElementById("logo_wrap");
      var margin_top=(height-100)/2;       //因为此div在页面中只用了一次且以后不会改变,所以写了数值,如果是不确定的,获取到高度放着这里就可以
      logo_wrap.style.marginTop=margin_top+"px";
      };
    </script>

     

  • 相关阅读:
    Linux-diff命令
    Linux-查看文件内容命令
    Linux-tar命令
    Linux-df -h命令
    Linux-mkdir命令&touch命令
    Linux-cd命令&pwd命令
    Linux-zip命令&rz命令&sz命令
    Linux-npm install命令&脚本命令
    Linux-tail命令
    Linux-cat命令
  • 原文地址:https://www.cnblogs.com/yxxlin/p/5971233.html
Copyright © 2011-2022 走看看