2016-08-05 2 views
0

У меня есть div высоты набора. Я устанавливаю div в столбец в материале google, а затем добавляю строки содержимого.Материал Google - прокрутить div с установленной высотой

Моя проблема заключается в следующем:

Если я не установлен контейнер DIV, чтобы иметь фиксированную высоту, то ДИВ не прокручивать - содержание переполнения просто не отображается.

Если я устанавливаю контейнер на фиксированную высоту, то строки сжимаются вместе, чтобы вписаться в это пространство, и форматирование будет потеряно.

Это похоже на то, что должно быть чрезвычайно простым в использовании. Я вижу ответы, которые говорят, что вы должны внедрять элементы md-content, которые у меня есть в приведенном ниже коде. Это неодобрительно воспринимается материальными документами и понятно. Любая помощь приветствуется.

<md-content> 

    <md-content> 

     <div layout="column" flex="100"> 

      <div layout="row" flex="100" layout-margin > 

       row content 

      </div> 

      <div layout="row" flex="100" layout-margin > 

       row content 

      </div> 

      <div layout="row" flex="100" layout-margin > 

       row content 

      </div> 

     </div> 

    </md-content> 

</md-content> 

ответ

0

Вам просто нужно установить flex="none" для внутренних div с - CodePen

С docs

enter image description here

разметке

<div ng-controller="AppCtrl" ng-cloak="" ng-app="MyApp"> 
    <md-content> 
     Scrolling: 
     <md-content> 
      <div layout="column" style="height:50px; background:yellow; overflow:auto"> 
       <div layout="row" flex="none" layout-margin style="color:red"> 
        row content 
       </div> 
       <div layout="row" flex="none" layout-margin style="color:blue"> 
        row content 
       </div> 
       <div layout="row" flex="none" layout-margin style="color:green"> 
        row content 
       </div> 
      </div> 
     </md-content> 
     <br> 
     Basic: 
     <md-content> 
      <div layout="column"> 
       <div layout="row" flex="100" layout-margin style="color:red"> 
        row content 
       </div> 
       <div layout="row" flex="100" layout-margin style="color:blue"> 
        row content 
       </div> 
       <div layout="row" flex="100" layout-margin style="color:green"> 
        row content 
       </div> 
      </div> 
     </md-content> 
    </md-content> 
</div> 
+0

Спасибо, это сработало. Любые комментарии относительно действительности использования встроенных тегов md-content? Любые другие идеалы в отношении того, что нужно делать? –

+0

@JoshuaFoxworth Согласно документам - https://material.angularjs.org/latest/api/directive/mdContent - «В общем,' 'компоненты не предназначены для вставки внутри друг друга. Если возможно, это лучше чтобы заставить их братьев и сестер. Это часто приводит к лучшему опыту пользователя, поскольку вложенные полосы прокрутки могут путать пользователя ». Обычно у меня есть одно 'md-content', в которое я помещаю все свои элементы и использую divs для группировки элементов. Надеюсь, это поможет. –

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