我有一個div頁面,通過Ajax注入12個div。當我調整瀏覽器窗口的大小時,元素或它們包含的div似乎會改變大小,其中div開始以不希望的方式包裝。當頁面大小爲100%時,div對齊如下:
| div | |格| |格| |格| |格| |格|
| div | |格| |格| |格| |格| |格|
當我縮小窗口時,div對齊如下:
| div | |格| |格| |格| |格|
| div | |格| |格| |格| |格|
| div | |格|
所以,我試圖讓窗口調整大小時保持第一個位置。谷歌搜索這個,我發現像使用CSS設置包含固定寬度的div,並使用屬性white-space: nowrap
...這些不適用於我的網頁,似乎是阿賈克斯是原因。在我PHP文件阿賈克斯,我創建的每個div來有一個鏈接和一張桌子裏面,像這樣:
如何防止包裝中的Ajax元素?
$str = "<div class = 'productdiv'>
<a class='product' id='$id' title = '$name'>
<table id = 'product-table' onmouseover = 'darkenProduct(this);' onmouseout = 'lightenProduct(this);'>
<tr>
<td>$name</td>
</tr>
<tr>
<td><img src = '$img' /></td>
</tr>
<tr>
<td>$price</td>
</tr>
</table>
</a>
</div>";<br /><br />
下面是每個阿賈克斯元素相關的CSS,並且包含div「產品「:
#products
{
width: 900px;
margin-left: 2%;
}
/*product table (ID SOURCE FROM PHP -- for each individual product) */
#product-table
{
float: left;
width: 138px;
height: 142px;
color: #333;
text-decoration: none;
border: 1px solid black;
background-color: #eee;
/* for rounded borders */
-moz-border-radius: 25px; /* for firefox */
border-radius: 25px;
}
#product-table a:link, a:visited
{
display: -moz-box; /* for firefox */
display: block;
width: 100%;
height: 100%;
}
#product-table img
{
width: 138px;
height: 142px;
border: 1px solid black;
}<br /><br />
內含div‘產品’嵌套爲中心列的較大的div內部。下面是該CSS:
/* center column */
#center
{
/* for stretching the center column beyond the window height */
min-height: 100%;
margin-left: auto;
margin-right: auto;
text-align: center;
}<br /><br />
...所以,我怎麼可能會阻止包裝這些div,我應該採取什麼樣的CSS的方法?
感謝您的幫助球員。我試圖在我的PHP文件的行之間插入'
',但它沒有效果。然而,對於每個div的表格,「text-align:center」和「width:900px」的指定寬度爲每個div的表格顯示:inline-block,每個div表格的高度和寬度較大,修復了所有重疊問題,並且div現在按照指定的寬度進行包裝。當我調整窗口的大小時,這一切都很好! – 2012-04-23 03:27:02