使用<br/>有时候不好吗?

时间:2009-11-12 23:15:18

标签: html tags styles

使用<BR/>标签有时不好吗?

我问,因为我的开发团队给我的第一个建议是:不要使用<BR/>;相反,使用样式。但为什么?使用<BR/>代码时是否会产生负面结果?

15 个答案:

答案 0 :(得分:144)

不使用<br>的主要原因是它不是semantic。如果您想在不同的可视块中使用两个项目,则可能需要它们位于不同的逻辑块中。

在大多数情况下,这意味着只使用不同的元素,例如<p>Stuff</p><p>Other stuff</p>,然后使用CSS将块正确地隔开。

在某些情况下,<br>在语义上有效,即换行符是您正在发送的数据的部分的情况。这实际上仅限于2个用例 - 诗歌和邮寄地址。

答案 1 :(得分:100)

我认为您的开发团队正在引用<br />来代替边距。要在元素之间创建空格,请使用CSS填充/边距样式。

<br />

的使用不当
<div>
   Content
</div>
<br />
<br />
<br />
<br />
<div>
     More content...
</div>

善用<br />

<style>
     div {
          margin-top:10px;
     }
</style>

<div>
   Content<br />
   Line break
</div>

<div>
     More content...
</div>

答案 2 :(得分:25)

通常,<br/>表示语义HTML较差。最常见的情况是使用<br/>来声明段落分隔,有更好的方法可以在语义上进行。请参阅Bed and BReakfast

在某些情况下,它是正确使用的标签,但它经常被滥用,人们采用“不使用”的心态来强制更好的语义思维。

答案 3 :(得分:13)

您的团队的意思可能不是使用&lt; br&gt;来分割段落。

<p>I am a paragraph</p>
<p>I am a second paragraph</p>

是更好的方法,因为您可以通过CSS轻松调整段落之间的空格。 除此之外,我无法想到任何有关换线的内容。

答案 4 :(得分:8)

同样的概念适用于我们不使用表格进行布局的原因 - 使用表格表格和CSS进行布局。

如果您想影响布局,请使用<br/>表示文本块和CSS中的断行。

答案 5 :(得分:4)

直接指定布局会使网站难以根据不同的页面大小或字体进行调整。

答案 6 :(得分:2)

我通常会使用CSS在元素上设置适当的边距和填充 - 除了语义更正确之外,它比整个地方<br />的负载要麻烦得多。

可能我唯一一次使用<br />优先考虑CSS设置的边距和填充,即使它在技术上并不严格,如果它是一个孤立的事件,需要更多的空间。如果我有一个相当大的样式表,并且似乎不值得为那一次出现设置一个额外的样式,我可能使用<br />作为一次性。< / p>

与大多数事情一样,<br />并不是坏事,只要它们被正确使用。

答案 7 :(得分:1)

它们将用于表示换行符。而已。不要像平均地理位置那样填满空间。然而,只有一种情况,他们可能用于其他目的,而不是换新行:清除花车。

<br style="clear: both;">

答案 8 :(得分:1)

<br />应仅用于换行符,而不应用于页面样式。例如,如果段落之间需要额外的空格,请为它们提供一个类,并将额外的填充应用于段落。请勿使用<br /><br ><br />

展开您的段落

答案 9 :(得分:1)

不要使用三个或更多个连续<br>个,这是一个信号,你将它们用于风格目的,不,你不应该。

有人会说单<br>就足够了,而不是两个你应该使用<p></p>,但是有些情况(例如电影剧本)你要引入更长的暂停而不暗示更改主题或新时期开始,就像段落通常那样。

答案 10 :(得分:1)

如果您这样做:<BR/> <BR/>

您将在不同的浏览器上获得不同的布局。

更深:
如果您仅使用<BR/>换行 - 好的。
如果你使用<BR/>作为行间隔 - 不行。

答案 11 :(得分:0)

我尝试以一种在禁用CSS时易于阅读的方式编写我的标记。如果你只是使用BR来增加间距,最好使用边距和填充。

答案 12 :(得分:0)

如果使用得当,它们会很好。例如,您不应该使用它们来代替<p>标签或在元素之间创建间距。如果你连续两个,你可能做错了。

答案 13 :(得分:0)

以下是<br>如何对样式产生负面影响的示例(针对视觉效果运行代码段)

(注意右边的错位按钮和奇数空格):

&#13;
&#13;
button {
  width: 70px;
  height: 70px;
}
#arrows {
  border: solid thin red;
  display: inline-block;
}
#arrows span:first-of-type { 
  text-align: center; 
  display: block;
}
#moveUp {
  margin: 0;
}
/* In the current case instead of <br> use display */
/*
#arrows span:last-of-type { 
  display: block;
}
*/
&#13;
<div id="arrows">
  <span>
    <button id="moveUp" value="üles">&uarr;</button> 
  </span>
  <button id="moveLeft" value="vasakule">&larr;</button> 
  <button id="moveDown" value="alla">&darr;</button> 
  <button id="moveRight" value="paremale">&rarr;</button> 
  <br>    <!-- note the shifted button and odd space on right -->
  <span>or move with keyboard arrows</span>
</div>
&#13;
&#13;
&#13;

答案 14 :(得分:-4)

在HTML中(最多HTML 4):使用<br>
在HTML 5中 <br>是首选,但<br/><br />也可以接受 在XHTML中: <br />是首选。也可以使用<br/><br></br>

因此,使用<br>标记是完全有效的HTML。但是不推荐使用<br>

不使用<br>的主要原因是因为它不是语义标签&amp;里面没有内容。可以避免使用它,

<p>some<br>text<p>

可以在没有<br>

的情况下进行标记
 <p>some</p>
 <p>text<p>

如果您正在使用<br>其他目的,例如可以通过CSS margin属性实现的顶部间距等目的。