某外企面试题,你真的了解BFC吗?

2023年 10月 16日 83.0k 0

  • 问题:子元素设置 margin-top,会超出父元素的范围,变成父元素的 margin-top。而实际上子元素和父元素之间,依然没有margin-top的效果不是我们想要的。
    解决方法:

  • 设置新外层元素 overflow:hidden变成一个BFC方式的渲染区域。
  • 结果:
    子元素的margin-top受到外层父元素BFC渲染区域的阻隔,不会影响父元素以外的区域。子元素的margin-top,才真正成为子元素与父元素上边的间距。

    其他方案:
    1.为父元素添加上边框,颜色设置为透明。
    2.用父元素的padding-top代替第一个子元素的margin-top
    3.在父元素内第一个子元素之前添加一个

    ,用平级BFC渲染区域阻隔下方元素的margin-top
    4. 父元素::before{content:"";display:table},用平级BFC渲染区域阻隔下方元素的margin-top

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论