css 盒子溢出问题

html-css025

css 盒子溢出问题,第1张

css 默认盒子样式是 content-box, 宽高设定的是内容的宽高,设置边框可能会出现溢出的问题

可以通过设置 border-sizing:border-box

我更喜欢用border-box,因为border-box更灵活一点,举个例子,我在业务中遇到一个问题,我的商品详情页的一个盒子是高度自适应的,为146px,但是在ie8浏览器上显示为146.8px,如何解决,如果对盒子设置height:146px则会出现被撑高的情况,因为box-sizing默认为content-box,你给元素设置宽高,只是给元素内容设置宽高,你元素的总高度是heigtht + border + padding所以就会出现撑高,解决方法就是给当前的盒子设置box-sizing: border-box这样你设置高度为146px时,会默然将元素内容的高度进行相应减少来保证整体高度为146px,这个最大的好处就是你这个盒子有好几个,而且有不同的padding和border值,解决这个的最好的方法就是给盒子设置border-box

设置overflow-y: auto,让接下来的具体内容超出高度隐藏滚动条,但是可以滚动。 原理: 1.父元素设置overflow: hidden目的:1)子容器滚动条裁剪..设置overflow-y: auto,让接下来的具体内容超出高度隐藏滚动条,但是可以滚动。 原理: 1.父元素设置overflow: hidden目的:1)子容器滚动条裁剪..

这个问题的出现是因为第一行 两个 <li>高度不一致,左边第一个 比第二个高,导致 第三个 <li>往左浮动换行的时候被第一个<li>高于第二个<li>的部分卡住了,所以留了一个空白,你仔细看你截图的第一行 2个 <li>文字的位置,第二个文字要稍上一些。建议你给所有的<li>添加1像素可见边框 就可以明显看到问题了。为什么ie下有问题,火狐下没问题?因为你给所有的li都写死了高度,火狐下外部容器的高度不受内容高度的影响,设定多少就是多少,ie下如果内容高度高于外部容器高度,是会撑开的。

建议你把html结构代码也贴上来,这样好分析问题一些。