Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Internet Explorer: некорректное отображение картинки, точно вписанной по высоте в ячейку таблицы...
 
 автор: Cyrax   (20.08.2007 в 12:44)   письмо автору
 
 

Имеется ячейка таблицы шириной, равной ширине окна. В центр ячейки нужно поместить картинку высотой 100 пикселов. Высоту ячейки устанавливаю в 100 пикселов, обнуляю отступы и границы таблицы. При этом IE при отображении картинки немного расширяет высоту ячейки (прикрепил скрин). Если высоту картинки установить в 96 пикселов, а высоту ячейки оставить равной 100 пикселам, то высота ячейки не увеличивается.
Такое наблюдается в IE и в PHP Designer'е. Oper'а и Firefox высоту ячейки не расширяют, картинку вписывают по высоте точно в ячейку...

Т.е. IE и PHP Designer не могут без дополнительного пространства внизу точно вписать картинку в ячейку...

А сужу я о расширении высоты ячейки по фоновой картинке этой ячейки. Фоновая картинка имеет высоту 100 пикселов и имеет градиентный переход. Поэтому, при расширении высоты ячейки хотя бы на 1 пиксел внизу ячейки появляется полоса цвета верхнего края фоновой картинки...

Можно ли обойти этот глюк ?

   
 
 автор: AlexSol   (20.08.2007 в 13:03)   письмо автору
 
   для: Cyrax   (20.08.2007 в 12:44)
 

без пробелов и переносов строк

<img ....></td></tr>

   
 
 автор: sim5   (20.08.2007 в 13:06)   письмо автору
 
   для: Cyrax   (20.08.2007 в 12:44)
 


<table border="0" cellpadding="0" cellspacing="0">
<tr><td bgcolor="#ff0000" valign="top"><img src="imsge.jpg" alt="" 
width="148" height="202" border="0"></td></tr>
</table>


Не делайте отступа между тегом изображения и закрывающиим тегом </td>. У таблицы должен быть стиль как указано, либо в самой таблице прописать, либо через CSS. Высоту ячейки указывать необязательно.

   
 
 автор: Cyrax   (20.08.2007 в 22:05)   письмо автору
 
   для: sim5   (20.08.2007 в 13:06)
 

> Не делайте отступа между тегом изображения и закрывающиим тегом </td>
Да, именно из-за перехода на новую строку после тега </img> перед </td> и происходило расширение. Это и есть пустая строка под изображением ? Если так, то почему такая маленькая (по умолчанию, наверное, шрифт не такой малый) ?

И почему, если и после <td> перед <img> перейти на новую строку (т.е. то же самое, но перед img), высота ячейки не увеличивается ещё на столько же ?

Да и вообще, непонятна логика. Пробелы и переходы на новую строку должны игнорироваться. А для записи таковых нужно использовать специальные символы, начинающиеся с &...


>У таблицы должен быть стиль как указано, либо в самой таблице прописать, либо через CSS
С CSS могут быть проблемы со свойством, например, border-spacing. Это свойство IE не поддерживает...

   
 
 автор: AlexSol   (20.08.2007 в 22:07)   письмо автору
 
   для: Cyrax   (20.08.2007 в 22:05)
 

все ваши вопросы - к создателям ie.

я бы на их месте ответил так : не надо использовать таблицы для определений позиций элементов.

   
 
 автор: Cyrax   (22.08.2007 в 13:33)   письмо автору
 
   для: AlexSol   (20.08.2007 в 22:07)
 


я бы на их месте ответил так : не надо использовать таблицы для определений позиций элементов.

Такой ответ не будет убедительным , поскольку нет альтернатив использованию таблиц для разметки документа...


приведенный выше код малочитабелен. дивы рулят!

Согласен насчёт малочитабельности. Элементарное форматирование кода - приходится отказываться...
Но как можно избежать этого с помощью div'ов ? Ведь переходы на новую строку после div и img останутся...


а еще грузится медленно

Что грузится медленно ? Div'ы ?

   
 
 автор: sim5   (21.08.2007 в 03:00)   письмо автору
 
   для: Cyrax   (20.08.2007 в 22:05)
 

Не забивайте себе голову проблемами от Майкрософт, как в прочем не стоит неоправданно излишне увлекаться DIV-ми. Просто, если вам потребовалось вставить изображение через таблицу, например, после его разрезания на части, то пишите таблицу без разрывов - разрывы в коде делайте только по границе пробелов между ее атрибутами и атрибутами изображений, так, например:


<table border="0" cellpadding="0" cellspacing="0"><tr><td bgcolor="#ffffff" valign="top"><img 
src="image1.jpg" width="148" height="202"></td>><td bgcolor="#ffffff" valign="top"><img 
src="image2.jpg" width="308" height="202"></td></tr></table> 

   
 
 автор: AlexSol   (21.08.2007 в 06:32)   письмо автору
 
   для: sim5   (21.08.2007 в 03:00)
 

приведенный выше код малочитабелен. дивы рулят!

   
 
 автор: sim5   (21.08.2007 в 06:37)   письмо автору
 
   для: AlexSol   (21.08.2007 в 06:32)
 

Что поделаешь - издержки производства :)

   
 
 автор: AlexSol   (21.08.2007 в 06:59)   письмо автору
 
   для: sim5   (21.08.2007 в 06:37)
 

а еще грузится медленно.

   
 
 автор: sim5   (21.08.2007 в 07:10)   письмо автору
 
   для: AlexSol   (21.08.2007 в 06:59)
 

Смотря сколько загружать - для небольшой задачи сойдет, проще чем заморочки с DIV.

   
 
 автор: AlexSol   (21.08.2007 в 09:32)   письмо автору
 
   для: sim5   (21.08.2007 в 07:10)
 

для небольшой задачи проще взять готовый шаблон на блоках чем громоздить <tr><td><tr><td><tr><td>

   
 
 автор: sim5   (21.08.2007 в 12:37)   письмо автору
 
   для: AlexSol   (21.08.2007 в 09:32)
 

Не засоряйте форум товарищ AlexSol :)

   
 
 автор: AlexSol   (21.08.2007 в 12:51)   письмо автору
 
   для: sim5   (21.08.2007 в 12:37)
 


<tr><td><tr><td><tr><td>

   
 
 автор: Thrasher   (22.08.2007 в 14:36)   письмо автору
 
   для: Cyrax   (20.08.2007 в 12:44)
 

Знаком с этой проблемой, решал следующим образом:

<img src="" width="" height="" align="center" />

Короче, добавлял align="center" и отступ чудесным образом исчезал.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования