2010-10-24 148 views
0

我有一個簡單的PHP頁面,主要內容放置在一個以居中爲準的表格中。我想放置一個從右上角開始的菜單。該代碼是這樣的:如何防止調整窗口大小時移動HTML元素?

echo "<table class=\"center\">"; 
    while($row= mysql_fetch_array($query)) 
    { 
     echo "<tr>"; 
     echo "<td>"; 
     ... content... 
     echo "</td>"; 
     echo "</tr>"; 
    } 
    echo "</table>"; 

    echo "<table class=\"topRightTable\">"; 
    while($row= mysql_fetch_array($query2)) 
    { 
    echo "<tr>"; 
    echo "<td>"; 
    ... content ... 
    echo "</td>"; 
    echo "</tr>"; 
    } 
    echo "</table>"; 

有了這個CSS:

table.center 
    { 
    margin-left: auto; 
    margin-right: auto; 
    text-align: left; 
    } 

    table.topRightTable 
    { 
    position:absolute; 
    top:50; 
    right:50; 
    } 

    body 
    { 
    min-width: 600; 
    } 

這工作得很好,直到調整窗口大小。然後右邊的菜單會隨着窗口一起浮動,位於其他元素上。如何避免菜單項與窗口一起移動?

我試圖將頁面的最小寬度設置爲600,並希望這會阻止右側菜單進一步移動,但沒有運氣。

的qustion是:如何防止右菜單表從與中央臺

+0

確保您已設置的最小寬度爲所有表的父母。此外,你必須提供單位(如'px'或'em')。所以'min-width:600px;' – BudgieInWA 2010-10-24 18:00:49

回答

3

其他答案是正確的。假設你的表的父體:

body, html{ 
    margin:0px; 
    padding:0px; 
    width:100%; 
    min-width:600px; 
} 
table.center { 
    margin-left: auto; 
    margin-right: auto; 
    text-align: left; 
} 

table.topRightTable{ 
    float:right; 
} 

如果<body>不是父,將其更改爲.parent{ min-width:600px;}

1

碰撞你定位表絕對,這意味着它不會在同一平面內的其他元素上呈現。如果您希望表格保持在絕對位置:使其他元素也處於絕對位置,並將其全部放入定位的容器中:相對於設定的寬度。或者(甚至更好)浮動元素。

相關問題