在使用asp.net的Menu控件时,用如下的代码:    <asp:Menu ID="Menu1" runat="server" Orientation="Horizontal">
        <Items>
            <asp:MenuItem Text="Item1" Value="Item1"></asp:MenuItem>
            <asp:MenuItem Text="Item2" Value="Item2"></asp:MenuItem>
        </Items>
    </asp:Menu>生成的Html如下:
<DIV style="FLOAT: left; cssFloat: left" id=Menu1 Sys.WebForms.Menu.Mapping="Menu1"><UL style="POSITION: relative; WIDTH: auto; FLOAT: left; cssFloat: left" class="level1 static" role=menubar tabIndex=0 Sys.WebForms.Menu.Mapping="%1">
<LI style="POSITION: relative; FLOAT: left; cssFloat: left" class=static role=menuitem Sys.WebForms.Menu.Mapping="%2"><A class="level1 static" tabIndex=-1 onclick="__doPostBack('Menu1','Item1')" href="#">Item1</A></LI>
<LI style="POSITION: relative; FLOAT: left; cssFloat: left" class=static role=menuitem Sys.WebForms.Menu.Mapping="%3"><A class="level1 static" tabIndex=-1 onclick="__doPostBack('Menu1','Item2')" href="#">Item2</A></LI></UL></DIV><DIV style="CLEAR: left"></DIV>以上省略了许多与本问题无关的代码。
从以上代码我们可以看到,除了生成我们想要的代码外还生成了一个<DIV style="CLEAR: left"></DIV>,这样使我们如果想要在Menu一栏再添加一些内容的话就很难完成,如何才能除去这个<DIV style="CLEAR: left"></DIV>?

解决方案 »

  1.   

    不用控件 自己写HTML菜单不行吗,生成的这么多HTML标记,看着就累···个人看法,
      

  2.   

    控件有控件的好,自己写有自己写的好再加一个div也不行啊,我想把自己的东西和那个Menu控件写到一行上去,即使再加一个也不行啊,无法成为一行
    可别说用绝对定位,不想用绝对定位
      

  3.   

    <div id="div_1_1" style:"float:left;"><这里放你要放的控件></div>
    <div id="div_1_2" style:"float:left;"><这里放menu></div>
    <div style="float:clear;height:0;"></div>使用浮动和清除浮动相结合的手段
    你就能体会到div+css的布局是多么的得心应手了
      

  4.   

    要轻松灵活的布局,就要懂得使用float;
    要布局结构稳定,就要懂得清除float,尤其是这一点,很多开发人员不注意
      

  5.   

    div+css这是基本的东西,了解了就能解决你的问题!
      

  6.   

    缪军同学说的太好了,尤其是要轻松灵活的布局,就要懂得使用float;要布局结构稳定,就要懂得清除float。你说的那一种是可行的,但是我当时遇到的问题是我想把自己的控件放到Menu的右面,由于div有一个clear:left,所以div与Menu一定不在同一行,那么在Div后的我的控件也不与Menu在同一行。我想要的是如何将那个Div除去,这样就可以更为方便的做自己的布局了
    现在我已经不用这样的设计了,但仍觉得这个讨论是有意义的
      

  7.   

    你自己的问题,
    你想加的东西是什么,不是菜单项的话干嘛加在<div id="menu">里面?<div id="menu">这个你就看作一个整体,不要想着往里面塞东西,考虑成封装过的,你无法直接访问内部的盒子就行了,至于你加东西这样
    <div id="外部容器">
    <div id="menu1">这个menu</div>
    <div id="比如搜索框">搜索框</div>
    </div>现在的问题就是如果menu1和搜索在一行的问题了,方法就是css
    比如采用浮动啦,或者定位啦。