Strict Standards: Resource ID#30 used as offset, casting to integer (30) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#32 used as offset, casting to integer (32) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: HTML - кодинг: борьба с пробелами
ТвойWeb » WebMaster класс » HTML » HTML - кодинг: борьба с пробелами

Страниц (1): [1]
 

1. Леголегс - 26 Сентября, 2004 - 09:59:38 - перейти к сообщению
Очень часто табличная вёрстка сайта даёт очень странные эффекты: всё разъезжается, картинки плотно друг к дружке не прилегают, смещаются, бедлам, одним словом. Например:
CODE:
<table border="0" cellpadding="0" cellspacing="0">
<tr><td>
<img src="image.gif" height="50px" width="50px">
<img src="image2.gif" height="50px" width="50px">
</td></tr>
<tr><td>
<img src="image3.gif" height="20px" width="100px">
</td></tr>
</table>
(Также см. рис. 1)
Отсавим в стороне разговоры о целесообразности такой конструкции и табличной вёрстки сайта вообще. Речь о том, что эти три картинки не будут чётко совмещены. Между ними будет промежуток примерно в 4 пикселя - достаточно, чтобы испортить внешний вид сайта. В чём дело? Ведь кроме картинок в ячейках таблицы ничего нет! На самом деле есть. Это перевод строки. Да-да, тот безобидный символ (или пара символов), который добавляется клавишей Enter! Теоретически, браузер должен обращать на него не больше внимания, чем на стоящий на мониторе кактус, но увы...
Можете скопировать приведённый код в хтмл-файл и посмотреть (отсутствие у вас файлов image-раз-два-три.gif ничего не меняет). Можете заодно поcтавить таблице свойство border="1", дабы увидеть "игнорируемые браузером" переводы строки во всей "красе". Ещё в их поиске очень помогает команда "выделить всё".
Наверняка многие сталкивались с подобной проблемой. Кто-то догадывался, в чём дело и делал естественный вывод: не использовать переводы строки или размещать их иначе, например так:
CODE:
<table border="0" cellpadding="0" cellspacing="0">
<tr><td>
<img src="image.gif" height="50px" width="50px"><img src="image3.gif" height="50px" width="50px"></td>
</tr>
<tr><td>
<img src="image2.gif" height="20px" width="100px"></td>
</tr>
</table>
(Рис. 2)
Это, разумеется, работало правильно (переводы строки между слжебными тегами table, tr и td действительно игнорируются, как и пробелы и символы табуляции). Но очень страдает читабельность кода. Тем более, что картинок в ячейке может быть и пять и десять. Такую длинную строку довольно сложно прочесть и тем более править. Есть другой путь! Он основывается на том, что внутри тегов может быть сколько угодно мусора, т.е.
CODE:
<img src="1.jpg"
alt=":-)"
>
вполне работоспособен. Таким образом, приведённый выше пример можно записать так:
CODE:
<table border="1" cellpadding="0" cellspacing="0">
<tr><td>
<img src="image.gif" height="50px" width="50px"
><img src="image3.gif" height="50px" width="50px"
></td></tr>
<tr><td>
<img src="image2.gif" height="20px" width="100px"
></td></tr>
</table>
(См. рис. 3)
Т.е. перевод строки без ущерба для дела мы смещаем внутрь тега. Приноровившись, можно так писать всегда, даже там, где это не необходимо, т.е. получать примерно такой
CODE:
<table border="0" cellpadding="0" cellspacing="0"
><tr><td
><img src="image.gif" height="50px" width="50px"
><img src="image3.gif" height="50px" width="50px"
></td></tr
><tr><td
><img src="image2.gif" height="20px" width="100px"
></td></tr
></table>
(рис. 4)
Это совсем не сложно.

Фактически, это статья, впоследствии я размещу её на сайте. Жду критики, замечаний, отзывов
2. ETC - 26 Сентября, 2004 - 11:16:24 - перейти к сообщению
Леголегс
Хм... я на это оооочень давно напоролся и щас уже на автомате убираю пробелы между тегами...
3. Анна - 28 Сентября, 2004 - 18:31:01 - перейти к сообщению
Леголегс
Молодец! Браво
Очень полезная статья получилась. Улыбка
Не хочешь еще и картинки добавить для наглядности?
4. kirarpol - 14 Ноября, 2004 - 06:22:12 - перейти к сообщению
Однако => Не понял Я сначала не понял даже => Забыл => !! Браво
Спасибо, прикольный момент я как раз всё в строчку писал (надо будет переписать кой чего) Улыбка
5. Анна - 14 Ноября, 2004 - 06:47:58 - перейти к сообщению
Леголегс
Вот, честно говоря, такое оформление мне не кажется удобным.
CODE:

<table border="0" cellpadding="0" cellspacing="0"
><tr><td
><img src="image.gif" height="50px" width="50px"
><img src="image3.gif" height="50px" width="50px"
></td></tr
><tr><td
><img src="image2.gif" height="20px" width="100px"
></td></tr
></table>

Но заметка все равно отличная. Леголегс, мне кажецца, иллюстрации нужны, а? Подмигивание
Цитата:
Я сначала не понял даже

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0297]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33