6

我目前正在使用 p 标签来包围表单分组(例如标签、输入和错误消息)...

p 标签是我多年来一直使用的标签,但我遇到了一些问题,因为p 标签不能包含 div 等……所以我正在考虑使用“section”标签来分解“sections”表单: )...

如果你们认为在这种情况下使用这个标签在语义/功能上是合适的,我正在寻找一些反馈......作为网络开发人员的表单是我一天中 90% 的时间,所以非常感谢你的想法和反馈:)

仅供参考(尽管无关紧要)我正在使用 Laravel Form 作为示例!

<p>
    <label>First Name</label>
    <input type="text" name="first_name" value="{{ Form::form_value('first_name', $user) }}">
    <span class="error_message">{{ $errors->first('first_name') }}</span>
</p>

<p>
    <label>Surame</label>
    <input type="text" name="surname" value="{{ Form::form_value('surname', $user) }}">
    <span class="error_message">{{ $errors->first('surname') }}</span>
</p>

<section>
    <label>First Name</label>
    <input type="text" name="first_name" value="{{ Form::form_value('first_name', $user) }}">
    <span class="error_message">{{ $errors->first('first_name') }}</span>
</section>

<section>
    <label>Surame</label>
    <input type="text" name="surname" value="{{ Form::form_value('surname', $user) }}">
    <span class="error_message">{{ $errors->first('surname') }}</span>
</section>

感谢您的反馈意见微笑

4

2 回答 2

3

section元素 可以适用于对表单元素进行分组,但肯定不适用于每个输入+标签组。它是一个分段内容元素,这意味着每个元素都section可以列在文档的大纲中。这很可能不是您想要的。

一个很好的例子section可能是非常长/复杂的表格,其中每个部分可能包含多个fieldset元素。一般使用的经验法则section

  • section如果您为内容提供标题 ( h1- ),则应使用h6
  • 如果为内容提供标题是合适的,您可以使用section,但由于某种原因您不这样做。

p元素适用于对一个或多个输入+标签组进行分组,如示例 1中的第二个片段所示。由于您想包含可能的错误消息,div因此对组使用(无意义的)元素,将p元素作为子元素,似乎是合适的:

<div>
  <p>
    <label>First Name</label>
    <input type="text" name="first_name" value="">
  </p>
  <p class="error_message"></p>
</div>
于 2016-11-07T09:49:30.413 回答
0

我认为<section>使用的语义不是正确的。您可以使用<fieldset>,但我认为这是用于多个输入,或者您可以将所有内容都包含在<label>.

例如

<label>
  First Name
  <input type="text" name="surname" value="{{ Form::form_value('surname', $user) }}">
  <span class="error_message">{{ $errors->first('surname') }}</span>
</label>

否则,一个<p>标签就很好了,无论如何,表单没有太多语义。

于 2013-02-08T00:21:33.937 回答