CSS 指定溢出方向 应该如何设置?

html-css016

CSS 指定溢出方向 应该如何设置?,第1张

<div style="width:300pxheight:200pxborder:1px solid redposition:relativepadding:3px">

<div style="width:300pxheight:100pxborder:1px solid green">文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字</div>

<div style="position:absolutebottom:0pxheight:100pxoverflow:visiblewidth:300pxborder:1px solid blue">21321312 1287312 123 213 7912 3123192731237217 3123 721 3123 7219837 21321312 1287312 123 213 7912 3123192731237217 3123 721 3123 7219837 21321312 1287312 123 213 7912 3123192731237217 3123 721 3123 7219837</div>

</div>

下面蓝色边界的DIV里的数字覆盖了绿色边界的DIV,是向上溢出的

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