最近學習jquery easyui,用easyui的layout做了一個后台頁面的框架,如下圖所示:
其中左邊的導航菜單遇到一點點樣式問題,當我調整窗口的大小時會出現:
①、左邊的導航菜單的邊框線會消失
②、導航菜單的寬度拉伸時菜單項的寬度不變,留出一部分空白
③、導航菜單超出屏幕的部分會顯示不出來,不會出現滑動塊
如下圖所示:
后來發現出現該問題的原因是這部分:
<div data-options="region:'west',border:true,split:true,collapsible:true,title:'系統菜單'" style="width: 240px;height:100%;" class="easyui-accordion"> @{ foreach (var m1 in ViewBag.Menu) { if (m1.PID == -1) { <div title="@m1.Name" data-options="iconCls:'icon-ok'" style="width:100%;height:200px;overflow:auto;"> <ul class="sub-menu"> @{ var menu = ViewBag.Menu as List<Menu>; var children = menu.Where(o => o.PID == m1.ID).ToList(); if (children != null && children.Count > 0) { foreach (var m2 in children) { <li><a href="#" onclick="addTab(@m2.ID,'@m2.Name','@m2.Url');" id="@m2.ID">@m2.Name</a></li> } } } </ul> </div> } } } </div>
外面這個<div>既設置了region屬性又設置了class=easyui-according,與之前提到的tabs當頁面的大小改變之后頁面不會自適應的問題類似。以后使用easyui來布局時盡量不要一個標記使用多個屬性,一般把region放在外面這層,在region里面再加一個div來表示具體控件