純js代碼實現未知寬高的元素在指定元素中垂直水平置中顯示,js元素

來源:互聯網
上載者:User

純js代碼實現未知寬高的元素在指定元素中垂直水平置中顯示,js元素

下文以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等屬性用法詳解,請持續關注本站,謝謝。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.