Как ограничить ширину таблицы
Одна страница
Распечатать
4X_Pro
Всего сообщений: 320
Зарегистрирован: 22 сен 2014, 18:56
Откуда: Москва, Перово
Рейтинг пользователя: 6
Основатель проекта

Зарегистрирован: 22 сен 2014, 18:56
Откуда: Москва, Перово
Рейтинг пользователя: 6
7 января 2020, 20:11. Редактировалось 1 раз, последний — 8 января 2020, 15:57#1
Столкнулся с проблемой: нужно ограничить ширину таблицы, но при этом задавать ее не в пикселях, а сделать так, чтобы она не была шире родительского блока (ширина которого заранее неизвестна, равно как неизвестно и содержимое таблицы — оно задается пользователем).
Сейчас единственное решение, которое хоть как-то работает — это
Но его главный недостаток — столбцы получаются одинаковой ширины, что во многих случаях нежелательно, поэтому использовать его получается только как «костыль». Еще вариант — вообще запретить внутри элементы, которые могут вызывать растягивание (img, pre и code) через display:none. Но, возможно, есть решения лучше?
Сейчас единственное решение, которое хоть как-то работает — это
table-layout:fixed; width: 100%
Но его главный недостаток — столбцы получаются одинаковой ширины, что во многих случаях нежелательно, поэтому использовать его получается только как «костыль». Еще вариант — вообще запретить внутри элементы, которые могут вызывать растягивание (img, pre и code) через display:none. Но, возможно, есть решения лучше?
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
4X_Pro
Всего сообщений: 320
Зарегистрирован: 22 сен 2014, 18:56
Откуда: Москва, Перово
Рейтинг пользователя: 6
Основатель проекта

Зарегистрирован: 22 сен 2014, 18:56
Откуда: Москва, Перово
Рейтинг пользователя: 6
7 января 2020, 20:29#2
Нашел еще одно решение, на котором и остановился: обернуть такую таблицу в еще одну, с классом ib_outer_table, из одного столбца и строки. И уже для внешней таблицы можно прописать такой CSS:
В этом случае растянутая пользовательская таблица оказывается в блоке с горизонтальной прокруткой, не растягивая контент в целом, что для моей ситуации является приемлемым решением.
.ib_outer_table { table-layout: fixed; width: 100%}
.ib_outer_table td { overflow: auto; padding: 0 }
В этом случае растянутая пользовательская таблица оказывается в блоке с горизонтальной прокруткой, не растягивая контент в целом, что для моей ситуации является приемлемым решением.
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
Одна страница
Распечатать У вас нет прав для отправки сообщений в эту тему.