【问题标题】:asp.net menu control hide items if longer than page width如果长于页面宽度,asp.net 菜单控件将隐藏项目
【发布时间】:2012-04-12 10:41:01
【问题描述】:

好的,我有一个从代码隐藏创建的 asp.net 菜单控件。它工作得很好,但这更多的是为了用户体验而不是功能。如果我调整浏览器的大小或我的分辨率低于设计的分辨率,那么会发生不适合该行的项目被推到第二行。我想避免这种情况并简单地隐藏由于分辨率而不适合的项目。我希望这是我的代码:

<asp:Menu ID="navigation" runat="server" Orientation="Horizontal" CssClass="topmenu" MaximumDynamicDisplayLevels="20"  
 IncludeStyleBlock="false">
 <DynamicSelectedStyle />
 <DynamicMenuItemStyle />
 <DynamicHoverStyle  />
 <DynamicMenuStyle   />
 <StaticMenuItemStyle  />
 <StaticSelectedStyle />
 <StaticHoverStyle  />
 </asp:Menu>

css

div.topmenu{}
div.topmenu ul
{
  list-style:none; 
  padding:5px 0; 
  margin:0;
  background: #0b2e56;

}
div.topmenu ul li
{
  float:left; 
  padding:10px;
  color: #fff; 
  height:16px; 
  z-index:9999;
  margin:0;

}

div.topmenu ul li a, div.menu ul li a:visited{ color: #fff;  }

div.topmenu ul li a:hover{ color:#fff;  }

div.topmenu ul li a:active{color:#fff;  }

【问题讨论】:

  • CSS 与您的 HTML 一起使用,因此请显示您的 HTML,而不是您的 .net 源代码。
  • html 就是上面的内容,在 .net 中就是这样构建菜单控件的。源代码将显示我如何绑定该菜单控件。

标签: asp.net html css menu


【解决方案1】:

尝试将其包装在另一个 div 中,例如

<div id="navWrapper">
    <asp:Menu ID="navigation" runat="server" Orientation="Horizontal" CssClass="topmenu" MaximumDynamicDisplayLevels="20"  
     IncludeStyleBlock="false">
     <DynamicSelectedStyle />
     <DynamicMenuItemStyle />
     <DynamicHoverStyle  />
     <DynamicMenuStyle   />
     <StaticMenuItemStyle  />
     <StaticSelectedStyle />
     <StaticHoverStyle  />
     </asp:Menu>
</div>

然后像这样改变css

div.topmenu{}
div.topmenu ul
{
  list-style:none; 
  padding:5px 0; 
  margin:0;
  background: #0b2e56;
  float: left;
  width: 1000px;    
}
div.topmenu ul li
{
  float:left; 
  padding:10px;
  color: #fff; 
  height:16px; 
  z-index:9999;
  margin:0;

}

div.topmenu ul li a, div.menu ul li a:visited{ color: #fff;  }

div.topmenu ul li a:hover{ color:#fff;  }

div.topmenu ul li a:active{color:#fff;  }

#navWrapper{
    width: 100%;
    overflow: hidden;
    float: left;
}

希望这是有道理的。我无法测试但使用该理论,您应该设置为外部 div 会缩小并隐藏内容,因为它变得更小,但 ul 将在该 div 内保持固定 1000px,所以不会下拉当它闪现时

【讨论】:

  • 这里是错误的屏幕截图,即使在添加您的 css 建议 iminds.pe/menu.png 之后,当我添加您的 css 时,子菜单也不再显示。
  • 你能把菜单里的源代码改成jsfiddle.net,我看看
  • 我可以试一试,我没用过jsfiddle。
  • 请务必推送保存并复制并将地址粘贴回此处,以便我查看您所做的事情:)
  • jsfiddle.net/XGYQ9 这是链接,但由于某种原因,它甚至显示不正确。我复制了编译生成的html代码(查看源代码)并添加了css
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多