1. 程式人生 > >【EasyUi】頁面設計必學之Layout

【EasyUi】頁面設計必學之Layout

        接觸EasyUi也快一年了,很多時候都把重心放在實現功能方面,要顯示大量資料了就用DataGrid,要實現分頁效果了就想著Tabs,如此等等,再接下來就是考慮CSS、js如何讓這個功能實現的更好。我很少去看其它“無關”功能的東西,每次總以沒時間為由推遲對這些知識的瞭解、或者覺得這些東西太簡單遇到了看幫助文件就成。然而一年了,我只用過貼上過來的Layout,在自己設計頁面的時候都是用margin代替,這麼簡單又實用的東西,你是否也忽略了?

一、簡介Layout

       Layout俗稱佈局面版,它最多可把頁面分成五個部分:east、west、south、north、center(東西南北中),每個部分均可放入任意的頁面控制元件,我們可以直接拖動它的邊框進行伸縮調整,也可以摺疊某些區域。最主要的是還可以在這些區域中再巢狀Layout,即整個頁面都是被Layout承包的!

<html>
	<head>
		<title>test</title>
		<link href="jquery-easyui-1.3.2/demo/demo.css" rel="stylesheet" />
		<link href="jquery-easyui-1.3.2/themes/icon.css" rel="stylesheet" />
		<link href="jquery-easyui-1.3.2/themes/default/easyui.css" rel="stylesheet" />
		<script src="jquery-easyui-1.3.2/jquery-1.8.0.min.js"></script>
		<script src="jquery-easyui-1.3.2/jquery.easyui.min.js"></script>
	</head>
	<body class="easyui-layout" style="font-size:46px;">
		<div data-options="region:'north',border:false" style="height:60px;background:#778899;padding:10px;font-size:26px;text-align:center">北部區域:可載入標題、logo等等</div>
		<div data-options="region:'west',split:true,title:'西部'" style="width:150px;padding:10px;">導航欄類的東西放在這裡,如:tree、Accordion</div>
		<div data-options="region:'east',split:true,collapsed:true,title:'東部'" style="width:100px;padding:10px;"></div>
		<div data-options="region:'south',border:false" style="height:50px;background:#778899;padding:10px;text-align:center">南部區域:可顯示作者、聯絡方式等等資訊</div>
		<div data-options="region:'center',title:'中間'">這裡放顯示大量資料的控制元件、如DataGrid、Tabs等</div>
	</body>
</html>
二、使用

1.建立Layout

       首先需要建立佈局面版(Layout Options),即在<div>標籤中引入easyui-layout類,這個就相當於告訴Web頁面我要使用Layout了;接下來建立整個頁面的區域面版(Region Panel Options),即把頁面劃分成哪些部分;如果有巢狀的佈局,則可重新從引入easyui-layout開始;最後把控制元件加入到各區域即可,這樣頁面的整體設計就完成了

2.屬性

       1)面版的樣式

              fit:它是在建立面版(Layout Options)的標籤中,可定義的屬性,值為boolean型,預設是false。例如:

       fit為true時

<body>

    <div id="mainBody" class="easyui-layout" data-options="fit:true" style="width: 1154px; height: 553px;margin-top:40px; margin-left: 90px;">
        @*zTree樹形結構*@
        <div data-options="region:'west',split:true,title:'導航欄'" style="width: 250px; height:auto">
        </div>

        @* 右側載入部分頁面資料區域 *@
        <div id="Content" data-options="region:'center',title:'使用者資訊'" style="background: white; width: 800px">
        </div>
    </div>

</body>
       頁面顯示如下,其中右邊、下邊一直延伸,好像沒有邊框一樣,這樣的頁面效果很糟糕,好像是隻顯示出來一部分一樣(值為true的情況,一般用在巢狀面版中)


       把fit設為false或者不設定時,如下(這樣看起來才有頭有尾)

       2)區域面版

              區域的控制面版選項data-options中定義的面版元件,它的屬性一般也包括title、border等,特殊一點的有下邊三個

              region:定義面版的位置,即取值為east、west、south、north、center中的一個,表示東西南北中任意一部分

              split:設定為true將顯示一個分隔條,使用者可拖動分隔條來改變區域的大小,預設值為false

              iconCls:用來小時佈局面版頭部圖示的css類

3.事件

       一般的事件,如resize、add、remove等,它都擁有,此外還有三個我們需要知道的

       1)panel:引數為region的屬性值,返回特定的佈局面板

       2)collapse:引數為region的屬性值,摺疊特定的佈局面板。設為true,則在載入後成摺疊狀態,預設為false(開啟狀態)

       3)expand:引數為region的屬性值,延伸特定的佈局面板

小結:

       Layout很簡單實用,這次是因為頁面顯示出現了問題才來瞭解它,期間調了很多次才知道原因在這兒,如果提前瞭解過Layout想必可以很快就知道毛病在哪兒,也不用走那麼多彎路了。 在咱們平常學習中,很多東西不怕不知道,就怕不知道。沒有提前瞭解過的東西,在實際應用中很少會想到它。