【发布时间】:2014-06-16 16:46:58
【问题描述】:
我正在使用 PHP 开发一个主页,它有一个带有动态加载菜单的菜单栏。 菜单栏下方是一个 div,我用它来构建动态子菜单,它会在菜单栏上的菜单悬停时显示。
子菜单在表格中构建并放置在绝对定位的跨度中,具有定义的宽度和必要的左侧定位。问题是跨度的宽度和位置不会随着屏幕分辨率的变化而正确显示,它实际上会缩小并出现在其他地方。
动态创建的子菜单
<?php
$menu_num = 1;
$left_pos = 316;
for ($i = 0; $i < count($menu_arr); $i++) {
$desc = "<table width = '100%' id = 'submenu_table' cellspacing = '7' > ";
$result = mysql_query("select s.SUB_MENU_URL, s.SUB_MENU_DESC from $table_user_menu m, $table_sub_menu s where m.EMP_ID = '".$_SESSION['EMP_ID']."' and m.SUB_MENU_ID = s.SUB_MENU_ID and m.MENU_ID = $menu_arr[$i] order by s.DISPLAY_ORDER");
while ($row = mysql_fetch_assoc($result)) {
$temp = " < tr><td style = 'text-align:center;' ><a href =.".$row['SUB_MENU_URL']." style = 'text decoration:none;' > ".$row['SUB_MENU_DESC']."</a ></td ></tr > ";
$desc = $desc.$temp;
}
$desc = $desc."</table > ";
draw_submenu($desc, $menu_num, $left_pos);
$left_pos += 141;
$menu_num++;
}
function draw_submenu($desc, $menu_num, $left_pos)
{
$left = $left_pos."px";
echo " < span id = 'submenu".$menu_num."' class='drop_down_menu' style = 'left:$left' > ".$desc."</span > ";
}
?>
即使屏幕分辨率发生变化,子菜单部分也必须正确显示在菜单下。 感谢您的帮助。
【问题讨论】:
-
请制作 Jsfiddle。