有时候使用 < BR/> 是不是不好?

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

我这样问是因为我的开发团队给我的第一个建议是: 不要使用 <BR/>; 而是使用样式。但是为什么呢?使用 <BR/>标签是否会产生负面结果?

102256 次浏览

我认为你们的开发团队指的是 <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>

直接指定布局会使网站难以适应不同的页面大小或字体,例如。

我尝试用一种在禁用 CSS 的情况下易于阅读的方式来编写我的标记。如果您只是使用 BRs 来添加间距,那么最好使用边距和填充。

您的团队的意思可能是不要使用 <br>来分割段落。 例如:

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

是更好的方法,因为你可以很容易地通过 CSS 调整段落之间的空格。 除此之外,我想不出还有什么东西可以反对这样的断线。

一般来说,<br/>表示语义性差的 HTML。最常见的情况是使用 <br/>声明段落分隔,在语义上有更好的方法。见 住宿和早餐

在某些情况下,使用这个标签是合适的,但是这个标签经常被滥用,以至于人们采取“不要使用”的心态来强迫更好的语义思维。

它们将用于表示换行。仅此而已。不要像一般的地质城市那样填满空间。然而,只有一种情况下,它们 对于放置换行符以外的其他用途是有用的: 清除浮点数。

<br style="clear: both;">

不使用 <br>的主要原因是它不是 语义上的。如果希望两个项位于不同的可视块中,则可能希望它们位于不同的逻辑块中。

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

有些情况下,<br>在语义上是有效的,例如,换行符是所发送数据的 一部分。这实际上只限于2个用例-诗歌和邮件地址。

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

<br />应该只用于换行符,而不应该将样式应用于页面。例如,如果段落之间需要额外的空间,给它们一个类,并在段落中应用额外的填充。不要用 <br /><br ><br />分散你的段落

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

有些人会说一个 <br>就足够了,你应该使用 <p></p>,而不是两个,但是有些情况下(例如剧本) ,你希望引入一个较长的暂停,而不意味着改变主题或一个新的时期开始,就像一个段落通常做的那样。

我通常总是使用 CSS 在元素上设置适当的边距和填充——除了语义更正确之外,这比到处都是的 <br />要简单得多。

也许唯一一次我会优先使用 <br />而不是 CSS 设置的边距和填充,即使严格来说它在技术上并不正确,那也是因为它是一个孤立的事件,需要稍微多一点的空间。如果我得到了一个相当大的样式表,并且似乎不值得为这一次设置额外的样式,我 使用 <br />作为一次性的样式。

像大多数事物一样,如果 <br />被正确使用,它也不是一件坏事。

同样的概念也适用于为什么我们不使用表格进行布局-使用表格进行布局,而 CSS 进行布局。

如果希望影响布局,可以使用 <br/>作为文本块和 CSS 中的分隔线。

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

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

深入:
如果你使用 <BR/>只是换行-确定。
如果使用 <BR/>作为行间隔符-不行。 < br/>

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

所以使用 <br>标签是完全有效的 HTML。但是不推荐使用 <br>

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

<p>some<br>text<p>

没有 <br>可以标记为

 <p>some</p>
<p>text<p>

如果你使用 <br>的其他用途,如顶部间距等,可以通过 CSS margin属性实现。

下面是一个 <br>如何对样式产生负面影响的例子(为视觉效果运行代码片段)

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

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;
}
*/
<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>