Добавление строк в таблицу в контейнере с переполнением: автоматическое увеличение высоты контейнера

#html #css

#HTML #css

Вопрос:

У меня есть div с таблицей в нем. Для div установлено значение overflow:auto. Строки можно добавлять в таблицу динамически. Div — это гибкий элемент в родительском столбце с flex-direction: , он настроен так, чтобы занимать 80% высоты.

                     <div class="tableWrapper">
                    <table id="second" cellspacing="0">
                        <thead>
                            ...
                        </thead>
                        <tbody>
                            ...
                        </tbody>
                    </table>
                    </div>
 
 .tableWrapper{
    flex-basis:80%; /* This is the height */
    overflow-y:auto;
    display:flex;
    width:100%;
}

table{
    width:100%;
}

th{
    text-align:center;
    font-weight:bold;
}

th, td{
    height:3em;
    vertical-align:middle;
    text-align:center;
    font-weight:bold;
}
 

Таблица начинается пустой с добавлением данных. Когда количество строк превышает высоту / гибкую основу контейнера, контейнер одновременно переполняется полосой прокрутки и увеличивается в высоту. Обычно я добавляю строки ~ 5 или 6 одновременно.

Это в Firefox и Opera. Safari на iPad OS обрабатывает это, как и ожидалось.

Ответ №1:

Упс, забыл правило, которое полностью имеет смысл.

Применение переполнения: скрыто в родительском элементе страницы, конечно, исправлена проблема переполнения с помощью flexbox.