我在ASP .NET MVC应用程序中使用JQGrid。网格本身运行良好。但是,网格(或页面上的第一个网格)的标题高度正在增长,以匹配左侧导航菜单的高度。这是我拥有的大部分Site.Master布局。我只是不明白为什么会这样。
<div class="page">
<div>
<div id="left">
<div id="leftnavmenu">
<%= Html.MvcSiteMap().Menu("MvcSiteMapProvider", "activenav")%>
</div>
<div id="leftnav-msg">
Message goes here
</div>
</div>
<div id="main">
<div id="mainsitename">
<div id="mainsitenameimage"></div>
<div id="mainsitename1">Intake Tool</div>
</div>
<div id="mainpagetitle">
<%--<%=Html.MvcSiteMap().SiteMapPath(" > ") %>--%>
<asp:ContentPlaceHolder ID="PageTitle" runat="server" />
</div>
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
<div id="maintabledata">
<asp:ContentPlaceHolder ID="TableContent" runat="server" />
</div>
<div id="footer"></div>
</div>
</div>
</div>
答案 0 :(得分:1)
我认为#left
具有float:left
样式,而#main
则没有。这似乎是jqGrid的一个错误。 another post 处理完全相同的问题。
我实际创建了一个 jsFiddle example 来说明问题。
在另一篇文章中,Oleg建议你使用float:left并排<div>
s,另一个div使用clear:两者都在他们之后。这在我的情况下不起作用,因为我希望正确的div扩展到浏览器窗口的整个剩余宽度。浮动<div>
必须具有与它们关联的显式宽度(如果不是,它们采用其中最宽元素的宽度)。
对我有用的一种解决方法是将浮动<div>
的高度设置为小(1px),并为该div的内容设置显式高度。这在上面的jsFiddle中有说明。