2015-07-24 2 views
2

У меня есть этот код (https://fiddle.sencha.com/#fiddle/r38):ExtJs 4,1 MinWidth и выровнять «растянуть» не работает Снегурочка

Ext.onReady(function() { 
     Ext.create("Ext.panel.Panel", { 
      renderTo: Ext.getBody(), 
      height: 200, 
      autoScroll: true, 
      items: [{ 
       layout: { 
        type: "vbox", 
        align: "stretch" 
       }, 
       minWidth: 400 
      } 
      ], 
      layout: { 
       type: "vbox", 
       align: "stretch" 
      } 
     }); 
    }); 

Мне нужно, чтобы показать горизонтальную полосу прокрутки, если размер окна будет меньше, чем MinWidth, 400px то. Но это не видно. Я ищу универсальное решение, поскольку в реальном проекте у меня более сложная древовидная структура.

+0

Вы имеете в виду «minHeight»? Вертикальная полоса прокрутки должна отображаться, если высота изменяется, а не ширина. Высота остается неизменной, если изменяется только ширина. – vitaluha

+0

Я имею в виду горизонтальную полосу прокрутки. спасибо, – msangel

ответ

0

пытаются добавить:

flex: 1 

внутри также добавить свои 'предметы'

:

cls: 'my-panel' 

для панели

затем попытаться использовать медиа-запрос в вас sass/css:

@media only screen and (max-width: 400px){ 
    .my-panel{ 
     overflow-x: scroll; 
    } 
} 
+0

Интересная идея, но главная проблема: изначально мой «основной» компонент не является окном - это панель «center» в макете границы, и у меня есть также панель «west», которая может быть свернута. Поэтому я не могу зависеть от ширины экрана. :( – msangel

+0

было бы неплохо, если бы у вас был полный макет в скрипке, добавьте заголовок панели, сделайте его немного более визуальным, даже некоторые фиктивные элементы тоже будут полезны. Я считаю, что вам нужно будет обработать событие изменения размера, чтобы получить это полностью работает, и да, как вы уже указали, растяжка будет занимать все свободное место и игнорировать конфигурацию autoScroll. – dshun

Смежные вопросы