Php 绝对定位范围未相应调整大小

Php 绝对定位范围未相应调整大小,php,dynamic,absolute,Php,Dynamic,Absolute,我正在使用PHP开发一个主页,它有一个带有动态加载菜单的菜单栏。 菜单栏下面是一个div,我用它来构造动态子菜单,它显示在菜单栏菜单的悬停位置上 子菜单构建在表格中,并放置在跨度中,跨度以定义的宽度和必要的左侧定位进行绝对定位。问题是跨度的宽度和位置不会随着屏幕分辨率的改变而正确显示,它实际上会缩小并在其他地方显示 动态创建的子菜单 <?php $menu_num = 1; $left_pos = 316; for ($i = 0; $i < count($menu_arr); $

我正在使用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 > ";
}
?>
即使屏幕分辨率发生变化,子菜单部分也必须正确显示在菜单下。
谢谢您的帮助。

span是一个内联标记,不能有宽度。如果要设置一个,还需要将其设置为块元素:

display: block


当然,出于这个目的,您可以使用div而不是span。

请使用Jsfiddle。
display: inline-block