纯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 相关文章推荐
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
Feb 03 Javascript
JS案例分享之金额小写转大写
May 15 Javascript
Javascript中Array.prototype.map()详解
Oct 22 Javascript
jQuery EasyUI Pagination实现分页的常用方法
May 21 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
Jan 05 Javascript
Angular实现跨域(搜索框的下拉列表)
Feb 16 Javascript
Vue 中批量下载文件并打包的示例代码
Nov 20 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
Sep 10 Javascript
layui--select使用以及下拉框实现键盘选择的例子
Sep 24 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
Oct 25 Javascript
Vue.js暴露方法给WebView的使用操作
Sep 07 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
Nov 06 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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
PHP4 与 MySQL 数据库操作函数详解
2006/12/06 PHP
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
php批量删除操作代码分享
2017/02/26 PHP
javascript动态加载实现方法一
2012/08/22 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
js工具方法弹出蒙版
2013/05/08 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
ionic2 tabs 图标自定义实例
2017/03/08 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
scrapy头部修改的方法详解
2020/12/06 Python
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
快递业务员岗位职责
2014/01/06 职场文书
写给女生的道歉信
2014/01/08 职场文书
办公室主任先进事迹
2014/01/18 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
保密工作目标责任书
2014/07/28 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
实习协议书
2015/01/27 职场文书
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android