Intellect Board Pro
Расширяемый движок форума с разделами разных типов
Объявление
Вышла версия 3.05 с фотогалереей и поддержкой PostgreSQL и SQLite.
Перейти к скачиванию
Привет, гость!

Как ограничить ширину таблицы

Настройки отображения темы Показывать по сообщений с сортировкой .
Выводить , отправленные .
Одна страница
Распечатать
4X_Pro
Основатель проекта
Всего сообщений: 401
Зарегистрирован: 22 сент. 2014 г., 18:56
Откуда: Москва, Перово
Рейтинг пользователя: 15

0
. Редактировалось 1 раз, последний — #1
Столкнулся с проблемой: нужно ограничить ширину таблицы, но при этом задавать ее не в пикселях, а сделать так, чтобы она не была шире родительского блока (ширина которого заранее неизвестна, равно как неизвестно и содержимое таблицы — оно задается пользователем).
Сейчас единственное решение, которое хоть как-то работает — это
table-layout:fixed; width: 100%
Но его главный недостаток — столбцы получаются одинаковой ширины, что во многих случаях нежелательно, поэтому использовать его получается только как «костыль». Еще вариант — вообще запретить внутри элементы, которые могут вызывать растягивание (img, pre и code) через display:none. Но, возможно, есть решения лучше?

Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.

4X_Pro
Основатель проекта
Всего сообщений: 401
Зарегистрирован: 22 сент. 2014 г., 18:56
Откуда: Москва, Перово
Рейтинг пользователя: 15

0
#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.

Одна страница
Распечатать

У вас нет прав для отправки сообщений в эту тему.