這篇文章將為大家詳細(xì)講解有關(guān)css里面如何讓body內(nèi)容居中,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)主營袁州網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),袁州h5重慶小程序開發(fā)搭建,袁州網(wǎng)站營銷推廣歡迎袁州等地區(qū)企業(yè)咨詢
css里面讓body內(nèi)容居中的方法:1、使用margin設(shè)置邊距“0 auto”讓HTML頁面中所有的元素水平居中;2、將div距離頁面窗口左邊框和上邊框的距離設(shè)置為“50%”;3、通過jQuery實現(xiàn)水平和垂直居中。
我們在設(shè)計頁面的時候,經(jīng)常要把DIV居中顯示,而且是相對頁面窗口水平和垂直方向居中顯示,如讓登錄窗口居中顯示。我們傳統(tǒng)解決的辦法是用純CSS來讓DIV居中。在本文中,我將給大家講述如何用CSS和jQuery兩種方法讓DIV水平和垂直居中。
CSS讓DIV水平居中
說明,本文中所指的DIV包括HTML頁面中所有的元素。
讓一個DIV水平居中,直接用CSS就可以做到。只要設(shè)置了DIV的寬度,然后使用margin設(shè)置邊距0 auto,CSS自動算出左右邊距,使得DIV居中。
.mydiv{ margin:0 auto; width:300px; height:200px; }
但是如果要使DIV垂直方向也居中,恐怕CSS需要修改了
CSS實現(xiàn)水平和垂直居中
要讓DIV水平和垂直居中,必需知道該DIV得寬度和高度,然后設(shè)置位置為絕對位置,距離頁面窗口左邊框和上邊框的距離設(shè)置為50%,這個50%就是指頁面窗口的寬度和高度的50%,最后將該DIV分別左移和上移,左移和上移的大小就是該DIV寬度和高度的一半。
.mydiv{ width:300px; height:200px; position:absolute; left:50%; top:50%; margin:-100px 0 0 -150px }
該方法使用普遍,但是前提是必需設(shè)置DIV的寬度和高度。如果當(dāng)頁面DIV寬度和高度是動態(tài)的,比方說需要彈出一個DIV層并且要居中顯示,DIV的內(nèi)容是動態(tài)的,所以寬度和高度也是動態(tài)的,這時需要用jQuery可以解決居中。
jQuery實現(xiàn)水平和垂直居中
jQuery實現(xiàn)水平和垂直居中的原理就是通過jQuery設(shè)置DIV的CSS,獲取DIV的左、上的邊距偏移量,邊距偏移量的算法就是用頁面窗口的寬度減去該DIV得寬度,得到的值再除以2即左偏移量,右偏移量算法相同。注意DIV的CSS設(shè)置要在resize()方法中完成,就是每次改變窗口大小時,都要執(zhí)行設(shè)置DIV的CSS,代碼如下:
$(window).resize(function(){ $(".mydiv").css({ position: "absolute", left: ($(window).width() - $(".mydiv").outerWidth())/2, top: ($(window).height() - $(".mydiv").outerHeight())/2 }); });
此外在頁面載入時,就需要調(diào)用resize()。
$(function(){ $(window).resize(); });
此方法的好處就是不需要知道DIV的具體寬度和高度大小,直接用jQuery就可以實現(xiàn)水平和垂直居中,而且兼容各瀏覽器,這個方法在很多的彈出層效果中應(yīng)用。
ps:如果該div的寬度大于頁面的寬度,那么需要對body添加一個css
關(guān)于“css里面如何讓body內(nèi)容居中”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。