Кто-нибудь может объяснить, почему внутри тага ><P> не может быть тага <UL>?
То есть конструкция вида:
<P> Text <UL> <LI>Item</LI> </UL> </P>
Будет отображаться именно так:
Text
- Item
А не так:
Text
- Item
По мне так очень нелогично. А ведь говорят, что это спецификацией не предусмотрено.
display: inline не поможет?
Да не в этом дело. Как так сделать-то всегда придумается. Непонятно, почему нельзя в контейнер типа Параграф поместить Список. Это ж нормально, предположим я пишу: «Пойду в магазин, куплю там: молока, кефира, булочек, сметаны. То-то жинка будет довольна»! Горизонтальный список тоже список, мог бы быть вертикальным.
То есть с точки зрения организации контента нелогичное правило, как мне кажется.
Ну так для этого и придумано, наверное, inline.
По умолчанию ul — это блочный элемент. А если хочется, можно его прямо внутрь параграфа поместить.
fg dsafg sdfg sdfg sdfg ads fas dfasdf asdf
sdf sadf asdrf as
dfsg sdfg sdfg d
А я тоже хочу попробовать,
Вот странная какая-то штука.
Хорошо, что я не верстальщик, все же.
Причём тут даже дело не в браузере. Правильная Опера тоже показывает «не так». Я вот и не пойму, где подвох.
<P style=»PADDING: 10px; BACKGROUND-COLOR: #eee»>
fg dsafg sdfg sdfg sdfg ads fas dfasdf asdf
sdf sadf asdrf as
<UL style=»DISPLAY: inline»>
<LI>sdfsdfsdf sdf sdf sdf</LI>
<LI>sdfsdfsdf sdf sdf sdf</LI>
<LI>sdfsdfsdf sdf sdf sdf</LI>
</UL>
dfsg sdfg sdfg d
</P>
по стандарту открытие <UL> автоматически закрывает <P>. увы
Да я вижу. 🙂 Нелогично, говорю. Тебе не кажется?
параграф в html понимается просто как контейнер для текста, так что это достаточно логично. то, что это не очень удобно — это уже другой разговор.
🙂
Слушай, а где ты такое правило нашёл?
Я так думаю параграф на любом блочном элементе заканчивается….
Re: 🙂
из чего автоматически следует…
Re: 🙂
ага. я думал может у тебя спецификация другая :).
🙂
Семантически тэг p больше похож на br. Т. е. совсем если грубо говоря, он просто на следующую строку перекидывает.
По спецификации закрывающий тэг для элемента p необязателен. Т. е. браузер просто сам решает когда этот p закончился. А заканчивается он, скорее всего, на первом встретившемся блочном элементе, которым и является ul.
Когда ты говоришь, что поведение нелогично — ты просто ждёшь от тэга p поведения div’а. А у него другая семантика. Ну так и используй div — будет всё логично.
В спецификации про это как раз-таки написано:
Я думаю CSS надо прописать для обоих какой-то хитрый.
display: inline; кокой-нибудь, я не знаю..
Поэксперементировать надо короче.
Тут была такая идея. Нельзя. Просто нельзя в p класть ul
почитал коменты..
Ну сделай
, если спецификацией запрещено. Видать проектировщикии задумывали
как самый «младший» элемент. А мы хотим в него еще потомков засунуть.
Re: почитал коменты..
Да не проблема сделать-то 🙂 Меня нелогичность спецификации удивила просто.
Re: почитал коменты..
* ой, у меня тэги пропали, я протупил 🙂
Да, спецификация дурная, что поделаешь.