什么是逻辑和语义正确、兼容 A 级浏览器且 W3C 有效的清除浮动的方法?

发布于 2024-08-12 00:27:32 字数 356 浏览 5 评论 0原文

什么是逻辑上正确且 W3C 有效的清除浮动的方法?

  1. zoom:1 在 W3C 中无效,IE8 没有哈希布局问题
  2. overflow:hiddenoverflow:hidden 不是为了这样做,因为规范 预期要使用的溢出
  3. 不是 语义上正确,我不想添加额外的标记。
  4. clearfix hack 生成的内容 确实没有任何语义价值。

我问了很多问题并阅读了很多关于这个问题的文章,但还没有找到最好的方法。

What is Logically correct and W3C valid way to clear float?

  1. zoom:1 is not valid by W3C and IE8 don't have hash layout problem
  2. overflow:hidden and overflow:hidden
    were not made to do this,as the spec
    intended overflow to be used
  3. <div class="clear"/> is not
    semantically correct and i don't want to add extra markup.
  4. clearfix hack generates content that
    really hasn’t any semantic value.

I've asked many questions and read many articles on this issue but haven't find best way.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼中杀气 2024-08-19 00:27:32

使用 clearfix

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.clearfix {
    display: inline-block;
}

html[xmlns] .clearfix {
    display: block;
}

* html .clearfix {
    height: 1%;
}

Using a clearfix

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

.clearfix {
    display: inline-block;
}

html[xmlns] .clearfix {
    display: block;
}

* html .clearfix {
    height: 1%;
}

在语义上不正确,我不想添加额外的标记。

这就是为什么经常使用
的原因。您基本上希望在浮动元素和下一个元素之间有一个换行符。确实,标记不太好,但这就是使用浮动的好处。

或者,您也可以在要放入下一行的后续块元素上设置 clear: Both;

<div class="clear"/> is not semantically correct and i don't want to add extra markup.

That's why often a <br class="clear"> is been used. You basically want to have a linebreak between the float and the next element. True, it's not nice in the markup, but that's the payoff of using floats.

Alternatively you can also just set a clear: both; on the subsequent block element which you'd like to put in the next line.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文