将表单元素分组为"p"是否可以?

Jak*_*old 3 html xhtml semantics

假设我有这个代码

<form action="#" method="get">
    <p>
        <label for="name">Name:</label>
        <input type="text" name="name" />
    </p>
    <p>
        <input type="submit" />
    </p>
</form>
Run Code Online (Sandbox Code Playgroud)

使用p对元素进行分组是否合乎逻辑?因为我的老师(再次......我知道......:P)告诉我,p应该仅用于段落,而我应该使用div,但正如我所看到的,p被广泛使用,几乎无处不在.

我能想到的最后一种可能性是<br />,我认为这是最糟糕的方式.

那么哪一个最好用

  • 包装 <div>
  • 包装 <p>
  • <br /> 在末尾

Pao*_*ino 9

看看这个相关问题这个问题.

老实说,我不认为这是一个大问题,但使用<fieldset>可能是最能在语言上正确的方式让你的老师开心.然而,在现实世界中,我<p>有时会对形式进行分组.


mik*_*ikl 5

我认为最具语义性的方法是使用列表元素来完成它,就像Prettier Accessible Forms中描述的那样,因为大多数表单实际上很像要填写的字段列表,我认为它在语义上最有意义.

如果你想拥有一组字段,fieldset对此有好处,但我几乎总是把每个表单项放在一个<li>.