纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
作者:bea
下文以span元素为例子,介绍一下如何实现span元素在div中实现水平垂直居中效果,代码如下: <!DOCTYPE html><html><head><meta charset=" utf-8"><meta name="author" content="http://www.xinge360.com/" /><title></title><style type="text/css"
下文以span元素为例子,介绍一下如何实现span元素在div中实现水平垂直居中效果,代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.xinge360.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等属性用法详解,请持续关注本站,谢谢。
猜你喜欢
您可能感兴趣的文章:
- 根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
- jQuery实现默认是闭合的FAQ展开效果菜单
- js带缩略图的图片轮播效果代码分享
- jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
- JS+DIV+CSS实现的经典标签切换效果代码
- jQuery实现Meizu魅族官方网站的导航菜单效果
- jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
- JS+CSS实现自动切换的网页滑动门菜单效果代码
- JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
- JS实现可关闭的对联广告效果代码
- 详解JavaScript中的4种类型识别方法
- jquery实现鼠标点击后展开列表内容的导航栏效果
- IE中document.createElement的iframe无法设置属性name的解决方法
- js动态生成Html元素实现Post操作(createElement)
- IE9+已经不对document.createElement向下兼容的解决方法
- JS动态添加iframe的代码
- javascript实现在指定元素中垂直水平居中
- window.onload使用指南
- JS+CSS简单树形菜单实现方法