V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
caopi

求教,父元素不包括子元素的 margin 是怎么回事?

  •  
  •   caopi · Sep 21, 2018 · 3128 views
    This topic created in 2787 days ago, the information mentioned may be changed or developed.

    我设置了 box-sizing: border-box;但是父元素高度只等于子元素的内容高度,不包括 margin 的高度。

    我就纳闷了

    11 replies    2018-09-29 14:57:28 +08:00
    caopi
        1
    caopi  
    OP
       Sep 21, 2018
    按道理说,设置了盒模型应该可以包含 margin 了
    caopi
        2
    caopi  
    OP
       Sep 21, 2018
    加入 bfc 高度就包含子元素 margin 了,搞不懂了
    rabbbit
        3
    rabbbit  
       Sep 21, 2018   ❤️ 1
    父元素没有 bord,所以子元素的 margin 跑出去了
    生成 BFC 后,内部元素不受外部影响,就又包括了
    你可以想象 BFC 是个盒子,把里边的都包起来了
    rabbbit
        4
    rabbbit  
       Sep 21, 2018
    bord -> border
    ToHaveLight
        5
    ToHaveLight  
       Sep 21, 2018
    有可能是垂直外边距重叠了
    FakeLeung
        6
    FakeLeung  
       Sep 21, 2018
    父元素:
    border: 1px solid transparent;
    caopi
        7
    caopi  
    OP
       Sep 21, 2018
    @rabbbit 没有 border 就会跑出去是怎么回事呢?
    rabbbit
        8
    rabbbit  
       Sep 21, 2018   ❤️ 1
    边距合并,只要两个 margin 相遇了,他们中间没有东西,就会和并(除 bfc)
    甚至,如果元素没 height/border 只有 margin,上下俩 margin 也会合并
    enjoyCoding
        9
    enjoyCoding  
       Sep 21, 2018 via Android
    8 楼正解 搞个 BFC 就好了
    caopi
        10
    caopi  
    OP
       Sep 21, 2018
    @rabbbit margin 为 0 也会合并是吗
    supuwoerc
        11
    supuwoerc  
       Sep 29, 2018
    外边距折叠的问题吧。。bfc 划块解决之
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3465 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 10:42 · PVG 18:42 · LAX 03:42 · JFK 06:42
    ♥ Do have faith in what you're doing.