我會嘗試使用display: inline-block;
樣式包含每個圖像元素。爲一個容器的HTML代碼 示例:
<style>
.figure {
display: inline-block;
}
</style>
<div class="figure">
<img src="littlepony.jpg" alt="My cute little pony" width="13" height="37" />
</div>
現在有使用這種與IE6,IE7和Firefox 2幾個缺陷:
- IE 6和7將只具有hasLayout的風格聯元素觸發,我的意思是你會看到inline-block的行爲如果你這樣做:
<!--[if lte IE 7]>
.figure {
display: inline;
zoom: 1; /* triggering hasLayout */
}
<![endif]-->
- Firefox 2的不理解
display: inline-block;
所以你必須通過另一個顯示指令先於後者:
.figure {
display: -moz-inline-stack;
display: inline-block;
}
- 現在的Firefox 2會惹惱你一點。首先,你必須在你的
.figure
元素中只有一個子元素,否則孩子會......疊加。所以,如果你有你的形象下一個傳奇,插入div.figure和IMG + P
<div>
<img src="littlepony.jpg" alt="Photo of my cute little pony" width="13" height="37" />
<p>Second child of .figure>div and not .figure</div>
</div>
</div>
二(仍然只在FX2)之間的DIV,你會不時通知的時間,你可以」不再選擇-moz-inline-stack'元素內的文本,也不點擊它可能包含的鏈接。解決方法是定位相對增加DIV:
.figure div {
position: relative;
}
當然對IE6/7的條件註釋常規CSS後才能發生,否則它會幫助不大。
最後,如果沒有優雅的解決方案適用於您,請使用TABLE。一個只有td和no的簡單表格。如果發生的是:
- IE6和7不喜歡
display: table-sth
- 您的CMS會導致問題是什麼,否則正常工作在另一個網站
爲
inline-block
- Firefox 3的支持是沒有幫助的
比是這對你使用一個表,沒有半溶液,產生的問題,以一半的用戶大家好;)
似乎也沒有幫助。我的代碼與第一個示例的佈局方式相同,只是在那裏有一個大的div - 即屬於我使用的模板的主要內容div。問題是這個div本身正在浮動,看起來像我做的任何清理都會清除整個模板上的浮動塊,而不僅僅是在我製作的網格中。 – nedned 2009-11-16 10:35:20