|
|
|
| Как можно максимально просто задать ширину столбцов таблицы. А именно: для 1-го, 2-го и 4-го, ширина 3-го столбца должна регулироваться браузером в соответствии с содержимым.
Желательно сделать это с помощью CSS и без определения классов для th и td... | |
|
|
|
|
|
|
|
для: Cyrax
(22.11.2007 в 20:47)
| | Конкретизирую вопрос: как минимизировать ширину стодбца/ячейки по содержимому. Содержимое - текст, заключённый в <nobr>, чтобы располагался в одну строку. Необходимо ширину столбца/ячейки жёстко установить равной длине текста. Как это сделать ? | |
|
|
|
|
|
|
|
для: Cyrax
(23.11.2007 в 22:32)
| | я не уверен, но может быть стоит попробовать во всех ячейках таблицы кроме третьей написать так <td width="0"> тогда думаю в вашем случае ячейка растянется ровно под длину её содержимого, а если такового не будет то лдина будер равна нулю | |
|
|
|
|
|
|
|
для: Blizard
(23.11.2007 в 22:36)
| | При разметке страницы auto <td width="0"> (задаю в CSS) никак не влияет на минимизацию ширины столбца. В зависимости от содержимого бывает притык, бывает чуть шире, чем притык.
В случае fixed-разметки ширина действительно устанавливается в 0 (что очевидно)...
Пока вижу выход в установке конкретной ширины столбцов скриптами. Единственная задача - определить длину строки в пикселах. Как это можно сделать ? | |
|
|
|
|
|
|
|
для: Cyrax
(24.11.2007 в 20:43)
| | style.width - это рекомендуемая ширина. Посему в случае, когда один из столбцов имеет ширину 100% или ширина таблицы равна 100%, изменение этого свойства никак не влияет на реальную ширину столбца.
Реальную ширину столбца/ячейки можно посмотреть через свойство offsetWidth (без style).
Т.е., чтобы изменить программно ширину ячейки/столбца, нужно очистить или изменить на конкретное значение ширину столбцов со значением 100%. только после этого изменение свойства style.width начнут себя проявлять.
Но здесь возникает офигенная проблема с доступом к этому '100%', чтобы его изменить или очистить. Оказывается, свойства style.width не устанавливаются, когда мы в css указываем ширину ячеек.
Т.е., например, в css для всех ячеек проставляю ширину, скажем, 35px (100%-ных столбцов/ячеек нет). Затем в обработчике onLoad (<body onload = "init()">) вывожу alert'ом свойства style.width всех столбцов (конкретно для тегов th). Все свойства пустые. Причём дальнейшая установка этих свойств в другие конкретные значения действительно изменяет ширину столбцов.
В первую очередь надо бы как-нибудь получить значение 100% (если это возможно в javascript, уже возникают сомнения)...
з.ы. наряду с style.width и offsetWidth есть ещё свойство clientWidth. Работает как offsetWidth... | |
|
|
|