Зря сходил в НГУ

Кто-нибудь может объяснить, почему внутри тага ><P> не может быть тага <UL>?

То есть конструкция вида:

<P>
Text
   <UL>
      <LI>Item</LI>
  </UL>
</P>

Будет отображаться именно так:

Text

  • Item

А не так:

Text

  • Item

По мне так очень нелогично. А ведь говорят, что это спецификацией не предусмотрено.

Комментарии

 

42 комментария

    • Да не в этом дело. Как так сделать-то всегда придумается. Непонятно, почему нельзя в контейнер типа Параграф поместить Список. Это ж нормально, предположим я пишу: «Пойду в магазин, куплю там: молока, кефира, булочек, сметаны. То-то жинка будет довольна»! Горизонтальный список тоже список, мог бы быть вертикальным.
      То есть с точки зрения организации контента нелогичное правило, как мне кажется.

    • Да не в этом дело. Как так сделать-то всегда придумается. Непонятно, почему нельзя в контейнер типа Параграф поместить Список. Это ж нормально, предположим я пишу: «Пойду в магазин, куплю там: молока, кефира, булочек, сметаны. То-то жинка будет довольна»! Горизонтальный список тоже список, мог бы быть вертикальным.

      То есть с точки зрения организации контента нелогичное правило, как мне кажется.

  1. :)
    Семантически тэг p больше похож на br. Т. е. совсем если грубо говоря, он просто на следующую строку перекидывает.
    По спецификации закрывающий тэг для элемента p необязателен. Т. е. браузер просто сам решает когда этот p закончился. А заканчивается он, скорее всего, на первом встретившемся блочном элементе, которым и является ul.
    Когда ты говоришь, что поведение нелогично — ты просто ждёшь от тэга p поведения div’а. А у него другая семантика. Ну так и используй div — будет всё логично.

  2. :)

    Семантически тэг p больше похож на br. Т. е. совсем если грубо говоря, он просто на следующую строку перекидывает.

    По спецификации закрывающий тэг для элемента p необязателен. Т. е. браузер просто сам решает когда этот p закончился. А заканчивается он, скорее всего, на первом встретившемся блочном элементе, которым и является ul.

    Когда ты говоришь, что поведение нелогично — ты просто ждёшь от тэга p поведения div’а. А у него другая семантика. Ну так и используй div — будет всё логично.

  3. Я думаю CSS надо прописать для обоих какой-то хитрый.
    display: inline; кокой-нибудь, я не знаю..
    Поэксперементировать надо короче.

  4. Я думаю CSS надо прописать для обоих какой-то хитрый.
    display: inline; кокой-нибудь, я не знаю..
    Поэксперементировать надо короче.

  5. почитал коменты..
    Ну сделай
    вместо
    , если спецификацией запрещено. Видать проектировщикии задумывали
    как самый «младший» элемент. А мы хотим в него еще потомков засунуть.

  6. почитал коменты..

    Ну сделай

    вместо

    , если спецификацией запрещено. Видать проектировщикии задумывали

    как самый «младший» элемент. А мы хотим в него еще потомков засунуть.

Добавить комментарий для Стас КулешОтменить ответ