CSS常用居中方法
阿新 • • 發佈:2018-12-09
水平居中的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來進行一些小計算了。
/***********最近做字型居中於圖片時又發現了一個方法**********************/
1.父元素相對定位(給子元素提供輔助)
2.子元素 絕對定位,
position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);