0

我正在尝试使菜单内的一些图标向右溢出,并在用户将菜单句柄向右拖动时显示出来。问题是内联块 div 不想覆盖其容器的整个空间,因为它们的容器轮流包含在一个较小的 div 中(这似乎限制了图标向右移动的距离)。

在图像中,以蓝色突出显示的 div(由 chrome 开发工具)是图标的容器。出于某种原因,线条没有达到其全宽并保持在左侧压缩,由菜单 div 分隔。

我希望这不是很混乱。任何人都可以帮助我吗?如何使图标完全占据其容器的宽度?非常感谢!

描述性图片 1

描述性图片 2

代码:

图标的css,由jQuery设置

$("." + localIcons[iconToRender].name).css({
    "display": 'inline-block',
    "width": box_width,
    "height": box_height,
    "border-radius": '5px',
    "margin": box_margin / 2
 });

图标容器:

// appended to the body: <div class="box-menu"> <div class="box-menu-icon-container"> </div> </div>

$( ".box-menu").css({
    "position": 'absolute',
    //Remember that the width of the menu is set by dragging the jQuery handle, so here I just set a minimum width equal to the size of the handle
    "width": box_menu_handle_width,
    "min-width": box_menu_handle_width,
    "max-width": box_menu_max_width,
    "height": box_menu_height,
    "left": 0,
    "top": '50%',
    "margin-top": -( box_menu_height / 2 ),
    "background-color": box_menu_color,
    "border-radius": '0px 5px 5px 0px',
    "overflow": 'hidden'    
  });

  $(".box-menu-icon-container").css({
    "height": box_menu_height - 60,
    "width": box_menu_max_width
  });
4

1 回答 1

1

您的问题是box-menu-handlefloat: right图标限制在预期的菜单空间中。请参阅此示例

换句话说,它的设计目的是不允许图标“渗透”到分配给菜单的空间,该空间由控制菜单宽度的句柄定义。

如果你真的想覆盖它,你需要消除它float: right,而是将手柄绝对定位在右侧。请参阅此示例。我不知道所有这些将如何与菜单脚本的其他方面进行交互,但它会允许图标“重叠”它们应该的空间并侵入菜单句柄(这似乎是你想要的,虽然我不知道为什么)。

于 2013-11-14T19:46:55.787 回答