【问题标题】:ASP Menu auto-adds clear divASP 菜单自动添加清除 div
【发布时间】:2013-05-04 23:17:20
【问题描述】:

我希望我的标题看起来像这样:

Link | Link | Link                                               Image
-----------------------------------------------------------------------

我所拥有的是:

Link | Link | Link                                               
-----------------------------------------------------------------------    
                                                                 Image

ASP 代码:

<div class="hideSkiplink">
     <asp:Menu ID="NavigationMenu" runat="server" EnableViewState="False" IncludeStyleBlock="true" Orientation="Horizontal" >
          <Items>
               <asp:MenuItem NavigateUrl="~/Default.aspx" ImageUrl="~/ICONS/About/home_Icon.png"/>
               <asp:MenuItem NavigateUrl="~/About.aspx" ImageUrl="~/ICONS/About/about_Icon.png"/>
               <asp:MenuItem NavigateUrl="~/RestrictedPages/AdminMenu.aspx" ImageUrl="~/ICONS/About/admin_Icon.png"></asp:MenuItem>
          </Items>
     </asp:Menu>
     <div class="logo">
          <asp:Image ID="Image1" runat="server" ImageUrl="~/ICONS/About/logo.png" />
     </div>
</div>

CSS:

div.hideSkiplink {
    background-color: #3a4f63;
    width: 100%;
}

div.logo {
   float: right;
} 

检查Firebug中的元素显示:

<div class="hideSkiplink">
  <a href="#NavigationMenu_SkipLink">
    <div id="NavigationMenu" style="float: left;">
      <div style="clear: left;"></div>

我认为带有clear: left 的 div 是自动创建的,这就是导致问题的原因。

可以采取什么措施来防止创建此元素,或者是否有解决方法来弥补它的包含?

【问题讨论】:

  • 你能在jsfiddle.net给我演示吗?
  • 你有没有想过这个问题?我有完全相同的问题。它自动插入
    迫使下一个元素向下(完全像你的例子)。

标签: css asp.net menu css-float


【解决方案1】:

正确且完整的答案是:

1) 如“musium”所言,将以下内容添加到您的 CSS 中

#IDOfYourMenuControl + div {
clear: none !important;
}

这将阻止意外

<div style="clear: left";></div>

2) 将以下内容添加到您的 asp.menu 标记中

SkipLinkText=""

这将阻止意外

<a id="yourmenuID_SkipLink">

标签正在创建。

不客气。 :-)

【讨论】:

    【解决方案2】:

    正确排列你的 div

    例如

    <div id="dvParent">
        <div style="float:left">
            Link | Link | Link 
        </div>
        <div style="float:right">
            Image
        </div>
        <div style="clear:both;"></div>
    </div>
    

    http://jsfiddle.net/PhKhg/

    【讨论】:

    • 这不起作用。问题是 asp.net 正在插入
      ,
    【解决方案3】:

    我知道这个问题很老了……但我也遇到了同样的问题,对我来说,以下解决方案有效:

    #IDOfYourMenuControl + div {
        clear: none !important;
    }
    

    【讨论】:

    • 谢谢,我正在尝试如何摆脱自动创建的 div clear:left 标签,这符合要求。
    【解决方案4】:
    nav div:nth-child(a number){
        clear:none !important;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      • 2014-01-06
      相关资源
      最近更新 更多