Анкорная компоновка

Последнее обновление: 1.11.2015

Анкорная компоновка позволяет определить размер дочернего элемента в зависимости от размера контейнера. Например, мы можем указать процентное отношение размеров дочернего элемента к размерам родителя:

Ext.onReady(function(){
var panel= Ext.create('Ext.Panel', {
            title: 'Компоновка Anchor',
			width: 300,
			height: 200,
			layout:'anchor',
            items: [
				{
					xtype: 'panel',
					title: 'Л. Толстой',
					html: 'Произведения Л. Толстого: "Война и мир", "Воскресение", "Крейцерова соната"',
					anchor: '60% 85%'
				}],
			renderTo: Ext.getBody()
        });
 });

Чтобы определить анкорную компоновку, мы задаем layout:'anchor'. Затем мы можем применить параметр anchor у дочерних элементов, чтобы задать их размеры. В данном случае используется значение anchor: '60% 85%', то есть внутренняя панель будет иметь ширину в 60% от ширины контейнера, и высоту в 85% от высоты контейнера.

Также мы можем задать и другие варианты анкорной компоновки с помощью параметра anchor. Например, мы можем сделать смещение дочернего элемента от границ, использовав anchor: '-50 -25', где 50 - смещение от правого края контейнера, а 25 - смещение от нижней границы контейнера:

Ext.onReady(function(){
var panel= Ext.create('Ext.Panel', {
            title: 'Компоновка Anchor',
			width: 300,
			height: 200,
			layout:'anchor',
            items: [
				{
					xtype: 'panel',
					title: 'Л. Толстой',
					html: 'Произведения Л. Толстого...',
					anchor: '-50 -25'
				}],
			renderTo: Ext.getBody()
        });
 });

Но мы также можем определить фиксированные размеры дочерней панели, указав anchor: 'r b':

Ext.onReady(function(){
var panel= Ext.create('Ext.Panel', {
            title: 'Компоновка Anchor',
			width: 300,
			height: 200,
			layout:'anchor',
            items: [
				{
					xtype: 'panel',
					title: 'Л. Толстой',
					html: 'Произведения Л. Толстого...',
					width: 200,
					height: 150,
					anchor: 'r b'
				}],
			renderTo: Ext.getBody()
        });
 });
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850