纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015-09-12 16:41
796 查看
下文以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{ width: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元素宽高的一半,这样就实现了垂直水平居中效果。
以上就是本文的全部内容,今天就到此为止,后续给大家更新scrollTop、offsetHeight和offsetTop等属性用法详解,请持续关注本站,谢谢。
您可能感兴趣的文章:
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js可突破windows弹退效果代码
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- VB的TextBox文本框实现垂直居中显示的方法
- C#实现将数组内元素打乱顺序的方法
- 在IE与FF中如何居中的css写法
- 纯CSS实现上下左右都居中的代码
- 爆炸式的JS圆形浮动菜单特效代码
- jQuery删除一个元素后淡出效果展示删除过程的方法
- js select常用操作控制代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效
- js 提交和设置表单的值
- PHP VBS JS 函数 对照表