Разрешены ли div и span внутри элементов формы? - PullRequest
12 голосов
/ 15 августа 2011

Я задаю этот вопрос, чтобы проверить правильность моего HTML.Я очень хорошо могу попробовать это (и у меня есть, и это возможно), но мне просто любопытно, разрешено ли это в HTML.Если нет, то как можно моделировать элементы div или span внутри формы?Используя blockquote?

Ответы [ 5 ]

15 голосов
/ 15 августа 2011

form - это элемент уровня блока в HTML. Обычно элементы уровня блока допускают как уровень блока , так и inline дочерние элементы. И div, и span являются действительными потомками form.

В Интернете есть масса ресурсов, чтобы узнать больше об этой теме, например:

http://www.w3.org/TR/html4/struct/global.html#h-7.5.3

Вам также может быть полезно прочитать о блочной модели, поскольку это одна из самых фундаментальных концепций веб-дизайна / разработки.

http://www.w3.org/TR/CSS2/box.html

5 голосов
/ 15 августа 2011

Да, вы можете.И это также "официально разрешено" стандартом XHTML, если вы посмотрите на XHTML XSD , вы найдете

<xs:complexType name="form.content">
  <xs:annotation>
    <xs:documentation>
      form uses "Block" excluding form
    </xs:documentation>
  </xs:annotation>
  <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:group ref="block"/>
    <xs:group ref="misc"/>
  </xs:choice>
</xs:complexType>

"блок", охватывающий div и "misc"содержит span.Часть «документация» указывает на одну конкретную вещь, которую вы не можете делать: вложите form в другую.

1 голос
/ 22 мая 2013

Я должен исправить выбить 'ответ.

В цитируемом им XHTML 1.0 Strict DTD группа misc не ссылается на встроенные элементы. Вместо этого это относится к следующим 4 элементам: noscript, ins, del и script.

<!ENTITY % misc.inline "ins | del | script">
<!ENTITY % misc "noscript | %misc.inline;">

Таким образом, чтобы ответить на вопрос, XHTML 1.0 Strict не допускает элементы span внутри элементов form. Вам нужно будет обернуть их внутри элементов блока, таких как p, dip или fieldset.

Это не относится к XHTML 1.0 Transitional . Действительно, DTD указывает, что встроенные элементы разрешены внутри form элементов:

<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">

Для справки: XHTML 1.0 - DTD

1 голос
/ 15 августа 2011

Да, это действительно, и вы можете использовать любое количество элементов div, span или blockquotes внутри формы. Вы всегда можете использовать Службу проверки разметки W3C , чтобы проверить свой html.

Например:

<body>
    <form id="Form1">
    <div id="wrap">
         <div id="content-wrap" class="content-wrap-admin">
         </div>
    </div>
    </form>
</body>
0 голосов
/ 15 августа 2011

Да.

Вы даже пробовали это сами?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...