編輯:給任何人閱讀這篇文章的一個提示,它不適合我的全部理由是因爲我使用了DOCTYPE TRANSITIONAL。在HTML或CSS中沒有任何變化,切換到DOCTYPE STRICT使它工作。這至少適用於Chrome,FF和IE8。在div中垂直對齊可變大小的圖像?
我已經嘗試了許多在線提供的許多解決方案,並沒有一個似乎爲我工作。我想垂直對齊div中的圖像(圖像已經水平對齊)。
圖像可以是任何寬度和任何高度(高達70px),所以我不能使用固定的邊距或類似的東西。
這裏是我的HTML + CSS:
<head>
<style type="text/css" media="all">
#list ul {
list-style: none;
margin: 0px;
padding: 0px;
}
#list li {
border: 2px solid #DDD;
margin-bottom: 3px;
height: 110px;
}
#image {
width: 75px;
height: 110px;
line-height: 110px;
float: left;
}
#image img {
vertical-align: middle;
display: block;
margin: auto;
}
#event {
margin-left: 75px;
}
</style>
</head>
<body>
<div id='container'>
<div id="list">
<ul>
<li>
<div id='image'>
<img src='http://sstatic.net/stackoverflow/img/favicon.ico'/>
</div>
<div id='event'>
<h1>Text</h1>
<h2>More Text</h2>
</div>
</li>
<li>
<div id='image'>
<img src='http://sstatic.net/stackoverflow/img/favicon.ico'/>
</div>
<div id='event'>
<h1>Text</h1>
<h2>More Text</h2>
</div>
</li>
</ul>
</div>
</div>
</body>
</html>
現在,圖像**不是水平居中,仍然不是垂直居中,而且我的文字行很大(由於它們每個都有110px的行高)。也許我理解錯了? –
您正在使用'margin:auto'來對其進行居中處理,這對內聯元素無效。相反,在父元素上使用'text-align:center'。在此修復:http://jsfiddle.net/YnzR9/1/ – gilly3
非常感謝! –