未知高度圖片的垂直置中

來源:互聯網
上載者:User

在流行用TABLE製作網頁布局的時代裡,讓某個未知高度的圖片垂直置中是非常簡單的事情,儲存格標籤td的valign屬效能可以輕鬆實現這個效果。但在DIV+CSS的布局下,這個問題卻變得棘手。

CSS:

div{width:300px;height:300px;line-height:300px;vertical-align:middle;border:1px solid red;}
img{width:50px;height:50px;vertical-align:middle;}

HTML:

<div><img src=”http://www.i-gen.cn/” alt=”HTML構築了我的世界,CSS裝飾了我的人生,SEO升華了我的夢。” /></div>

在以上代碼中,我們將一個寬度和高度均為50像素(小於容器高度即可)的圖片被放入一個邊長300像素且行高也為300像素的正方形容器裡。眾所周 知,為區塊層級元素設定一個與高度(height)一致的行高(ling-height)配合使用vertical-align:middle就可以實現文本 的垂直置中,但實際情況讓我們大失所望,圖片依舊位於容器的左上方。

看來單純的設定行高和垂直對齊並不起作用,以下我常用的實現方法:

CSS:

div{width:300px;height:300px;line-height:300px;vertical-align:middle;border:1px solid red;display:table-cell;*display:block;*font-size:263px;}
img{width:50px;height:50px;vertical-align:middle;}

HTML:

<div><img src=”http://www.i-gen.cn/” mce_src=”http://www.i-gen.cn/” alt=”HTML構築了我的世界,CSS裝飾了我的人生,SEO升華了我的夢。” /></div>

display:table-cell屬性可以使DIV容器作為表格儲存格顯示,但是IE6/7並不支援table-cell,所以這裡用到了兩個IE專屬的CSS HACK,*display:block;*font-size:263px。這個解決方案的關鍵在於*font-size:263px,在height與font-size比值為1.14左右時IE可實現垂直置中。

 

聯繫我們

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