Я задаю этот вопрос, чтобы проверить правильность моего HTML. Я могу очень хорошо попробовать это (и у меня есть, и это возможно), но мне просто интересно, разрешено ли это в HTML. Если нет, то как можно имитировать элемент div или span внутри формы? Использование blockquote?
Разрешены ли divs и промежутки внутри элементов формы?
Ответ 1
form
является элементом уровня блока в HTML. Как правило, элементы уровня блока позволяют использовать как блочные, так и встроенные дочерние элементы. И div
, и span
являются действительными дочерними элементами form
.
В Интернете есть много ресурсов, чтобы узнать больше об этой теме, например:
http://www.w3.org/TR/html4/struct/global.html#h-7.5.3
Это может также помочь вам прочитать о коробке, так как это одна из самых фундаментальных концепций веб-дизайна/разработки.
Ответ 2
Да, вы можете. И это также "официально разрешено" стандартом 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>
"block" включает div
и "misc" содержит span
. В части "документация" указывается одна конкретная вещь, которую вам не разрешено делать: вставьте a form
в другую.
Ответ 3
Да, это действительно так, и вы можете использовать любое количество div, span или blockquotes внутри формы. Вы всегда можете использовать службу проверки валидности W3C, чтобы проверить свой html.
Например:
<body>
<form id="Form1">
<div id="wrap">
<div id="content-wrap" class="content-wrap-admin">
</div>
</div>
</form>
</body>
Ответ 4
Я должен исправить ответ тиснение.
В 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
Ответ 5
Да.
Вы даже попробовали это самостоятельно?