纯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 相关文章推荐
一组JS创建和操作表格的函数集合
May 07 Javascript
js 获取浏览器高度和宽度值(多浏览器)
Sep 02 Javascript
浅谈类似于(function(){}).call()的js语句
Mar 30 Javascript
jQuery使用Layer弹出层插件闪退问题
Dec 22 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
Dec 24 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
Jul 10 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
Apr 24 Javascript
微信小程序6位或多位验证码密码输入框功能的实现代码
May 29 Javascript
创建Vue项目以及引入Iview的方法示例
Dec 03 Javascript
分享Angular http interceptors 拦截器使用(推荐)
Nov 10 Javascript
原生JS与JQ获取元素的区别详解
Feb 13 Javascript
Vue使用轮询定时发送请求代码
Aug 10 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
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
php-msf源码详解
2017/12/25 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
YUI的Tab切换实现代码
2010/04/11 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
javascript中几个容易混淆的概念总结
2015/04/14 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
微信JS接口大全
2016/08/25 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
js字符串类型String常用操作实例总结
2019/07/05 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
2019/08/07 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
2020/02/14 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
机器学习python实战之手写数字识别
2017/11/01 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
Python对象与引用的介绍
2019/01/24 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
2019/12/12 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
CSS3 2D模拟实现摩天轮旋转效果
2016/11/16 HTML / CSS
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
MADE法国:提供原创设计师家具
2018/09/18 全球购物
美国滑板店:Tactics
2020/11/08 全球购物
学生档案自我鉴定
2013/10/07 职场文书
材料采购员岗位职责
2013/12/17 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
Spring Cloud OpenFeign模版化客户端
2022/06/25 Java/Android