Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Прикол


Автор: dm9 20.11.2004, 01:57
Найдите одно отличие:

Код
<html>
<body>
<p/>
<table width=100% bgcolor=red><tr><td>12</td></tr></table><div style="background-color: yellow">1</div>
</body>
</html>


Код
<html>
<body>
<!--p/-->
<table width=100% bgcolor=red><tr><td>12</td></tr></table><div style="background-color: yellow">1</div>
</body>
</html>


Нашли? А теперь расскажите мне, почему в Опере в первом случае два элемента (table и div) разделены, а во втором "приклеены" друг к другу?

smile

smile smile smile

Автор: Artiom 20.11.2004, 17:57
Строчка из спецификации
Цитата
Элемент P представляет параграф. Он не может содержать элементы уровня блока (включая сам P).

Видимо когда <p> присутствует, <div> считается за след. параграф.

Автор: dm9 20.11.2004, 20:07
И как регулировать это расстояние между параграфими?
Кроме того, Опера и Мозилла про такое не знают... Думаю, это просто глюк smile

Автор: Artiom 20.11.2004, 22:36
А тебе как надо? С расстоянием или без? Если без, то просто убери <p>. А если с расстоянием, то поставь <br>. Я думаю у тебя именно промежуток в один <br> выскакивает.

Автор: dm9 20.11.2004, 22:45
<p> убрать не могу - он выше нужен. Реальная структура документа такова:

<html>
<body>
...Какой-то HTML...
<p/>
...Какой-то HTML... Табличка сюда была вставлена, кажется...
<table width=100% bgcolor=red><tr><td>12</td></tr></table><div style="background-color: yellow">#1</div>
</body>
</html>

В общем-то, уже это не очень критично. Проблема не то чтобы решена, но выяснено, что она проявляется только на старой версии Мозиллы. Поэтому в этом коде (который я здесь привёл) необходимости особой уже нет. Но надо было вплотную.
Добавлено @ 22:46
А убрать <p> и наставить вместо него <br>-ов не хотелось, валидатор ругается, и правильно делет smile

Автор: Sardar 20.11.2004, 23:37
А попробуй P после текста закрыть smile

Автор: dm9 21.11.2004, 00:13
Так он закрыт же, вроде smile
<p />
Сейчас попробую.

Автор: sergejzr 21.11.2004, 00:15
<p /> это сам тэг p закрыт,
А надо ещё
</p />
После текста smile

Автор: dm9 21.11.2004, 00:15
Ээээ... учиться и ещё раз учиться smile smile smile
HTML
<html>
<body>
<p></p>
<table width=100% bgcolor=red><tr><td>12</td></tr></table><div style="background-color: yellow">#1</div>
</body>
</html>


Так работает smile
Добавлено @ 00:16
sergej.z, понял smile
Добавлено @ 00:17
Да, торможу. Только всёравно странно IE и Мозилла не выделываются, без закрывания работают smile

Автор: dm9 21.11.2004, 00:28
Всё, я понял, где была ошибка.

Цитата
Given an empty instance of an element whose content model is not EMPTY (for example, an empty title or paragraph) do not use the minimized form (e.g. use <p> </p> and not <p />).

( http://www.w3.org/TR/xhtml1/#C_3 )

А я считал, что <p /> эквивалентен <p></p>.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)