CSS的border属性加上后,为什么会无缘由的增加DIV块的大小呢?

我做过测试,一个DIV块,未指定它的高度,完全由内部元素撑起来的。此时,这个DIV块有无border属性,为什么会影响这个DIV块的高度啊?... 我做过测试,一个DIV块,未指定它的高度,完全由内部元素撑起来的。此时,这个DIV块有无border属性,为什么会影响这个DIV块的高度啊? 展开
 我来答
miniapp2S0kX4aPdBeON
2014-05-24 · TA获得超过753个赞
知道小有建树答主
回答量:750
采纳率:0%
帮助的人:634万
展开全部
是因为一个css设置:box-sizing

默认是content-box,实际width=设置width+边框+间距,而在border-box下,宽度设置好,边框和间距会自动调整宽度,满足设置的值。

语法
box-sizing:content-box | border-box
默认值:content-box
取值
content-box:
padding和border不被包含在定义的width和height之内。对象的实际宽度等于设置的width值和border、padding以及margin之和,即 ( Element width = width + border + padding+margin )
此属性表现为标准模式下的盒模型。
border-box:
padding和border被包含在定义的width和height之内。对象的实际宽度就等于设置的width值,即使定义有border和padding也不会改变对象的实际宽度,即 ( Element width = width )

参考百度百科:http://baike.baidu.com/link?url=gAYu8r1bOOTURx9cwRl_ltLeEisHwww-TWvOxngNc5gWS_bCl0pE869koc1s2xGVISwuOObHYNWa3Gy0FQYBuq
lucjydesigner
推荐于2017-10-03 · TA获得超过104个赞
知道答主
回答量:51
采纳率:0%
帮助的人:23.1万
展开全部
DIV所占区域大小(宽度举例)=
宽(width)+内边距(pading)+边框(border大小)+外边距(margin)

所以增加边框自然会增加整个div所占区域了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maloye
2018-07-31
知道答主
回答量:1
采纳率:0%
帮助的人:704
展开全部
  • 原因:总宽度width=设置的width+边框+间距,所以产生了内边距自动合并,导致div块变大。

  • 解决办法:设置box-sizing属性为border-box,这样宽度设置好,边框和间距会自动调整宽度,满足设置的值。

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……

参考资料

百度百科.百度百科[引用时间2018-4-10]

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-05-24
展开全部
你遇到的貌似是内边距自动合并的问题。
追问
恩,我刚调试了下,不过不是内边距合并,是外边距合并了
追答
外边距是不会合并的。实际上还是内边距合并了,只是看起来像外边距
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式