CSS3之border-sizing属性功能get!

本文探讨了在CSS中使用width:100%时文本框超出父容器的问题,并介绍了如何通过设置box-sizing:border-box来解决这一问题。文章还详细解释了content-box与border-box两种盒模型的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在进行文本框样式编写的过程中遇到一个问题:当我将input元素的宽度定义为 width:100%; 之后,如果再增加 padding 或者 border 则文本框会溢出父容器,是向外扩张的。
这里写图片描述

解决方法:

加入box-sizing:border-box;即可实现想要的效果。
这里写图片描述

box-sizing属性原理:

一般默认的盒子模型是box-sizing:content-box;

  • content-box
    这是box-sizing的默认属性值,即在CSS中定义的宽度和高度就对应到元素的内容框,元素的内边距和边框都是在CSS中定义的宽度和高度之外绘制的。这也就是为什么一开始我设置元素宽高之后再加入内边距和边框元素就会溢出父容器。

  • border-box
    该属性值在CSS中为元素设定的宽度和高度就决定了元素的边框盒,即元素是在已经设定好的宽度和高度之内进行内边距和边框的绘制,CSS中设定的宽度和高度减去边框和内间距才能得到元素内容所占的实际宽度和高度。

总结

  • box-sizing设为content-box时,元素css对应的宽高只包含元素的内容不包含padding和border;box-sizing设为border-box时,元素css对应的宽高包含元素的内容、padding和border三部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值