2012-04-04 1 views
0

У меня есть таблица, в которой каждый из ее TD содержит изображение (точнее, смайлик), которые имеют одинаковую высоту. Как ни странно, они неправильно выровнены. Один смайлик находится наверху, другой - посередине, а другой - внизу.Изображение не выровнено по вертикали в TD

Вот фотография, чтобы сделать объяснение проще:

http://i.imgur.com/ITbBp.png

Я попытался скопировать структуру HTML для jsfiddle, но it is properly aligned in there. Поэтому я считаю, что это проблема CSS.

Однако моя попытка изменить все результаты не имеет смысла. Я не могу правильно выровнять его. Я попробовал vertical-align:middle и попытался установить padding и margin, но я не могу заставить его правильно выровнять.

Помощи ли это?

EDIT: получается, что этот CSS является тот, который делает проблему:

.emotlist { 
overflow: auto; 
height: 175px; 
width: 120px; 
} 

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

EDIT 2: Я предполагаю, что это не overflow: auto, который вызывает проблему, так как он просто работает нормально в скрипку (как показано на Sheilender)

Отказ от ответственности: Я не могу изменить HTML структуры (в случае, если кто-то предложит это). У меня нет доступа к шаблону HTML, и я могу только стилизовать его с помощью CSS.

.

+0

, пожалуйста, добавьте CSS, поэтому мы можем проверить, является ли это проблемой CSS. –

+0

Полный CSS довольно большой, и я не уверен, какой из них действительно влияет на TD (кроме того .emotfill, который я объяснил выше). Однако я мог бы предоставить ссылку на сайт, который, похоже, испытывает аналогичную проблему, такую ​​как я. Вы могли видеть это здесь> http://bleachindonesia.com/forum/index.php?act = Post & CODE = 02 & f = 1 & t = 2352 – deathlock

+0

Я предполагаю, что элементы 'TD' имеют класс' .emotlist'? И что вы делаете один длинный стол с 1 строкой? Или это несколько строк? Это будет иметь большое значение. – RemarkLima

ответ

1

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

Try:

.emotlist table tr td { 
    width: 25px; 
} 

Это должно сделать ячейку достаточно широким, чтобы вместить образ и  

или

.emotlist table tr td { 
    white-space: nowrap; 
} 

Чтобы предотвратить клетки от разрушения каких-либо линий.

+0

Бог благословит, 'nowrap' решает проблему. Благодаря!! – deathlock

0

см я были внесены изменения в соответствии с вашими требованиями с помощью CSS

http://jsfiddle.net/uxyjg/14/

you can read more about vertical center content

+0

Это странно; он, кажется, работает на скрипке, но когда я пытался на своем сайте, что все еще не работает. Возможно, есть другой CSS, который влияет на него. Я не мог предоставить ссылку на мой CSS, но вот еще один сайт, у которого есть аналогичная проблема, вроде me> http://bleachindonesia.com/forum/index.php?act=Post&CODE=02&f=1&t=2352 – deathlock

+0

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

+0

Это проблема, я думаю. Я не знаю, какой из них влияет на него, так как я пытался удалить те, которые, по моему мнению, являются причиной, но безрезультатно. Я предполагаю, что это между .pformstrip, .tablefill, .emotlist. – deathlock