Как ограничить ширину таблицы
Одна страница
Распечатать
. Редактировалось 1 раз, последний — #1
Столкнулся с проблемой: нужно ограничить ширину таблицы, но при этом задавать ее не в пикселях, а сделать так, чтобы она не была шире родительского блока (ширина которого заранее неизвестна, равно как неизвестно и содержимое таблицы — оно задается пользователем).
Сейчас единственное решение, которое хоть как-то работает — это
Но его главный недостаток — столбцы получаются одинаковой ширины, что во многих случаях нежелательно, поэтому использовать его получается только как «костыль». Еще вариант — вообще запретить внутри элементы, которые могут вызывать растягивание (img, pre и code) через display:none. Но, возможно, есть решения лучше?
Сейчас единственное решение, которое хоть как-то работает — это
table-layout:fixed; width: 100%
Но его главный недостаток — столбцы получаются одинаковой ширины, что во многих случаях нежелательно, поэтому использовать его получается только как «костыль». Еще вариант — вообще запретить внутри элементы, которые могут вызывать растягивание (img, pre и code) через display:none. Но, возможно, есть решения лучше?
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
Нашел еще одно решение, на котором и остановился: обернуть такую таблицу в еще одну, с классом ib_outer_table, из одного столбца и строки. И уже для внешней таблицы можно прописать такой CSS:
В этом случае растянутая пользовательская таблица оказывается в блоке с горизонтальной прокруткой, не растягивая контент в целом, что для моей ситуации является приемлемым решением.
.ib_outer_table { table-layout: fixed; width: 100%}
.ib_outer_table td { overflow: auto; padding: 0 }
В этом случае растянутая пользовательская таблица оказывается в блоке с горизонтальной прокруткой, не растягивая контент в целом, что для моей ситуации является приемлемым решением.
Критикуя — предлагай, предлагая — обосновывай!
4xpro.ru — мой личный сайт-мультиблог на Intellect Board.
Одна страница
Распечатать У вас нет прав для отправки сообщений в эту тему.