2015-06-01 5 views
2

У меня есть ионный список аккордеона, что я хотел бы иметь фиксированную высоту. что я не хочу, чтобы весь аккордеон прокручивал только внутренний список, чтобы заголовки аккордеона были видны в любое время.ионный список фиксированный высота аккордеон

Так он должен работать как jQuery аккордеона

Вот пример моего CSS:

.list .item.item-accordion { 
    line-height: 38px; 
    padding-top: 0; 
    padding-bottom: 0; 
    transition: 0.09s all linear; 
} 
.list .item.item-accordion.ng-hide { 
    line-height: 0px; 
} 
.list .item.item-accordion.ng-hide-add, 
.list .item.item-accordion.ng-hide-remove { 
    display: block !important; 
} 

Я сделал codepen для демонстрации.

ответ

3

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

Редактируйте html, чтобы добавить обертку в ng-repeat.

<div class="ion-checkbox-viewport"> 
    <ion-checkbox ng-repeat="filter in group.filters | orderBy: 'name'" class="item-accordion" value="{{filter.name}}" ng-model="filter.checked" ng-change="ModifyFilter(filter)" ng-show="isGroupShown(group)"> 
     {{filter.name}} 
    </ion-checkbox> 
    </div> 

Затем добавить правило CSS:

.ion-checkbox-viewport { 
    max-height: 200px; 
    width:100%; 
    display:block !important; 
    overflow:scroll !important; 
} 

Все это делает обертывания нг-повтор в другой родительский элемент, то он устанавливает максимальную высоту на этом элементе и прокрутка по мере необходимости.

http://codepen.io/anon/pen/LVxwxP

+0

Как я могу сделать это заполнить окно просмотра. Фиксированная высота 200px немного ограничена, учитывая устройства, которые я собираюсь использовать. Большое спасибо Jim – Taylorsuk

+1

Мое удовольствие. Я направляюсь, поэтому я не могу сделать ручку прямо сейчас, но лучше всего использовать flexbox. Вы обернули бы все это в div с высотой: 100%, тогда вы бы использовали flexbox, чтобы сделать в настоящее время расширенный элемент гибким: 4, когда все остальное имеет изгиб 1. Вы могли бы сделать это, используя высота: 100% без flexbox, но похоже, что вычисления будут сложными. – JimTheDev

+0

Я пробовал идею 100%, и это не помогло мне, к сожалению. Меня интересует идея flexbox. Не используется раньше. – Taylorsuk

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