建站經(jīng)驗(yàn)
css實(shí)現(xiàn)的讓圖片垂直居中的方法
上傳時(shí)間:2013/11/14
來(lái)自:瑞安網(wǎng)站建設(shè)
下圖是理想中的效果圖,外部容器的寬度和高度是固定的,中間的圖片寬度和高度未知,但是圖片要始終要相對(duì)于外部的容器垂直居中。 但是實(shí)際中實(shí)現(xiàn)的效果并不是很完美,由于各瀏覽器的解析都各不相同,所以各瀏覽器都會(huì)有1px-3px的偏差。 方法一 (XHTML 1.0 transitional): 該方法是將外部容器的顯示模式設(shè)置成display:table,img標(biāo)簽外部再嵌套一個(gè)span標(biāo)簽,并設(shè)置span的顯示模式為display:table-cell,這樣就可以很方便的使用vertical-align象表格元素那樣對(duì)齊了,當(dāng)然這只是在標(biāo)準(zhǔn)瀏覽器下,IE6/IE7還得使用定位。 HTML結(jié)構(gòu)部分: CSS樣式部分: 方法二 (XHTML 1.0 transitional): 方法二和方法一的實(shí)現(xiàn)的原理大同小異,結(jié)構(gòu)也是相同的,方法一用的是條件注釋,方法二就用的CSS Hack。 CSS樣式部分: 該方法有個(gè)弊端,在標(biāo)準(zhǔn)瀏覽器下由于外部容器#box的顯示模式為display:table-cell,所以導(dǎo)致#box無(wú)法使用margin屬性,并且在IE8下設(shè)置邊框也無(wú)效。 方法三 (XHTML 1.0 strict): 標(biāo)準(zhǔn)瀏覽器還是將外部容器#box的顯示模式設(shè)置為display:table-cell,IE6/IE7是利用在img標(biāo)簽的前面插入一對(duì)空標(biāo)簽的辦法。 HTML結(jié)構(gòu)部分: CSS樣式部分: 方法三也同樣適用XHTML 1.0 transitional。以上方法都是收集于腳本之家,暫時(shí)只對(duì)這3個(gè)方法比較滿意,兼容性方面不錯(cuò),使用起來(lái)的限制也比較小,還有些方法我也都一一測(cè)試過(guò),效果都不理想,在各瀏覽器中的差異比較大。另外司徒正美這里也收集了一些方法。 思考:很多方法都是依賴于將外部容器的顯示模式設(shè)置成table才能實(shí)現(xiàn)垂直居中,也就是div來(lái)模擬table,如果CSS有一個(gè)屬性來(lái)實(shí)現(xiàn)這種效果那該多好。 瑞安網(wǎng)站建設(shè)專業(yè)服務(wù)商--瑞安市聯(lián)創(chuàng)網(wǎng)絡(luò)信息有限公司 電話:13958850180 上一條新聞:沒(méi)有了
下一條新聞:策劃企業(yè)網(wǎng)站注意事項(xiàng)
我們的服務(wù)
公司新聞
|