在進行頁面的DIV+CSS排版時,遇到IE6(當然有時Firefox下也會偶遇)瀏覽器中的圖片元素img下出現多餘空白的問題絕對是常見的對於該問題的解決方案也是“見機行事”。
1、將圖片轉換為塊級對象
設定img為“display:block;”。在本例中添加一組CSS代碼:“#sub img {display:block;}”。(PS,我遇到的問題就是用這個方法解決的。我把a img {display:block;}這樣定義好後,A屬性的高度就不會比預料的高了。注意不要定義 img {display:block;},如果這樣的話,有一些圖片顯示的效果可能會不一樣的,比文與文字混排的時候,圖片不會置中,而是在頂部位置。)
2、設定圖片的垂直對齊
設定圖片的vertical-align屬性為“top,text-top,bottom,text-bottom”也可以解決。如本例中增加一組CSS代碼:“#sub img {vertical-align:top;}”。
3、設定父物件的文字大小為0px
在#sub中添加一行:“font-size:0;”可以解決問題。但這也引發了新的問題,在父物件中的文字都無法顯示。就算文字部分被子物件括起來,設定子物件文字大小依然可以顯示,但在CSS效驗的時候會提示文字過小的錯誤。
4、改變父物件的屬性
如果父物件的寬、高固定,圖片大小隨父物件而定,那麼可以設定“overflow:hidden;”來解決。如本例中可以向#sub中添加以下代碼:“width:88px;height:31px;overflow:hidden;”。
5、設定圖片的浮動屬性
即在本例中增加一行CSS代碼:“#sub img {float:left;}”。如果要實現圖文混排,這種方法是很好的選擇。
6、取消圖片標籤和其父物件的最後一個結束標籤之間的空格
這個方法要強調下,在實際開發中該方法可能會出亂子,因為在寫代碼的時候為了讓代碼更體現語義和層次清晰,難免要通過IDE提供代碼縮排顯示,這必然會讓標籤和其他標籤換行顯示,比如說DW的“套用源格式”命令。所以說這個方法可以供我們瞭解出現BUG的一種情況,具體解決方案的還得各位見招拆招了。