我正在使用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 > ";
}
?>
即使屏幕分辨率发生变化,子菜单部分也必须在菜单下正确显示。 谢谢你的帮助。
答案 0 :(得分:0)
span是一个内联标记,不能有宽度。如果你想设置一个,你需要将它设置为一个块元素:
display: block
或
display: inline-block
为此目的,你当然可以使用div而不是span。