2012-03-21 7 views
1

У меня нет контроля над html в этом проекте, поэтому мне нужно только решение css. Html ужасен, и это даже не проблема, если бы я мог его отредактировать. Я сделал скрипку, где я нахожусь в данный момент.Перемещение таблицы фиксированной ширины в фиксированной ширине div

У меня есть фиксированная ширина div с таблицей с фиксированной шириной внутри. Они имеют одинаковую ширину (пример 500px). В таблице указано неустановленное количество строк, сгенерированное в asp. Я поместил оставшиеся строки так, чтобы они отображались в строке (я знаю, что это ужасно, но это все, что я мог сделать без редактирования html). Каждый td равен 100px. Высоты и цвета фона, добавленные в css, просто для того, чтобы сделать его более понятным, их можно изменить на все.

Я хочу добиться того, чтобы td начинался с правой стороны, а не слева. Я попробовал плавающее право вместо левого, но это делает ссылки в обратном порядке, что нежелательно.

Единственное, что я могу придумать, это изменить ширину таблицы в css и поместить ее вправо, что было бы неплохо, если бы количество строк было константой, но там могли быть некоторые добавленные или удаленные , что оставило бы его снова неправильным.

fiddle link

+0

, какие браузеры вы должны поддерживать? – SupremeDud

+0

Без использования JavaScript для перезаписи HTML-кода вы застряли. –

+0

SupremeDud IE8 и выше. Не слишком беспокоился о других. Diodeus - это то, чего я боялся. – Andrew

ответ

1

Я думаю, что вы были правы с вашей мысли, чтобы изменить ширину таблицы в CSS и плывут вправо. Я думаю, что получаю то, что вы хотите, если я установил ширину таблицы в 0px (она будет расширяться, чтобы содержать tr) в CSS, и поплавьте таблицу вправо.

Редактировать: nevermind. Я использую Chrome и он работал там, но не в IE

edit2: ширина: авто, кажется, делает его работу в IE, Chrome и Firefox

+0

Блестящий, 'width: auto' сортировал его. Огромное спасибо. – Andrew

0

I вы равноширокий td S в таблице, они должны добавить до 500px. В этом случае они составляют до 400 пикселей. Таким образом, вы должны добавить один tr с автоматической шириной до table.

Update: Хм, это не работает, так как вы с плавающей tr сек вместо td s

+0

Я вообще не могу изменить html. – Andrew

Смежные вопросы