2017-02-04 4 views
0

У меня есть группа списка, использующая bootstrap, с множеством элементов в ней. Я применил следующие правила CSS для идентификатора моего div-группы.max-height 100% переполняющий родительский

#my-listgroup { 
    margin-top: 20px; 
    border-radius: 6px; 
    overflow-y: scroll; 
    max-height: 100%; 
    max-width: 100%; 
    width: auto; 
    height: auto; 
} 

Теперь этот div завернут в пару других div, как показано ниже.

markup of my issue.

как мне сделать мой listgroup не переполнить мой #-содержимого меню тела DIV, который имеет следующие правила CSS, в то же время позволяя это реагировать.

#body-content-menu { 
    border-radius: 10px; 
    height: 100%; 
    background-color: #B21E15; 
    padding-bottom: 20px; 
} 
+0

'Макс-высота: 100%;' необходим действительный из 'height' в CSS от своего прямого родителя, иначе это 100% от null (неизвестное значение) –

+0

будет 'height: auto' работать? – ddeamaral

+0

'height: auto', является значением defaut, если его нужно сбросить да, иначе нет необходимости объявлять его снова, он уже активен :), но это не будет использование каких-либо используемых значений для' height : XX% 'или' max-height: XX% 'для детей. –

ответ

1

Во-первых, у вас должна быть ссылка jquery на вашей странице (возможно, bootstrap добавьте ее на свою страницу). Затем вам нужно установить идентификатор для div class="row", например id="row и еще один идентификатор для div class="col-lg-12" например id="col".

Сейчас:

var realHeight = $('#col').height() - $('#row').height(); 
$('#my-listgroup').css('height', realHeight + 'px'); 

<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> 
 
<div id="col" style="height:100px;background-color:red;margin:100px;"> 
 
\t <div id="row" style="height:40px;">div row</div> 
 
\t <select id="my-listgroup" size="4" name="ctl02" style="max-height: 100%;"> 
 
\t 
 
\t <option value="item">item</option> 
 
\t <option value="item">item</option> 
 
\t <option value="item">item</option> 
 
\t <option value="item">item</option> 
 
\t <option value="item">item</option> 
 
\t <option value="item">item</option> 
 

 
</select></div> 
 
<script> 
 
    var realHeight = $('#col').height() - $('#row').height(); 
 
    $('#my-listgroup').css('height', realHeight + 'px'); 
 
</script>

+0

это не исправить. – ddeamaral

+0

редактирование все еще не исправляло. переполнение-y: прокрутка на col просто добавила полосу прокрутки за пределами моей группы list, в # body-content-menu. – ddeamaral

+0

Он имеет прокрутку, но все еще высоту переполнения? –

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