开发者社区> 问答> 正文

清除浮动和闭合浮动的区别?

微博上看到的一个面试题?
screenshot

展开
收起
a123456678 2016-03-26 14:02:52 2334 0
1 条回答
写回答
取消 提交回答
  • 原来是一丝提出的“闭合浮动”。为了避免混淆,还是说全吧,“使float元素可以撑高父元素”。

    (国内页面重构已经足够乱了还需要特地造个新名词混淆新人吗)

    “清除浮动”源于clear float即W3C CSS2.1 9.5.2章定义的内容,意即使用clear阻止这个元素盒子的边和前面的浮动元素相邻的行为;

    The most interesting characteristic of a float (or "floated" or "floating" box) is that content may flow along its side (or be prohibited from doing so by the 'clear' property).
    如果“闭合浮动”指的是避免“float无法撑高父容器的默认行为”的话,那么有这些方案:

    在float同级最后方加入带有clear:both属性的元素或伪元素(W3C CSS2.1 9.5.2 clearance高度计算部分)
    给父级加上一些overflow/float/display table等触发BFC的属性以使父容器成为block formatting context roots(W3C CSS2.1 10.6.7)

    2019-07-17 19:16:06
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载