在曾經的 淘寶UED招聘 中有這樣一道題目:
“使用純CSS實現未知尺寸的圖片(但高寬都小于200px)在200px的正方形容器中水平和垂直居中。”
當然出題并不是隨意,而是有其現實的原因,垂直居中是 淘寶 工作中最常遇到的一個問題,很有代表性。
題目的難點在于兩點:
垂直居中;
圖片是個置換元素,有些特殊的特性。
至于如何解決,下面是一個權衡的相對結構干凈,CSS簡單的解決方法:
.box {
display: table-cell;
vertical-align:middle;
text-align:center;
*display: block;
*font-size: 175px;
*font-family:Arial;
width:200px;
height:200px;
border: 1px solid #eee;
}
.box img {
vertical-align:middle;
}
div > img src= http://pics.taobao.com/bao/album/promotion/
taoscars_180x95_071112_sr.jpg /
/div
2.背景法
style type= text/css
* {margin:0;padding:0;}
div {
width:500px;border:1px solid #f00;
height:500px;
background:url( http://www.google.com/intl/en/images/logo.gif ) center no-repeat
}
/style
div
/div
背景法簡單但不利于動態導入的圖片
3.背景法
.qq {
width:500px;
display:table-cell;
height:400px;
text-align:center;
vertical-align:middle;
border: 1px solid #000
}
i {
display:inline-block;
height:100%;
vertical-align:middle
}
.qq img {
vertical-align:middle;
}
/style
div >
這種方法也很簡單,但需要加一個 i 的額外標簽
如果頁面需要一兩個居中的圖片,那此方法是可推薦,但如果很多個產品的圖,那加的標簽數量就比較多
其他解決方法,有興趣的朋友可以戳:
div{
height: 400px;
line-height: 400px;
overflow: hidden;
}
此方法也只適用于單行的文字或者圖片+文字,通常用于前面帶有小圖標的鏈接或標題等。
以上就是詳解純css實現未知尺寸圖片的垂直居中實例的詳細內容,html教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答