HTML-таблица с замороженным левым столбцом, с возможностью прокрутки по вертикали?
Я видел примеры здесь и там хитрости, чтобы использовать
position:absolute
на первом столбце таблицы, а затем сделать горизонтальную прокрутку остальной части таблицы.
Это работает, как видно здесь: http://jsfiddle.net/YMvk9/4289/
Однако, как только я добавил вертикальную полосу прокрутки, вы можете видеть, что она не прокручивает замороженную панель, вместо этого замороженная панель теперь торчит от остальной части таблицы в ужасном виде.
Мне нужна замороженная колонка слева для вертикальной прокрутки. Кто-нибудь может исправить код jsfiddle?
1 ответ
Предполагая, что вы хотите, чтобы пользователь мог прокручивать таблицу по вертикали или по горизонтали, есть несколько способов добиться этого. Самым простым было бы поставить headcol
ячейки в таблице, которые там есть, затем расположите две таблицы так, чтобы они были друг против друга, и оберните их в элемент div overflow:scroll
, Я все же придумал исправление для вашего текущего макета.
Вот скрипка
У вас было несколько проблем:
- Ваш
overflow
свойство относилось только ко второму столбцу таблицы. - Ваш содержащий div не содержит ничего, потому что у него не было правил позиционирования, поэтому я дал ему абсолютное позиционирование и назначил
overflow:scroll:
свойство к этому. - Как только вы поместите контейнер абсолютно, он
long
класс, поэтому я назначил этоfloat:right;
и дал емуmargin-left
для учетаheadcol
клетки. - Наконец, поскольку вы перемещаете элемент, вы должны использовать "clear fix", чтобы убедиться, что он не переносится, поэтому я добавил новый класс и новую ячейку в каждую строку, чтобы исправить макет.
Надеюсь, это поможет!
ОБНОВЛЕНИЕ: После публикации я заметил одну проблему в этом добавлении margin-left
на ваш long
класс облажался, как таблица выглядит, я удалил это правило и добавил padding-left
к div
чтобы исправить проблему. Возможно, вам еще понадобится несколько небольших настроек полей и отступов, чтобы таблица выглядела правильно; но это работает! Я тоже обновил скрипку.