Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Размеры ячеек (авто)


Автор: Innuendo 24.1.2006, 11:32
Приветсвую.

У меня есть таблица размером n*m.
Она пустая, и пользователь сам вводит значения (нажимает на ячейку, выпадает поле ввода, заводится значение, и оно в ячейке, но ладно, это не столь важно).
Когда пользователь вводит в первые 2 столбца числа к примеру от 1 до 9, то эти столбцы получаются узкие, а в другие вводит число от 100 и выше, то те оказываются широкими.
Как мне сделать автоширину? Чтоб ширина соответсвенно увеличивалсь еслив неё вводят занчение, но чтоб ширина всех столбцов (ячеек) была равна ширине самого широкого столбца. Чтоб таблица ровной была.

Заранее спасибо

Автор: Cheba 24.1.2006, 15:50
Код
table-layout: fixed

Думаю, это может помочь. Модробнее читай в спецификации. Раздел http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout.

Автор: Innuendo 24.1.2006, 19:37
не помогло smile

Автор: R.M. 25.1.2006, 02:03
Пиши в пикселях размер - не уменьшится это 100% а при переполнении увеличится

Автор: 2man 25.1.2006, 06:10
Куксикус, ты предлагаешь каждую ячейку выставить в один пиксель и пусть она уже сама тянется? smile
Innuendo, а может можно с помощью выпадающего меню реализовать, если это константы?

Автор: R.M. 25.1.2006, 14:09
2man
Нет не в один а какие нужны размеры в пикселях такие и ставить а уж при переполнении они потянуца без ущерба другим (если все будут в пикселях)

Автор: Innuendo 25.1.2006, 16:42
Куксикус
не привык задать что-либо в пикселях smile
кстати вопрос по ходу- если я задам ширину таблицы в пикселях, и она к примере занимает пол экрана, то она будет пол экрана занимать и при разрешении 800*600 и 1280*1024?
но я попробую, спасибо.
2man
не совсем понял, что задать через меню.

Автор: 2man 25.1.2006, 20:09
Цитата(Innuendo @ 25.1.2006, 15:42 Найти цитируемый пост)

кстати вопрос по ходу- если я задам ширину таблицы в пикселях, и она к примере занимает пол экрана, то она будет пол экрана занимать и при разрешении 800*600 и 1280*1024?

Тогда лучше задавать через %.
Цитата(Innuendo @ 25.1.2006, 15:42 Найти цитируемый пост)

не совсем понял, что задать через меню

Чтобы пользователь не сам вводил информацию, а выбирал с выпадающего меню. Такое возможно?

Автор: Innuendo 25.1.2006, 20:19
2man
уу. нет smile пользователь вводит любое число (не выходящее за рамки допустимого)

Автор: R.M. 26.1.2006, 02:39
Innuendo
Цитата(Innuendo @ 25.1.2006, 17:42 Найти цитируемый пост)

кстати вопрос по ходу- если я задам ширину таблицы в пикселях, и она к примере занимает пол экрана, то она будет пол экрана занимать и при разрешении 800*600 и 1280*1024?

Нет конечно

Автор: 2man 26.1.2006, 03:31
Innuendo
Цитата(2man @ 25.1.2006, 19:09 Найти цитируемый пост)

Тогда лучше задавать через %


Автор: Innuendo 26.1.2006, 20:22
Куксикус
задать в пикселях - не получилось...
вот смотри:
к примеру по умолчанию 15 пикселей ширина..
заполнили таблоицу- у какого-то столбца получилось 20, а у какого-то 25...
то есть мне надо так, чтобы таблица подгонялась под самый широкий столбец.

Автор: Innuendo 26.1.2006, 20:57
я вот щас пробую так:
как таблица сформирована, он пробегает по всем столбцам, и считывает ширину... Запомниает максимальный...
теперь надо всем элементам дать такую ширину (не всем прямо n*m, а только стольким сколько есть столбцов).
И что-то не получается задать ширину ячейке... через какой метод это надо делать?
td.style.width?
считываю ширину через td.offsetWidth... и оно работает smile

Автор: R.M. 27.1.2006, 01:35
Innuendo
Ну это уже в яваскрипт, а вобще если тебе надо чтобы у всех была одинаковая ширина, убери везде ширину и поставь только тегу <table> ширину... в процентах

Автор: Innuendo 27.1.2006, 16:01
а всё таки? как в яваскрипт изменить ширину ячейке? smile

Автор: Ciber SLasH 27.1.2006, 21:30
Цитата(Innuendo @ 27.1.2006, 16:01 Найти цитируемый пост)

а всё таки? как в яваскрипт изменить ширину ячейке? smile

TD.style.width = '100px';

Автор: Innuendo 27.1.2006, 22:50
хм, я так и заводил.. чё-то не работает smile

Автор: Ciber SLasH 28.1.2006, 00:15
Цитата(Innuendo @ 27.1.2006, 22:50 Найти цитируемый пост)
хм, я так и заводил.. чё-то не работает smile

У меня всё работает:
Код

<html>
<body>
<table id='test' border="1">
<tr><td>1</td><td>2</td></tr>
<tr><td>3</td><td>4</td></tr>
</table>
<script type='text/javascript'>
document.getElementById('test').rows[0].cells[1].style.width = '100px'
</script>
</body>
</html>

Автор: R.M. 28.1.2006, 10:16
Innuendo
Цитата(Куксикус @ 27.1.2006, 02:35 Найти цитируемый пост)

Ну это уже в яваскрипт

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)