纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示


Posted in Javascript onSeptember 12, 2015

下文以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等属性用法详解,请持续关注本站,谢谢。

Javascript 相关文章推荐
Javascript浅谈之this
Dec 17 Javascript
用js判断输入是否为中文的函数
Mar 10 Javascript
jQuery构造函数init参数分析
May 13 Javascript
jQuery ready()和onload的加载耗时分析
Sep 08 Javascript
Bootstrap基本组件学习笔记之列表组(11)
Dec 07 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
Nov 10 Javascript
基于Bootstrap实现城市三级联动
Nov 23 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
Apr 15 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
Sep 18 Javascript
vue.js iview打包上线后字体图标不显示解决办法
Jan 20 Javascript
京东优选小程序的实现代码示例
Feb 25 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
Apr 07 Javascript
JS实现超精简响应鼠标显示二级菜单代码
Sep 12 #Javascript
JS+CSS实现的简单折叠展开多级菜单效果
Sep 12 #Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
Sep 12 #Javascript
jquery实现最简单的滑动菜单效果代码
Sep 12 #Javascript
jQuery实现自动切换播放的经典滑动门效果
Sep 12 #Javascript
JavaScript中this的9种应用场景及三种复合应用场景
Sep 12 #Javascript
javascript判断网页是关闭还是刷新
Sep 12 #Javascript
You might like
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
JS实现控制表格行文本对齐的方法
2015/03/30 Javascript
JS面试题---关于算法台阶的问题
2016/07/26 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
js学习总结之DOM2兼容处理this问题的解决方法
2017/07/27 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
python改变日志(logging)存放位置的示例
2014/03/27 Python
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
浅谈Python处理PDF的方法
2017/11/10 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
Python实现最大子序和的方法示例
2019/07/05 Python
Clarks其乐鞋荷兰官网:Clarks荷兰
2019/07/05 全球购物
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
舞蹈比赛获奖感言
2014/02/04 职场文书
企业总经理岗位职责
2014/02/13 职场文书
结对共建工作方案
2014/06/02 职场文书
北京申奥口号
2014/06/19 职场文书
机电系毕业生求职信
2014/07/11 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
python基础之while循环语句的使用
2021/04/20 Python
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript