2009-09-23 48 views
2

我目前正在比較Safari和Firefox中的這一點。 div中的一個小圖像,我需要垂直居中。在Safari和FireFox的div差異中的垂直中心圖像

這裏是我蒸餾水下來一個簡單的測試用例: http://dl.getdropbox.com/u/340087/Drops/09.23.09/so-03f73322-164033.html

這一個可能是更簡單: http://dl.getdropbox.com/u/340087/drops/09.23.09/align-42fc19f2-154007.html

1)爲什麼我需要的圖像後,以空間讓任何對齊CSS工作?

2)我能做些什麼來讓Safari完美居中,這是1-2px太低,基本上排列的圖像與文本的頂部。

感謝

回答

2

圖像被認爲是內聯元素,所以它們基本上被視爲文本。

如果您想跨瀏覽器進行精確定位,最安全的方法是將圖像用於背景,而不是內嵌img元素。

0

嘗試通用選擇:

div * { vertical-align: middle } 

或者去老同學(如果你能)和使用表?

由於safari渲染文本的方式,Safari(Mac)和瀏覽器中的像素總是存在差異。閱讀關於它here

+0

是的,這是垂直對齊是我使用的,它是幾個關閉。我發現一個css聲明與一個bg圖像設置爲中心是一個完美的方式來得到我想要的。感謝您的鏈接。 – user170579 2009-09-24 22:00:03

+0

*僅匹配元素,而不匹配文本節點,因此您需要將文本包裝在一個範圍內。另請參閱我的答案。 – Stewart 2009-10-09 19:58:27

2

將文本括起來並對其應用垂直對齊。

HTML片段:

<div class="right"> 
    <img src="action_check.png" width="16" height="16" class="status" alt="Data Ok" /> 
    <span>Chose a User Name</span> 
</div> 

CSS另外:

span { vertical-align: middle; } 

在最新版本的FF,IE,Safari瀏覽器,Chrome和Opera(Windows)中進行測試。