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元素宽高的一半,这样就实现了垂直水平居中效果。

    后来都会美好的!
  • 相关阅读:
    [Bullet3]创建世界(场景)及常见函数
    [erlang]supervisor(监控树)的重启策略
    [game]十字链表的AOI算法实现
    [翻译][erlang]cowboy handler模块的使用
    数据挖掘算法系列目录
    Spark原理分析目录
    Spark实战系列目录
    2019年读书书单
    Hadoop源码解读系列目录
    分布式架构系列目录
  • 原文地址:https://www.cnblogs.com/momox/p/5090685.html
Copyright © 2011-2022 走看看