<form>元素IMO 的目的是语义不呈现 - 元素用于定义具有可以发送到服务器的元素的区域.
那么,为什么浏览器(以及我在规范中假设)在用户代理样式表中指定display:block?当然,如果你想让表单成为一个块,你可以将它包装在div元素中吗?
通常,我只是将表单{display:inline}放入我的css中以覆盖它.不过,我想知道如果有一个很好的理由,使得<form>在默认情况下显示为一个块,或者如果它只是一直保持这种遗留原因.
aro*_*oth 14
我认为这是因为一个<form>将经常包含其他块级元素(div用于结构,或者虽然我在思想上畏缩,表格有助于组织表单字段等).并且具有包含块元素的内联元素虽然完全可能,但在语义上是有问题的.
我完全同意你关于<form>不是表现的观点,但同时我认为它是一个块元素,考虑到标签的使用方式.