纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015-09-14 06:01
776 查看
下文以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等属性用法详解,请持续关注本站,谢谢。
相关文章推荐
- Andorid中使用Jsoup解析库解析XML、HTML、Dom节点---第三方库学习笔记(三)
- Andorid中使用Jsoup解析库解析XML、HTML、Dom节点---第三方库学习笔记(三)
- js动态生成Html元素实现Post操作(createElement)
- JS动态添加iframe的代码
- javascript数组操作
- JSP中c:foreach遍历和s:iterator遍历异同实例分析
- JavaScript正则表达式验证省份证号码是否合法(两种方法)
- JavaScript中常用的正则表达式日常整理(全)
- JSON序列化那点事儿
- js笔记
- Js表单操作
- js动态函数
- javaScript基础系列2
- ExtJS在传统模式、MVC模式下的使用区别
- JSON的简单使用
- javaScript概述
- 基于开源库jsoncpp的json字符串解析
- [LeetCode][JavaScript]Binary Tree Preorder Traversal
- 配置JSDoc的默认模板
- js用addeventlistener绑定事件,阻止默认事件。