[轉]如何讓div中的內容垂直置中

來源:互聯網
上載者:User

標籤:

轉自:http://blog.163.com/yan_1990/blog/static/197805107201211311515454/

 

雖然Div布局已經基本上取代了表格版面配置,但表格版面配置和Div布局仍然各有千秋,互有長處。比如表格版面配置中的垂直置中就是Div布局的一大弱項,不過好在千變萬化的CSS可以靈活運用,可以製作出准垂直置中效果,勉強過關。 要讓div中的內容垂直置中,無非有以下幾種方法,等我一一列舉:

一、行高(line-height)法
如果要垂直置中的只有一行或幾個文字,那它的製作最為簡單,只要讓文字的行高和容器的高度相同即可,比如:

p { height:30px; line-height:30px; width:100px; overflow:hidden; }
這段代碼可以達到讓文字在段落中垂直置中的效果。

二、內邊距(padding)法
另一種方法和行高法很相似,它同樣適合一行或幾行文字垂直置中,原理就是利用padding將內容垂直置中,比如:

p { padding:30px; }
這段代碼的效果和line-height法差不多。

三、類比表格法
類比表格法其實就是用CSS中對元素的聲明讓塊元素像表格一樣顯示,用到的CSS屬性有display、vertical-align等。 先看下面的Html代碼:

<div id="box"> <div id="content">置中顯示</div> </div>
參照以上Html代碼,讓最外面名為box的Div呈表格樣式顯示,然後再讓box中名為content的Div呈儲存格顯示,並利用vertical-align:middle讓其垂直置中,這樣就類比出來和表格一樣的顯示方式,CSS代碼如下:

#wrap { height:400px; display:table; } #content { vertical-align:middle; display:table-cell; border:1px solid #FF0099; background:#000; width:400px; }
但這種方法有一個弊端,由於IE瀏覽器對高度理解會產生錯誤,所以這種方法僅對Firefox有效,對IE無效,既然這樣,我們就需要找出對IE的修正方法,於是有了另外一種方法。

四、定位法
顧名思義,定位法是利用CSS定位屬性position對元素進行定位的方法,也屬於類比方法,不過它對IE的支援還是不錯的。 它的Html代碼為:

<div id="box"> <div id="sub"> <div id="content">垂直置中</div> </div> </div>
這段代碼比上一種方法中多出了一個名為sub的Div,它的作用是用來定位,原理就是:首先讓box出於相對定位,sub相對box出於相對定位,位於box垂直方向的50%,再讓content中的真正內容出於sub垂直方向的-50%,從而製作出content在box中垂直置中的效果,它們的CSS代碼如下:

#wrap { border:1px solid #000; background:#F00; width:400px; height:400px; position:relative; } #subwrap { position:absolute; top:50%; } #content { border:1px solid #000; position:relative; top:-50%; color:#FFF; }
這段代碼無論是在IE中還是Firefox中,都能正常置中了

[轉]如何讓div中的內容垂直置中

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.