ExtJs布局詳解

2022-01-15 15:17:22 字數 3929 閱讀 9311

無論是介面之美,還是功能之強,extjs

都高居榜首。

2、呵呵,介面之美當是少不了布局的,這篇文章我寫layout的七種布局。(extjs是4.+版本)

這中布局是最常用的布局之一,看圖

border布局:border布局也稱邊界布局,他將頁面分隔為west,east,south,north,center這五個部分,我們需要在其items中指定使用region引數為其子元素指定具體位置。

注意:north和south部分只能設定高度(height),west和east部分只能設定寬度(width)。north south west east區域變大,center區域就變小了。

引數 split:true 可以調整除了center四個區域的大小。

引數 collapsible:true 將啟用摺疊功能。

center 區域是必須使用的,center區域會自動填充其他區域的剩餘空間。尤其在extjs4.0中,當指定布局為border時,如果沒有指定center區域時,會出現報錯資訊。

accordion布局:accordion布局也稱手風琴布局,在accordion布局下,在任何時間裡,只有乙個面板處於啟用狀態。其中每個麵邊都支援展開和摺疊。注意:只有ext.panels 和所有ext.panel.panel 子項,才可以使用accordion布局。

ext.onready(function

() ,

width: 250,

minwidth: 90,

region: "west", //

設定方位

split: true

, collapsible:

true

, items: [,,

,]});newext.viewport(,

items: [

accordion,

//這裡是(accordion)手風琴布局,,

card布局:這種布局用來管理多個子元件,並且在任何時刻只能顯示乙個子元件。這種布局最常用的情況是嚮導模式,也就是我們所說的分布提交。card布局可以使用layout:'card'來建立。

注意:由於此布局本身不提供分步導航功能,所以需要使用者自己開發該功能。由於只有乙個面板處於顯示狀態,那麼在初始時,我們可以使用setactiveitem功能來指定某乙個面板的顯示。當要顯示下乙個面板或者上乙個面板的時候,我們可以使用getnext()或getprev()來得到下乙個或上乙個面板。然後使用setdisabled方法來設定面板的顯示。另外,如果面板中顯示的是form布局,我們在點選下乙個面板的時候,處理form中提交的元素,通過ajax將表單中的內容儲存到資料庫中或者session中。

下面的示例**展示了乙個基本的card布局,布局中並沒有包含form元素,具體情況,還要根據實際情況進行處理:

//

card布局__類似嚮導

在fit布局中,子元素將自動填滿整個父容器。

注意:在fit布局下,對其子元素設定寬度是無效的。如果在fit布局中放置了多個元件,則只會顯示第乙個子元素。典型的案例就是當客戶要求乙個window或panel中放置乙個grid元件,grid元件的大小會隨著父容器的大小改變而改變。

//

fit 布局

anchor布局將使元件固定于父容器的某乙個位置,使用anchor布局的子元件尺寸相對於容器的尺寸,即父容器容器的大小發生變化時,使用anchor布局的元件會根據規定的規則重新渲染位置和大小。

anchorlayout布局沒有任何的直接配置選項(繼承的除外),然而在使用anchorlayout布局時,其子元件都有乙個anchor屬性,用來配置此子元件在父容器中所處的位置。

anchor屬性為一組字串,可以使用百分比或者是-數字來表示。配置字串使用空格隔開,例如

anchor:'75% 25%',表示寬度為父容器的75%,高度為父容器的25%

anchor:'-295 -300',表示元件相對于父容器右邊距為295,相對于父容器的底部位300

anchor:'-250 10%',混合模式,表示元件黨對於如容器右邊為250,高度為父容器的10%

//

anchor布局

布局繼承

ext.layout.container.anchor

布局方式,並增加了

x/y配置選項對子元件進行定位,

absolute

布局的目的是為了擴充套件布局的屬性,使得布局更容易使用。

//

absolute布局

column布局一般被稱為列布局,這種布局的目的是為了建立乙個多列的格式。其中每列的寬度,可以為其指定乙個百分比或者是乙個固定的寬度。

column布局沒有直接的配置選項(繼承的除外),但column布局支援乙個columnwidth屬性,在布局過程中,使用columnwidth指定每個面板的寬度。

注意:使用column布局布局時,其子面板的所有columnwidth值加起來必須介於0~1之間或者是所佔百分比。他們的總和應該是1。

另外,如果任何子面板沒有指定columnwidth值,那麼它將佔滿剩餘的空間。

name: "helloext",

launch:

function

() , , ],

renderto: ext.getbody()

});}

});

ExtJS常用布局詳解

extjs的容器元件都可以通過設定layout引數來選擇布局改變顯示風格,它的有效值有 absolute 控制位置,accordion 手風琴布局,anchor 控制大小,border 邊界式布局,card 卡片布局,column 列布局,fit 填充式布局,form 表單布局,table 式布局 ...

ExtJS常用布局詳解

extjs的容器元件都可以通過設定layout引數來選擇布局改變顯示風格,它的有效值有 absolute 控制位置,accordion 手風琴布局,anchor 控制大小,border 邊界式布局,card 卡片布局,column 列布局,fit 填充式布局,form 表單布局,table 式布局 ...

Extjs4布局詳解 六 Column布局

column布局一般被稱為列布局,這種布局的目的是為了建立乙個多列的格式。其中每列的寬度,可以為其指定乙個百分比或者是乙個固定的寬度。column布局一般被稱為列布局,這種布局的目的是為了建立乙個多列的格式。其中每列的寬度,可以為其指定乙個百分比或者是乙個固定的寬度。column布局沒有直接的配置選...