在网页设计中是否应该不惜一切代价避免<br />和<hr />?

Mic*_*cah 40 html css

我不断找到需要使用<br />标签的地方,因为CSS无法满足我的需求.是不是被<br />认为是"设计"的一部分而不是文档结构的一部分?它的可接受用途是什么?同样的规则是否也适用于<hr />

这是一个我觉得被迫使用<br />标签的例子:

我想显示这个:

<address>1234 south east Main St. Somewhere, Id 54555</address>

像这样:

1234 south east main st.
Somewhere, Id 54555

Jos*_*ody 66

使用<br />或<hr />没有任何问题.即使在新的HTML 5草案规范(相关规范信息)中,它们都不是已弃用的标签.事实上,很难比W3C本身更好地说明<br />标签的正确使用:

以下示例是br元素的正确用法:

<P> P上.Sherman <br>
42 Wallaby Way <br>
悉尼</ p>

br元素不得用于分隔段落中的专题组.

以下示例不符合,因为它们滥用了br元素:

<p> <a ...> 34条评论.</a> <br>
<a ...>添加评论.<a> </ p>

<p>名称:<输入名称="名称"> <br>
地址:<输入名称="地址"> </ p>

以下是上述替代方案,它们是正确的:

<p> <a ...> 34条评论.</a> </ p>
<p> <a ...>添加评论.<a> </ p>

<p>名称:<输入名称="名称"> </ p>
<p>地址:<输入名称="地址"> </ p>

<hr />也可以很好地成为内容的一部分,而不仅仅是显示元素.当涉及什么是内容和什么不是内容时,请使用良好的判断,并且您将知道何时使用这些元素.它们在当前的W3C规范中都是有效的,有用的元素.但是,强大的力量带来了巨大的责任,所以正确使用它们.

编辑1:

我第一次点击"帖子"之后的另一个想法 - 近年来网络开发人员中存在很多反<表>情绪,并且有充分的理由.人们滥用<table>标签,将其用于网站布局和格式化.这不是它的用途,所以你不应该这样使用它.但这是否意味着你永远不应该使用<table>标签?如果您的代码中实际上有一个诚实的表,例如,如果您正在撰写一篇科学文章,并且您想要包含元素的周期表,该怎么办??在这种情况下,使用<table>是完全合理的,它变成了语义标记而不是格式化.<br />与情况相同.当它是你的内容的一部分(即,为了正确的英语而应该在那些点打破的文本),使用它!当你出于格式化原因而这样做时,最好尝试另一种方式.

  • 它也值得引用`<hr>`HTML5规范,它整齐地解释了它的语义:**"hr元素表示段落级别的主题中断,例如故事中的场景变化,或者过渡到另一个主题.参考书的一部分."** (7认同)
  • 嗨@konrad_firm.你是对的,从技术的角度来看,这两种用途可能看起来一样.区别在于语义.在邮政地址的情况下,换行符是数据的一部分.它总是有一个换行符,即使它是用记事本或小屏幕写的.在"不正确"的用法中,换行符用于演示.如果您想在小屏幕上,屏幕阅读器或其他国家/地区以不同方式格式化两个链接,该怎么办?<br> <br>无法在CSS中更改,因此出于演示目的应避免使用.合理? (2认同)

Sam*_*son 15

只要你不使用<br/>形成段落,你在我的书中可能就好了;)我讨厌看到:

<p>
  ...lengthy first paragraph...
  <br/>
  <br/>
  ...lengthy second paragraph...
  <br/>
  <br/>
  ...lengthy third paragraph...
</p>
Run Code Online (Sandbox Code Playgroud)

至于地址,我会这样做:

<address class="address">
  <span class="street">1100 N. Wullabee Lane</span><br/>
  <span class="city">Pensacola</span>, <span class="state">Florida</span> 
  <span class="zip">32503</span>
</address>
Run Code Online (Sandbox Code Playgroud)

但这可能是因为我喜欢jQuery,并希望在任何特定时刻访问任何这些部分:)


Geo*_*ker 7

<hr />并且<br />,就像其他一切一样,可以在不应该被滥用时进行设计. <hr />用于在视觉上划分文本部分,但在局部意义上. <br />是为了做同样的事情,但没有水平线.

这将是一个设计缺陷,使用<hr />跨网站的设计,但在这篇文章中,例如,这将是正确的同时使用<br /><hr />,因为文本的这一部分仍然要成为一段文字,即使网站布局已更改.


Aro*_*eel 5

我相信绝对避免<div>使用普遍接受的解决方案(即使它已经过时)与设计带有标签而不是标签的表是一样的<table>,只是这样你就可以使用<div>.

在设计您的网站时,您可能不需要使用标签<br />,但我仍然可以想象它们在需要用户输入的情况下很有用。

我不认为使用有什么问题<br />,但没有遇到很多需要使用它们的情况。<br />在大多数情况下,如果您需要垂直分隔内容,可能有比使用标签更优雅(更漂亮)的解决方案。