Я знаю, что на эти вопросы уже много ответов, но не соответствует моим требованиям. У меня есть таблица неизвестной высоты и ширины, и мне нужно, если таблица слишком высока, так что нужно прокручивать ее, чтобы заголовки таблицы оставались фиксированными и следовали за прокруткой. Все решения, которые я видел, требуют фиксированной высоты таблицы. Я также хотел бы, чтобы свиток был невидим, пока он все еще функционирует. Может ли это быть достигнуто или мне нужна фиксированная высота?Таблица с фиксированным заголовком и динамической высотой
Мой CSS до сих пор дает мне возможность прокрутки по вертикали и по горизонтали (я только хочу вертикальной прокрутки), но с фиксированной высотой и видимой полосы прокрутки:
table.sol-compare-table {
box-sizing: border-box;
overflow: hidden;
display: table;
width: 100%;
}
table.sol-compare-table thead, table.sol-compare-table tbody {
float: left;
width: 100%;
}
table.sol-compare-table tbody {
overflow: auto;
height: 150px;
/*overflow-x: hidden;*/
}
table.sol-compare-table tr {
width: 100%;
display: table;
text-align: left;
}
Вот мой HTML:
<table class="table sol-compare-table">
<thead>
<tr>
<th>
<div>
<a class="sol-pdf-generator hover-gray-icon sol-share-icon" target="_blank" ng-href="#">
<i class="fa fa-file-pdf-o"></i>
Ladda ner som PDF
</a>
<a class="sol-share-facebook hover-gray-icon sol-share-icon" onclick="#">
<img src="#" alt="facebook">
</a>
<a class="sol-share-twitter hover-gray-icon sol-share-icon" onclick="#">
<img src="#" alt="twitter"><!--<i class="fa fa-twitter"></i>-->
</a>
<a class="sol-share-mail hover-gray-icon sol-share-icon" onclick="#">
<i class="glyphicon glyphicon-envelope"></i>
</a>
</div>
<h2 class="sol-compare-heading">Allmän Information<h2>
</th>
<th ng-repeat="unit in units" class="sol-compare-heading">
<div>
<a href="#/unitDetail/{{unit.Id}}">
<img class="detail-main-image" ng-if="getImageOfUnit(unit).Value.Id" ng-src="#"></img>
</a>
</div>
<a href="#"></a>
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="#">
<td>Name</td>
<td ng-repeat="unit in units">
<span ng-if="unitAttr.Value != null">
<span print-attribute="#"></span>
</span>
<span ng-repeat="#" ng-if="unitAttr.Values">
#
</span>
<span ng-if="# == null && unitAttr.Values == null">
-
</span>
</td>
</tr>
</tbody>
</table>
EDIT
Я попытался с помощью позиции: фиксированный в заголовке таблицы и й почти выполнив то, что мне нужно, только чтобы он всегда фиксировался в верхней части страницы (при прокрутке вниз он должен следовать прокрутке, но в той же позиции в окне браузера). Этот JSfiddle - самый простой способ показать, где я нахожусь в atm. http://jsfiddle.net/rwqkokgy/5/
Я предлагаю использовать 'overflow-y: scroll;' для отображения полос прокрутки, даже если окно достаточно высоко, чтобы предотвратить «перескакивание» содержимого при изменении размера окна и добавлении полосы прокрутки. – Wavemaster
@Wavemaster Я согласен. Я написал в ответ оба, и пользователь может использовать то, что он хочет. В большинстве случаев я использую, как вы предлагаете. Этот пример jsfiddle я написал для одного другого пользовательского запроса неделю назад. – nelek