純js代碼實現(xiàn)未知寬高的元素在指定元素中垂直水平居中顯示
下文以span元素為例子,介紹一下如何實現(xiàn)span元素在div中實現(xiàn)水平垂直居中效果,代碼如下:
<!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>
上面你的代碼實現(xiàn)了span元素在div中垂直水平居中效果,下面簡單介紹一下它的實現(xiàn)過程。
一.實現(xiàn)原理:
雖然css為明確給出span元素的尺寸,但是它畢竟有一個尺寸的,這個尺寸可以使用offsetWidth和offsetHeight屬性獲取,然后將此span元素設(shè)置為絕對定位,然后再將left和top屬性值分別設(shè)置為50%,但是這個時候并不是span元素的中心點垂直水平居中,而是span元素的左上角垂直水平居中,然后在設(shè)置span元素的負(fù)的外邊距,尺寸是span元素寬高的一半,這樣就實現(xiàn)了垂直水平居中效果。
以上就是本文的全部內(nèi)容,今天就到此為止,后續(xù)給大家更新scrollTop、offsetHeight和offsetTop等屬性用法詳解,請持續(xù)關(guān)注本站,謝謝。
相關(guān)文章
javascript間隔定時器(延時定時器)學(xué)習(xí) 間隔調(diào)用和延時調(diào)用
這篇文章主要介紹了javascript間隔調(diào)用和延時調(diào)用示例,介紹setInterval方法和clearInterval方法的使用方法,大家參考使用吧2014-01-01
Gulp實現(xiàn)靜態(tài)網(wǎng)頁模塊化的方法詳解
眾所周知Gulp.js 是一個自動化構(gòu)建工具,開發(fā)者可以使用它在項目開發(fā)過程中自動執(zhí)行常見任務(wù)。下面這篇文章主要給大家介紹了關(guān)于Gulp實現(xiàn)靜態(tài)網(wǎng)頁模塊化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2018-01-01
javascript 一個函數(shù)對同一元素的多個事件響應(yīng)
具體方法如下該方法實現(xiàn)了對一個按鈕的mouseover和click事件的響應(yīng)2009-07-07

