使用<BR/>
标签有时不好吗?
我问,因为我的开发团队给我的第一个建议是:不要使用<BR/>
;相反,使用样式。但为什么?使用<BR/>
代码时是否会产生负面结果?
答案 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>
如何对样式产生负面影响的示例(针对视觉效果运行代码段)
(注意右边的错位按钮和奇数空格):
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">↑</button>
</span>
<button id="moveLeft" value="vasakule">←</button>
<button id="moveDown" value="alla">↓</button>
<button id="moveRight" value="paremale">→</button>
<br> <!-- note the shifted button and odd space on right -->
<span>or move with keyboard arrows</span>
</div>
&#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
属性实现的顶部间距等目的。