2010-07-25 6 views
3

Как вы можете обеспечить минимальную ширину для TD, который может необязательно содержать изображение? Я спрашиваю об этом, потому что я использую виджет Javascript chess, но когда в любом из квадратов конкретного столбца нет фигур, независимо от того, какой стиль ширины для td установлен равным 36px, этот столбец значительно более узкий, чем те, которые имеют по крайней мере, одну строку, содержащую изображение шахматной фигуры.(минимальная) ширина td, которая необязательно содержит изображение

Обратите внимание, что весь стиль устанавливается непосредственно на каждую ячейку td. Я где-то читал, что возможным решением будет вместо этого создать div внутри td и установить ширину. Я надеюсь избежать этого, поскольку это может потребовать значительных изменений в базовой библиотеке Javascript. Я пробовал уточнить! Важно вместе с шириной, но это не повлияло.

Использование firebug Я могу изменить атрибут width, но кажется, что числа неверны. Например, я могу уменьшить ширину до 0, и она по-прежнему выглядит одинаково. Или я могу установить ширину более чем на 36 и, по-видимому, увеличиваться на ширину-36, но если, например, я установил как высоту, так и ширину одной из этих узких ячеек в то же число, скажем, 60 пикселей, высота того, что отображается, больше, чем ширина, и появляется как прямоугольник, а не квадрат.

Кроме того, не только td может содержать изображение, но и каждый квадрат также задает фоновое изображение. Так что я в растерянности :(Заранее спасибо

ответ

7

Когда я изменить CSS в у. наш файл с использованием Firebug или JS-инспектором в Chrome, устанавливая свойство min-width вместо свойства width, делает трюк. Можете попробовать? Не уверен, как IE это понравится.

ОТВЕТ: Почему бы не использовать классы для выполнения CSS? Таким образом, это отвратительно отлаживать.

+0

Работает и для меня тоже, и для престижных классов. –

+0

Как уже отмечалось, это работает в FF Не волнует IE, это действительно будет работать в пользовательском браузере, я скопировал базу кода и, похоже, будет поддерживать минимальную ширину. Что касается того, почему нет классов, это сторонняя библиотека, так что я сделал 't пишите, но в любом случае кажется, что ширина должна быть конфигурируемой, что, как представляется, исключает класс. В любом случае, теперь у меня есть другая проблема, строка js-кода - это «td.style.width = this.opts [ 'squareSize']; "но я не могу получить ни« td.style.min-width », ни« td.style ['min-width'] "t o работа –

+1

IE8, похоже, хочет обе: 'min-width: 36px; width: 36px; 'Не уверены в других версиях IE. –

-2

Вы можете использовать атрибут ширины TD тегов или вы можете использовать CSS и установить ширину.

+0

Пожелайте, чтобы кто-нибудь прокомментировал, почему я был проголосован? :-(Я хотел бы узнать. – Chris

+0

Возможно, потому, что вы не ответили на его вопрос. Все, что вы сделали, это сказать ему, как добавить ширину. Он уже знает, как это сделать ... ему нужно руководствоваться тем, как исправьте его проблемы с шириной. – amlane86

+2

Ваш ответ звучал так: «чтобы сделать изгиб правильно вождения Ferrari, вы можете использовать рулевое колесо и педали». – br1

5

По таблицам по умолчанию будет автоматически размер их колонны.

Если установить стиль таблицы включают:

table-layout: fixed; 

, то вы будете иметь гораздо лучше контролировать его с помощью CSS и атрибутов

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