zoukankan      html  css  js  c++  java
  • js实现未知宽高的元素在指定元素中垂直水平居中

    js实现未知宽高的元素在指定元素中垂直水平居中:
    本章节介绍一下如何实现未知宽高的元素在指定元素下实现垂直水平居中效果,下面就以span元素为例子,介绍一下如何实现span元素在div中实现水平垂直居中效果,代码如下:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset=" utf-8">
    <meta name="author" content="http://www.softwhy.com/" />
    <title>蚂蚁部落</title>
    <style type="text/css">
    #box{
      200px;
      height:150px;
      background:blue;
      position:relative;
    }
    #antzone{
      background:green;
    }
    </style>
    <script type="text/javascript">
    window.onload=function(){
      var obox=document.getElementById("box");
      var oantzone=document.getElementById("antzone");
      var w=oantzone.offsetWidth;
      var h=oantzone.offsetHeight;
      oantzone.style.position="absolute";
      oantzone.style.left="50%";
      oantzone.style.top="50%";
     
      oantzone.style.marginLeft=-(w/2)+"px";
      oantzone.style.marginTop=-(h/2)+"px";
    }
    </script>
    </head>
    <body>
    <div id="box">
      <spanj id="antzone">蚂蚁部落</span>
    </div>
    </body>

    </html>

    上面你的代码实现了span元素在div中垂直水平居中效果,下面简单介绍一下它的实现过程。
    一.实现原理:
    虽然css为明确给出 span元素的尺寸,但是它毕竟有一个尺寸的,这个尺寸可以使用offsetWidth和offsetHeight属性获取,然后将此span元素设置为 绝对定位,然后再将left和top属性值分别设置为50%,但是这个时候并不是span元素的中心点垂直水平居中,而是span元素的左上角垂直水平居 中,然后在设置span元素的负的外边距,尺寸是span元素宽高的一半,这样就实现了垂直水平居中效果。

    后来都会美好的!
  • 相关阅读:
    log4j 日志配置
    找出两个列表元素中相同的元素
    列表元素去重
    hdu 2149 Public Sale(巴什博弈变形)
    POJ 3169 Layout (差分约束+SPFA)
    hdu 1494 跑跑卡丁车(动态规划)
    hdu 3177 Crixalis's Equipment(贪心)
    HDU 1576 A/B(扩展欧几里德变形)
    POJ 1061青蛙的约会(扩展欧几里德)
    IE6下的CSS多类选择符
  • 原文地址:https://www.cnblogs.com/momox/p/5090685.html
Copyright © 2011-2022 走看看