2010-11-07 3 views
7

У меня есть необходимость в различных случаях, чтобы ячейки таблицы не сжимались до определенной ширины. Для этого я попробовал несколько вариантов с различными результатами. Некоторые из вариантов, которые я пробовал:Как вы контролируете минимальную ширину ячейки таблицы?

  • ширины на TD: работает хорошо, но некоторые браузеры игнорируют это, и это не действует в HTML5
  • ширина CSS внутри style="" или таблицы стилей: проигнорировано некоторыми браузерами
  • Изображение с шириной = X и height = 1: приводит к тому, что содержимое td нажимается вверх или вниз (более чем на 1 пиксель).
  • ДИВ с шириной = X и высотой = 1 и плавать: слева: это, кажется, работает лучше на данный момент, хотя он толкать содержание вверх или вниз немного

Любые другие идеи?

мне нужно ему работать в чем-либо, в том числе IE6 :(но если есть решения, которые не работают в IE6, но все остальное, что это было бы начать в любом случае :)

+0

Пойдите с divs и забудьте стол :) – s84

+0

Я бы с удовольствием. Как я могу заставить их действовать точно так же, как таблица, включая colspan и rowspan? –

+6

..Если это таблица, это таблица ... Я вижу мало причин переключаться на divs, чтобы вы могли использовать CSS, чтобы вернуть их обратно в таблицы. –

ответ

15

Вы не можете надежно контролировать ширину ячейки таблицы. Лучше всего обернуть содержимое в DIV (или любые другие элементы уровня блока) и настроить этот элемент.

+4

Но если он представляет табличные данные, он должен использовать таблицу. С семантической точки зрения не использование таблицы для табличных данных так же плохо, как использование таблицы для не табличных данных. –

+6

@Alberto Мартинес я не думаю, что @Brandon имеет смысл заменить всю таблицу, но вместо того, чтобы обернуть содержимое внутри ячейки в DIV, таких как

foo bar

+0

Ах, я не понимаю, на самом деле, что бы лучше использовать спейсерное изображение. –

0

Посмотрите на минимальную ширину. Не совместим с IE6, но он будет качаться в большинстве других браузеров.

2

min-width будет правильно контролировать минимум - в браузерах, которые поддерживают его правильно. Часто width может работать как min-width в IE6-ish ерунда. YMMV.

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