我有一個無序列表,每個列表元素包含一張照片和標題。我的CSS設置網格爲一個網格,其中每行包含三張照片。有時標題(或照片標題)比照片的寬度更長,並且必須跨越兩行。在某些情況下,當文本跨越2+行時,它下面的列表元素被推到右邊,列表中有一個很大的差距。唯一適用於我的修補程序是在每三個元素後添加以下HTML <div style="clear:both"></div>
。這個問題可以在列表元素的第三行中看到。我試過研究這個問題,但還沒有找到一個只有CSS的方法。在我的示例代碼中,我應用了CSS clearfix類,但它似乎沒有任何效果。無序列表Clearfix
我正在使用最新版本的Google Chrome瀏覽器。
這裏是我的代碼:http://jsfiddle.net/NVveP/1/
這是好嗎? http://jsfiddle.net/thirtydot/NVveP/2/。如果需要,我會在明天寫一個實際的答案。 – thirtydot
是的,這是完美的作品。謝謝!這個無序列表包含在一個div中。在我的原始佈局中,div被左移,所以列表也必須左移。從那以後,我決定將我的佈局更改爲非浮動div,所以這就是爲什麼刪除「float:left」css屬性可以解決我的問題。如果我保留原始佈局,並且需要將列表懸浮起來,那麼解決方案是什麼? – musubi
「在我原來的佈局中,div被左移,所以列表也必須左移。」 - 列表不需要浮動。一個浮動元素(例如外部'div')將包含其他浮動元素。如果你之後改變了你的外部'div'而不是浮動的,那麼你必須以其他方式包含浮動內容,例如將'clearfix'類添加到外部'div'。 – thirtydot