问题:我是否应该避免使用<br/>
来破坏行以支持在<p></p>
中包装内容?什么时候可以使用<br/>
(如果有的话)?
它们在我称之为典型的桌面浏览器方面都能很好地工作,但是其中一种方法可以更好地使用辅助功能和移动设备吗?
目前推荐的最佳做法是什么? (这似乎是一个不断变化的目标。)
例如,在做这样的事情时:
使用<br/>
将标签与输入分开
<label for="txtUsername">Username</label><br/>
<input type="text" id="txtUsername" autocomplete="off" maxlength="50" spellcheck="false"/>
&#13;
使用<p></p>
将标签与输入分开
<p><label for="txtUsername">Username</label></p>
<p><input type="text" id="txtUsername" autocomplete="off" maxlength="50" spellcheck="false"/></p>
&#13;
我已经搜索了一下,似乎没有达成100%的共识,我想我会想起那个精彩的SO社区..谢谢!
答案 0 :(得分:4)
在HTML5中,只有在换行符为#34;实际上是内容的一部分时才能使用br
element。适用br
的典型示例:in postal addresses和in poems。
由于示例中的换行符没有意义(似乎只是出于布局原因需要;另请参见下面的示例),您不能使用br
。您应该使用CSS(display:block
)。
div
元素默认情况下通常附带此CSS声明,并且使用它(或更具体的元素,如p
,如果合适)允许没有CSS支持的用户代理(例如,文本浏览器) )以更易于理解的方式显示内容(如果使用所谓的&#34;块级&#34;元素,它们通常也会显示换行符。)
规范在一个例子中明确提到了类似的案例:
以下示例不合规,因为它们滥用了
br
元素:[...]
<p><label>Name: <input name="name"></label><br> <label>Address: <input name="address"></label></p>
答案 1 :(得分:1)
确定页面上元素的可视布局通常在CSS中完成,并且最好在可能的情况下分离关注点。因此,将标签标签放在输入标签的单独行上将通过CSS完成,例如,将label
设为display:block
。
答案 2 :(得分:1)
如果您的意图真的是
快速掌握最佳实践和标准
然后我建议熟悉HTML5中提出的结构。如果您尝试使用HTML5的构造,则会尝试避免使用<br>
标记,而是将您的内容排列在semantic markup内,并使用CSS格式化内容。
答案 3 :(得分:0)
p-tag代表段落。一段中的内容应始终独立于另一段中的内容。顺便提一下,大多数浏览器都会使用更大的空间/两个p标签之间的空行。
因此,如果你不想使用css(这将是我的首选) - 请使用br。
但是,如果你真的希望将内容分开,请不要做这样的事情(不幸的是很常见):
Some example text.<br/><br/>
Even more example text.
&#13;
在这里你真的会使用p-tags:
<p>Some example text.</p>
<p>Even more example text.</p>
&#13;