【问题标题】:Absolute positioned span not resizing accordingly绝对定位跨度未相应调整大小
【发布时间】: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。

标签: php dynamic absolute


【解决方案1】:

span 是一个内联标签,不能有宽度。如果你想设置一个,你也需要将它设置为一个块元素:

display: block

或者

display: inline-block

为此,您当然可以只使用 div 而不是 span。

【讨论】:

    猜你喜欢
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多