****CSS各種居中方法

suboysugar發表於2016-04-10
水平居中的text-align:center 和 margin:0 auto
 
這兩種方法都是用來水平居中的,前者是針對父元素進行設定而後者則是對子元素。他們起作用的首要條件是子元素必須沒有被float影響,否則一切都是無用功。margin:0 auto
也可以被寫成margin:0 auto 0 auto。不能理解的童鞋們可以自己去找找關於css縮寫的內容。
 
垂直居中的line-height
 
什麼?!margin在垂直居中裡不起作用了?顯然事情確實如此,我們僅有margin:0 auto的用法而沒有auto 0的情況。至於line-height,他也是作用在父元素上,當他的值等於父元素的height值時
,內部的文字就會自動的垂直居中了。此處好像僅僅只能是文字而已,遺憾。
 
萬能的position大法
 
這個方法可以說真的是萬能的。當你為一個元素無法居中而困擾的時候,可以果斷的使用他,而且幾乎沒有後遺症,絕對是前端工程師們居家旅行必備的手段之一。
 
具體的做法很簡單,首先給父元素寫上positon:relative,這麼做是為了給子元素打上position:absolute的時候不會被定位到外太空去。接下去,寫上子元素的height和width,這個似乎是必須的
,某些瀏覽器在解析的時候如果沒有這2個值的話會出現意想不到的錯位。接著就是整個方法的核心,給子元素再打上top:50%;left:50%以及margin-top:一半的height值的的負數;
margin- left:一半的weight值的負數。整理一下之後,可能你會給你的子元素寫上這樣的css(當然,父元素也要先寫上width和height)
{width:100px;height:80px;position:absolute;top:50%;left:50%;margin-left:50px;margin-top:40px}
 
接下去就重新整理頁面吧,你的子元素已經是居中顯示了。
 
使用這個方法的好處在於無論你是什麼形式的內容都可以馬上居中,而缺點就是必須對元素有確定的寬高值,否則的話可能就需要通過javascript來進行一些小計算了。

如何聯絡我:【萬里虎】www.bravetiger.cn
【QQ】3396726884 (諮詢問題100元起,幫助解決問題500元起)
【部落格】http://www.cnblogs.com/kenshinobiy/


相關文章