什么被认为是“更好”的做法:
<div class="clr"></div>
(clr很清楚:两者都有)
或者只是简单地说:
<BR CLEAR:BOTH />
我真的很困惑,因为我曾经被告知永远不会使用BR但是BR的设计就是div类了吗?
问题:
当您想要清除或我应该使用div时,只使用<BR />
会不会错?
提前致谢
编辑:我已阅读http://www.w3.org/TR/html4/appendix/notes.html#notes-line-breaks和http://www.w3.org/TR/html4/struct/text.html#edef-BR
示例(注意我已经删除了类并将样式直接添加到html中以便于阅读):
<div style="float:left;">
<a href="www.example.com"><img style="float:left;" src="/images/videos/video.jpg" width="90" height="75" alt="thumb" title="title" /></a>
<a href="www.example.com" >Title text</a>
<div style="clear:right;"></div>
<span>Length: duration here</span>
<div style="clear:right;"></div>
<span>descriptive text here<span>
<div style="clear:right;"></div>
<span>Date: date of added here</span>
</div>
在您的专家意见中我是否正确使用跨度,div等?我应该使用BR而不是Div来休息。
谢谢大家
结账注:
感谢大家指出,换行与清除浮动无关。我需要准确了解一个换行符......我想我不知道。
感谢freddy看到我真正想做的事情并给我解决方案,我笨拙地要求。
答案 0 :(得分:6)
以上都不是。最佳做法是使用HTML为信息提供结构。
因此,您使用div在页面中放置一部分信息。如果您在该信息之后需要换行符,则使用CSS来设置样式。
<div id="someinformation">
<p>some parragraph of info</p>
<ul>
<li>an item of the list</li>
<li>another item</li>
<li>yet another item</li>
</ul>
</div>
现在在CSS中你可以根据需要设置样式。该文档本身具有结构化信息,其中一些默认方式由浏览器呈现。该结构与屏幕阅读器配合得很好,屏幕阅读器不会因为视觉外观而受到HTML元素的困扰。
假设你有更多元素,在CSS中你可以决定让它们彼此相邻,或者换行,或者有一些边距。
答案 1 :(得分:2)
你问的是你自己提出的解决方案的错误问题。那些“清晰”元素通常不会创建换行符,它们用于清除在它们之前出现的浮动元素。
答案 2 :(得分:2)
BR在语义上用于在短语中间或两个单词之间的位置添加换行符。它不会清除漂浮物。
具有clear属性的元素清除元素上方指定的浮点数,这里使用div在语义上更有意义 - 因为您没有创建换行符而是清除浮点数。
可以指定BR再次具有明确但语义,这将缺乏意义。
要在某个文本后添加填充/中断/边距,最好使用边距/填充属性,而不是连续使用BR。
总结如下:
This is the first line<br />Second line
对于br。
<div style="float: left">Clear me</div>
<div style="clear:left"></div>
对于div。
<div style="margin-bottom: 19px;">Test here</div>
对于文本下的“换行符”或更准确的边距。
至于你的演讲,似乎你可能想要更多地研究花车。从语义上来说,事实上所有东西都是浮动的,然后你清理每一行都是有点混乱的。优雅的编码完全是关于最小的代码 - 最大的结果。
答案 3 :(得分:0)
我永远不会使用div。我相信<br/>
是你需要在<p>
内部换行时最好的事情。
无论如何,我不确定你为什么要使用那个CLEAR:BOTH或者class = clr。
答案 4 :(得分:0)
如何为span元素添加clear-properties,而不是在其中插入另一个(无意义的)元素呢?
HTML应该描述结构,而不是表示。如果您添加BR - 换行符 - 更改演示文稿(网站在设置样式时的外观),那么您做错了。
添加DIV或SPAN对结构没有影响,因为它们根本没有语义含义。