2013-09-09 1 views
1

У меня есть изображение, которое установлено в vertical-align: text-top внутри ячейки таблицы. В Internet Explorer это делает правильно, но Chrome делает неправильно:Добавление выровненного изображения в ячейку таблицы приводит к ошибке восстановления в Chrome и Firefox

Internet Explorer 10 (10.0.9200.16660):

enter image description here

Chrome 29 (29.0.1547.66 м):

enter image description here

Обновлено для включенияFirefox 23 (23.0.1):

enter image description here

Три браузеры, три модели поведения; но только IE - это то, что вы ожидаете.

fiddle the glaving on jsFiddle.


Волшебный ингредиент изображение в ячейке таблицы:

<td class="c1" rowspan="3"> 
    <img src="data:image/png;base64,iVBORw0KGgoAAA...."> 
</td> 

с клеткой стилизованной, как vertical-align: text-top:

<style type="text/css"> 
    .c1 {vertical-align: text-top; } 
</style> 

Единственный способ решения проблемы я нашел это удалить vertical-align: text-top , Но что заставляет его вынести не так, как я хочу:

enter image description here

Поскольку Chrome является арбитром всех вещей хорошо и правильно, я должен делать что-то неправильно. Но что?

Примечание: Проблема не ограничивается встроенными изображениями данных-uri. Я просто использую это, поэтому проблема видна на jsFiddle.

ответ

1

Просто используйте top вместо text-top. Работает на меня. Кроме того, вы забыли закрыть свой тег изображения!

+0

'' - элемент "void" *. Как таковой запрещено иметь закрывающий тег. [W3C: HTML5] (http://www.w3.org/TR/html5/syntax.html#void-elements) * «Элементы Void имеют только начальный тег, конечные теги не должны указываться для элементов void». * Указание 'top' работает; хотя спецификация HTML должна быть обновлена, чтобы указать правильное поведение этого случая. –

+0

Тем не менее, использование '' вместо '' кажется более удобным (я не говорил о закрывающем теге, а закрывал тэг). Кроме того, он больше не отмечает его красным (= ошибка) в jsfiddle. – weiglt

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

  • Нет связанных вопросов^_^