IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Некорректное отображение строк в таблице (https://www.imho.ws/showthread.php?t=108278)

chernikov 13.09.2006 10:06

Некорректное отображение строк в таблице
 
Всем привет. Есть такой фрагмент кода:
Цитата:

<table id="leftLogo" width="244" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" width="213" height="33"><img id="leftLogo_01" src="images/leftLogo_01.gif" width="213" height="33" alt="" /></td>
<td rowspan="5" width="31" height="128"></td>
</tr>
<tr>
<td colspan="2" width="213" height="27"><img id="leftLogo_03" src="images/leftLogo_03.gif" width="213" height="27" alt="" /> </td>
</tr>
<tr>
<td colspan="2" width="213" height="35"><img id="leftLogo_04" src="images/leftLogo_04.gif" width="213" height="35" alt="" /></td>
</tr>
<tr>
<td rowspan="2" width="87" height="33"><img id="leftLogo_05" src="images/leftLogo_05.gif" width="87" height="33" alt=""></td>
<td width="126" height="6"><img id="leftLogo_06" src="images/leftLogo_06.gif" width="126" height="6" alt=""></td>
</tr>
<tr>
<td width="126" height="27"></td>
</tr>
</table>
Вопрос: Почему, если внутри тега td есть пробелы между самим тегом и картинкой, то все разъезжается? т.е. ячейка становится выше картинки и до (или после, в зависимости от выравнивания в ячейке) появляется пустая белая строка. как этого избежать?

Т.е. Если идет так:

<td><img ... /></td> то все нормально
а если так:
<td> <img ... /> </td>
или так:
<td>
<img ... />
</td>
то тогда есть пробелы до или после картинки, и когда надо, чтобы все картинки стояли вплотную, этого не получается...

используется XHTML 1.0 Transitional, в css прописано:
table {empty-cells:show; border-collapse:collapse;}
td {margin:0px; padding:0px; vertical-align:top;}
img {border:none; margin:0px; padding:0px;}

/7y3uK 13.09.2006 11:10

попробуй вот так
<td><nobr>
<img ... />
</nobr></td>

chernikov 13.09.2006 13:29

Все равно не помогает, потому что если есть пробелы между nobr и img, то разъезжается...
придумал решение, кажется, не совсем нормальное, но работает.
Для ячеек задать размер шрифта 0 (т.е. #leftLogo td {font-size:0px;})

Pavlenty111 27.09.2006 18:36

#leftLogo td img {display: block;}

smap 28.09.2006 00:34

попробуй так
<td>
<img ... /> <br />
</td>

:)

JaD 12.10.2006 17:39

это глюк в MSIE. В опере такого нету. Сталкивался с таким, но никак не решил, кроме убрать пробелы и переносы строк. В 7м MSIE этого уже нет

chernikov 13.10.2006 09:03

Ну, это понятно, что убрать переносы строк и все.
Вопрос в том, что этот код используется не как html страница, а как шаблон для движка на asp. И как следствие - должно все корректно отображаться независимо от наличия пробелов между тегами.
Вывод: однозначного решения не существует... так что я пока пользуюсь своим: font-size:0px;

А то, что в IE 7 это нет, так мне от этого не легче. Для IE от меня требуется совместимость под IE 3 и выше.


Часовой пояс GMT +4, время: 12:29.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.