CSS padding overrides overflow?

对着背影说爱祢 提交于 2019-11-27 07:47:26

问题


Whats happening here ?

#agendaTitle{
    margin:0;
    padding:20em 0em 0em 0.75em;
    height:3em;
    overflow:hidden;
    background-color:#ff00ff;
}

The top padding is ridiculously high just to demonstrate - with a realistic requirement the div still increases height proportionally.

Surely the overflow:hidden means I should just see a block of colour ? Occurs in FF and IE


回答1:


In the default content-box box model on a display: block element, padding and height are added together to determine the total height of the element. overflow only affects things outside the box (outside of height + padding + border).

If you want border and padding subtracted from specified height rather than added, use box-sizing: border-box.




回答2:


Like this

demo

css

*{
    margin:0;
    padding:0;
}
#agendaTitle{
    margin:0;
    padding:0.75em 0em 0em 0.75em;
    height:3em;
    overflow:hidden;
    background-color:#ff00ff;
}



回答3:


You have set the height to 3em, so it will show the final height of ( 3em + 20em ).

And overflow will restrict only for height i.e 3em.



来源:https://stackoverflow.com/questions/19051411/css-padding-overrides-overflow

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!