|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
Собственно, сабж. Тут уже обсуждались подобные моменты, только я не смог адаптировать их к моему случаю. Опытным путём мне удалось подобрать соотношение ширин интересующих колонок обеих таблиц (как в прилагаемом в архиве файле style_my.css), но эта временная гармония нарушается при масштабировании окна браузера (Ctrl+ или Ctrl-) Кроме того, после такого подбора габаритов колонок нельзя использовать правило Код: css 1.
для внешней и внутренней таблицы - это сразу же расстраивает согласование ширины внешних и внутренних колонок :( Знаю, что можно это как-то урегулировать, вставляя div'ы в ячейки - но это я оставил на крайний случай, если уж без совсем никак не получится. Мне это нужно для программного формирования статических табличных html-страниц, пригодных для открывания не тольков браузере, но и в Excel'е и в Word'е. Чтобы таблицы при этом выглядели более-менее похоже. Прошу подсказать, можно ли средствами html+css согласовать габариты колонок внешней и внутренних таблиц (их в реальном примере будет 3, тут я привожу для упрощения только 1), не подбирая каждый раз эти габариты вручную и чтобы на это не влияло изменение масштаба окна браузера? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 22:17 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
создай тут https://jsfiddle.net/ и сюда ссылку. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 22:37 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
Вот ссылка: https://jsfiddle.net/jro3tpc5/ Или так Правда, там снова колонки выглядят невыровненными, поскольку ширина экрана просмотра другая, для неё нужно снова габариты колонок подбирать :( ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 22:54 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
neznajka Вот ссылка: https://jsfiddle.net/jro3tpc5/ Или так Правда, там снова колонки выглядят невыровненными, поскольку ширина экрана просмотра другая, для неё нужно снова габариты колонок подбирать :( ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 23:16 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
Спасибо, Вадя - насчёт css-переменных я почитаю, посмотрю, с чем их едят :) А гриды мне точно не подходят (если речь о grid-layout) - ни Excel, ни Word их не воспринимают как нормальную таблицу, я проверял. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2021, 23:25 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
neznajka, А зачем внутренняя таблица? Используйте rowspan и colspan ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 07:58 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
voraa А зачем внутренняя таблица? Используйте rowspan и colspan ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 20:08 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
вадя, voraa: Да, я использовал rowspan в более простых таблицах и заголовках. Но для программного создания сложных таблиц мне это не подошло. Сейчас попытаюсь объяснить, хотя это не так просто описать. В одной моей реальной таблице, например, на сегодня - 17 колонок и 254 строки, часть из которых должны быть объединены через rowspan. При этом, если, например, во второй строке 2-я, 3-я и 4-я колонки должны иметь rowspan=2, 12-я и 13-я должны иметь rowspan=3, а 16-я - rowspan=5, то для сохранения ПРОПОРЦИОНАЛЬНОЙ высоты каждой строки слишком сложно запрограммировать последовательность и количество <td> в каждой нижеследующей строке - в конце-концов получается жуткая мешанина и перестаёт быть понятным, какой <td> к какой именно колонке относится (Ибо речь идёт именно о rowspan в НЕсмежных колонках). Пробовал делать это через online-конструктор - тогда структура таблицы получается правильной, но высота за-rowspan-енных строк получается непропорциональной их фактическому количеству. Да и rowspan-ы получаются какими-то странными - для вышеприведённого случая (rowspan = 2,3,5), например, откуда-то браузер при отображении берёт значения 4 и 5, и даже 8. Хотя для соблюдения пропорциональной высоты объединённых строк, по-моему, логично было бы исходить из их наименьшего общего кратного (30) - соответственно rowspan = 15,10,6, а для ячеек в остальных (однострочных) колонках - rowspan=30. Таким образом, запрограммировать каждое возможное сочетание различных rowspan-ов в нескольких несмежных колонках мне показалось неоправданно сложным. А вот программировать создание вложенных таблиц в моей ситуации оказалось гораздо легче, и даже кое-что уже получилось :) Мне осталось только "побороть" нарушение согласованности ширины столбцов при изменении масштаба окна браузера. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2021, 22:52 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
neznajka, Попробуйте классы сложных ячеек задать так. Код: css 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 00:06 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
Можно в крайнем случае зафиксировать какую то приемлемую ширину всей таблицы, что бы она не менялась Получится, например 850px, ну и задайте так. Горизонтальный скроллинг все равно и так получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 00:23 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
neznajka, надо только один раз подумать очень-очень хорошо, получится алгоритм и будет. работать. делал подобное. с. вложенными таблицами - похоже на велосипед..... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 07:17 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
neznajka, А Вы не пробовали рантайм-стили? Ну, это в яваскрипт. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 08:18 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
neznajka, тут надо начать построение таблицы в sql-запросе, где уже предусмотреть необходимые поля , информирующие о количествах строк, и прочих данных для построения таблицы без доп таблиц. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 10:04 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
To voraa - да, именно указание фиксированной ширины главной таблицы в сочетании с min-width для ячеек привело к наиболее приемлемому результату. Спасибо! Также вставка фиксированных по ширине div-ов оказалась вторым способом решения для моего случая. То ShSerge : я, пожалуй, обратился бы к javascript-у, если бы не удалось добиться результатов (пусть не идеальных, но вполне приемлемых) с помощью только html+css. Спасибо. То вадя : программирование вложенных таблиц для меня оказалось более простым, поскольку мне так и не удалось уяснить принцип расстановки <td>-шек в НЕ-объединённых rowspan-ами колонках сложных таблиц (с маленькими таблицами примерно до 8х8 - всё понятно, а если ячеек намного больше - получается невообразимая каша, расхлёбывать которую нет ни желания, ни времени) - а без этого уяснения программный код в моём исполнении получается слишком громоздким и трудно-модернизируемым. Кроме того, выриант с вложенными таблицами является более гибким, если структура главной таблицы подвергается частым изменениям. Всем большое спасибо за участие! Прошу считать вопрос решённым. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 16:44 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
То ALL: теперь даже при масштабировании работает идеально! И даже без div-ов :) Ещё раз спасибо всем! Особая благодарность - voraa :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2021, 16:55 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
В продолжении темы - нарисовалась ещё одна проблема, только теперь уже с javascript-ом, который срабатывает почему-то лишь однократно. Я сделал 2 кнопки (отключение и подключение файла стилей) и они нормально срабатывают, но лишь по одному разу. Помогите, пожалуйста, разобраться, как их заставить работать по каждому нажатию. Логика проста: подключение стилей должно срабатывать только в случае, если соответствующий файл ещё не подключен (опознаётся через id link-а), а отключение - должно срабатывать только в обратном случае. К сожалению, мне не удалось продемонстрировать всё это на https://jsfiddle.net - там почему-то js-код вообще не хочет работать :( А в локальном варианте - работает. Хоть и однократно. Поэтому прилагаю html+css в виде zip-архива. Посмотрите, пожалуйста. По-моему, я там не учёл каких-то "неявных подводных камней" javascript-a. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 00:05 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
neznajka, Начало htm так Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Остальное без изменений ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 08:04 |
|
Согласовать ширину колонок вложенной и внешней таблиц
|
|||
---|---|---|---|
#18+
Спасибо большущее, voraa - всё кратко и гениально :) По крайней мере - на фоне решений, найденных мной через Гугл и Яндекс. Я, собственно, оттуда и почерпнул приведённые мной в архивном вложении способы. Но предложенный вами - намного изящнее и эффективней, возьму его на вооружение. Ещё раз благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2021, 22:10 |
|
|
start [/forum/topic.php?fid=22&fpage=2&tid=1443157]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 231ms |
total: | 354ms |
0 / 0 |