2012-09-26 4 views
7

Кто-нибудь знает ванильный способ сделать тело таблицы прокручиваемым, используя только html и css?Как сделать таблицу прокручиваемой

Очевидное решение

tbody { 
    height: 200px; 
    overflow-y: scroll; 
} 

не работает.

Не было ли это очевидным использованием таблиц?

Я делаю что-то неправильно?

ответ

13

Вам нужно сначала объявить высоту, иначе ваша таблица будет расширяться в соответствии с ее содержанием.

table{ 
    overflow-y:scroll; 
    height:100px; 
    display:block; 
} 

EDIT: после уточнения вашей проблемы я редактировал скрипку: ЗАКАНЧИВАТЬ this Example или that way. Это довольно хаки и не гарантированно работает на кроссбраузерах, но может работать на ваш случай.

+0

Dont еще проблема –

+0

, что происходит с 'thead' части таблицы? –

+0

Использование 'display: block' будет работать, но обычно не рекомендуется, так как браузер больше не будет считать его таблицей. – scoota269

4

Вы не можете сделать это со столом. Оберните стол с помощью div a, дайте ему что-то вроде:

div.wrapper { 
    overflow:hidden; 
    overflow-y: scroll; 
    height: 100px; // change this to desired height 
} 
1

Вы хотите что-то подобное?

Pure CSS Scrollable таблицы с фиксированным заголовком (1)

http://anaturb.net/csstips/sheader.htm

http://www.scientificpsychic.com/blogentries/html-and-css-scrolling-table-with-fixed-heading.html

+0

Да, кроме того, что мне все еще нужно сделать ширину столбцов в таблице статичной. Я действительно не хочу определять ширину перед запуском. –

+0

, а второе решение - это взлом, если я когда-либо видел его. без набора тегов ширины нет абсолютно никакой гарантии того, что колонии выровнятся с заголовками –

+0

Аналогичный вопрос задан здесь: http://stackoverflow.com/questions/10838700/large-dynamically-sized-html-table- with-a-fixed-scroll-row-and-fixed-scroll-colu – RMN

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