2012-09-10 106 views
0

我正在測試網站上進行相當簡單的佈局。它被分成兩列交替寬度的行。我的問題是,無論出於什麼原因,我插入到其中一個列div的圖像不佔用div的100%高度。它短了幾個像素。這是一個問題,因爲同一行中的兩列需要顯示爲「等高」。圖像不佔據div高度的100%

我把紅色的背景放在一個帶有圖像問題的div上,所以你可以很容易地看到我在說什麼。我相信這很簡單,我只是忽略了一些東西,但在這個星期一的早上,我似乎無法找到它。任何幫助將非常感激。謝謝!

這裏是我的測試網站:http://hartsfielddesign.com/test2/test.html

+0

它可能是一個填充問題? –

+0

當我把它放在螢火蟲,佈局沒有顯示任何填充img或div – joshmath

+0

告訴我們在jsfiddle.net演示 –

回答

0

如果我理解正確的話,你要完成,你可以設置在<div class="product clearfix color-box">元素的高度值的,說200px例如,然後讓.vendor.vendor-images,以及其中包含的img,設置爲height: 100%

+0

謝謝凱爾。這個解決方案肯定會起作用,但我希望能夠提出一個答案,不會強制每一行的高度,因爲它們都是不同的。應該在開始時說明。 – joshmath

1

嘗試添加vertical-align:top到您的圖像規則:

img{ 
    max-width: 100%; 
    width: 100%; 
    vertical-align:top; 
} 

jsFiddle example

+0

非常感謝!這讓我想起這實際上有效,但它確實很完美。爲什麼這會解決問題? – joshmath

+0

它的工作原理是因爲圖像是內嵌元素,所以它們像文本一樣垂直坐下,其中包含下行空間的額外空間(例如'j','y','g'等等)。指定垂直對齊頂部可以去除該空間。 – j08691

+0

明白了。現在它是完全意義上的。謝謝澄清! – joshmath

0

你有你的圖像的長寬比錯誤。它太長了。

你可以做的更簡單的事情是將.vendor-images圖像作爲背景,而不是使用img標籤。然後你可以伸展它,所以它不會給你那個錯誤。

您也可以將左邊的小圖像設置爲float:left值,右邊的float:right,左邊的寬度爲30%,右邊的寬度爲65%。設置沒有填充和剩餘5%會給你填充。

或者您可以只是簡單地改變圖像的寬高比。

+0

即使我的圖片原本太長,不應該div縮小到它的高度,因爲它是div中的唯一元素,img設置爲'max-width =「100%」'? 另外,你可以給一個div背景img沒有設置明確的高度? – joshmath

0

刪除class .box-expand,.color-box-expand margin和padding。然後在每個div上設置高度。然後它會正常工作。

+0

是的,這是完全有效的,但我試圖完成這個,而不必設置一個高度。應該說明。 – joshmath