overflow:hidden on inline-block adds height to parent

后端 未结 4 1885
长发绾君心
长发绾君心 2020-12-24 05:36

I\'m certain this has been asked before in some form or other, but I just can\'t find an answer..

I have some nested divs

相关标签:
4条回答
  • 2020-12-24 05:52

    This extra space coming from overflow:hidden of Child class. Remove this property and check and if your really wanted to use overflow:hidden property then use negative margin to child class . You can remove this extra space.

    0 讨论(0)
  • 2020-12-24 06:04
    .child{
        background-color:green; 
        display:inline-block;
        overflow:hidden; 
        vertical-align: top;
    }
    
    0 讨论(0)
  • 2020-12-24 06:07

    The accepted answer above is correct, but it does not give the explanation I was looking for. A good explanation was provided by @Alohci in his comment.

    Explanation in a few words:

    • The value for vertical-align is baseline, therefore the child div is aligned with the baseline of the text.

    • This text baseline is not the same as the bottom line. It's a bit higher up, to accommodate letters with descenders: p, q, g.

    • This is why the problem is fixed by setting vertical-align:top.

    0 讨论(0)
  • 2020-12-24 06:08

    I had this issue when building a horizontal slider. I fixed it with vertical-align:top on my inline-block elements.

    ul {
        overflow-x: scroll;
        overflow-y:hidden;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    
    ul&::-webkit-scrollbar {
        display: none;
    }
    
    li {
        display: inline-block;
        vertical-align: top;
        width: 75px;
        padding-right: 20px;
        margin:20px 0 0 0;
    }
    
    0 讨论(0)
提交回复
热议问题