是否有必要使用带有 <div> 的结束标记来清除浮动? [复制]
Posted
技术标签:
【中文标题】是否有必要使用带有 <div> 的结束标记来清除浮动? [复制]【英文标题】:Is it necessary to use an end tag with <div> for clearing floats? [duplicate] 【发布时间】:2012-03-05 23:02:32 【问题描述】:当使用样式为 clear:both 的 DIV 元素来清除先前的浮动时,是否需要在 DIV 元素上使用开始 和 结束标记?这是一个例子...
这样好吗?
<div style="clear:both;" />
还是应该这样?
<div style="clear:both;"></div>
【问题讨论】:
我认为这是必要的。终止标签很重要。 【参考方案1】:你需要结束标签,或者浏览器will not think the tag is closed。
但是,您为什么还要使用<div style="clear:both;"></div>
?这涉及无缘无故地添加一个额外的无意义的div
。
有更好的方法来包含/清除浮动:
在包含浮动的元素上使用overflow: hidden
。
或者,使用诸如"micro clearfix" 之类的clearfix。
【讨论】:
两者都可以,但overflow: hidden
将成为网格等的痛点。这就是为什么网格通常带有所说的微修复,它可以创造奇迹。【参考方案2】:
如果您使用 Xhtml,则可以使用 <div />
,如果您使用 HTML 4.X,则应添加 </div>
【讨论】:
【参考方案3】:它在 HTML 4 和 HTML5 中无效。在 XHTML 中有效。可能会被浏览器错误拦截。
【讨论】:
以上是关于是否有必要使用带有 <div> 的结束标记来清除浮动? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 div 中使用背景图片而不是经典的 <img> 来创建带有链接的图片有啥好处? [复制]
Selenium 和 xpath:找到一个带有类/ID 的 div 并验证里面的文本